O preço e o histórico.
Para sua aplicação.
Consulte os índices em BRL e USD e nossos candles históricos em JSON, sem chave de acesso.
Preço atual
GET /api/v1/bitcoin/price/?currency=BRL
GET /api/v1/bitcoin/price/?currency=USD
A resposta informa price, currency, as_of, valid_until, source, status e refresh_interval_seconds. As moedas aceitas são BRL e USD; o padrão é BRL. O preço atual usa exclusivamente o índice NB. A resposta também inclui sats_per_brl para BRL ou sats_per_usd para USD: quantos satoshis correspondem a uma unidade da moeda. O campo original price continua sendo o preço de 1 BTC em moeda fiduciária.
Histórico de candles
GET /api/v1/bitcoin/history/?currency=BRL&range=7d&dataset=index
Cada candle contém time (Unix UTC em segundos), open, high, low, close e observations. Os campos originais de preços continuam na moeda solicitada. Cada candle também contém um objeto sats_per_brl ou sats_per_usd, com open, high, low e close em sats por 1 BRL ou 1 USD. A máxima em sats é calculada usando a mínima em moeda fiduciária, e a mínima em sats usa a máxima em moeda fiduciária. Intervalos sem observações não são preenchidos. bucket_seconds informa a duração do candle; são retornados no máximo 2.500 candles.
| Parâmetro | Valores | Padrão |
|---|---|---|
| currency | BRL, USD | BRL |
| range | 24h, 7d, 30d, 3m, 6m, 1y, 5y, 10y, all | 24h |
| dataset | combined, index, legacy, wordpress | combined |
combined reúne o histórico anterior até a transição e o novo índice a partir dela, sem duplicar as observações. transition_at identifica a mudança de origem. index contém somente observações reais do índice NB, a partir de seu início. legacy oferece o histórico anterior e as observações Coinbase preservadas. wordpress oferece o acervo WordPress em BRL, cuja moeda é identificada pelo campo currency_inferred. Esse conjunto não aceita USD.
Cotações em sats
1 BTC = 100.000.000 sats. A conversão é 100000000 / preço de 1 BTC, arredondada ao satoshi inteiro mais próximo. sats_field identifica o campo presente e sats_rounding informa nearest_whole_satoshi. A conversão usa a mesma observação armazenada, sem novas chamadas às corretoras. Campos de preço fiduciário preservam sua precisão original para cálculos que precisem de mais detalhe.
// Estrutura ilustrativa de uma resposta em USD:
{"currency":"USD","price":80000,"sats_per_usd":1250,
"sats_field":"sats_per_usd","sats_rounding":"nearest_whole_satoshi"}
// Objeto adicional dentro de um candle em BRL:
{"sats_per_brl":{"open":250,"high":286,"low":222,"close":244}}Exemplo em JavaScript
const response = await fetch('https://noticiasbitcoin.com.br/api/v1/bitcoin/price/?currency=USD');
if (!response.ok) throw new Error('Preço indisponível');
const bitcoin = await response.json();
console.log(bitcoin.price, bitcoin.currency, bitcoin.as_of);
console.log(bitcoin.sats_per_usd); // sats por 1 dólarAtualização e limites
Os índices são recalculados aproximadamente a cada 60 segundos. Reutilize a resposta até a próxima atualização. As consultas leem dados armazenados; não fazem chamadas às corretoras. A API aceita GET, HEAD e OPTIONS, com CORS para leitura em outros sites. Ela não oferece compra, venda ou execução de ordens.
O limite é de 60 requisições por minuto por endereço IP, com uma pequena margem de até 10 requisições em rajada. O excesso retorna HTTP 429; aguarde o tempo indicado em Retry-After.
Erros e disponibilidade
HTTP 400 indica parâmetro inválido; 405, método não permitido; 429, limite de consultas; 503, índice temporariamente indisponível ou sem consenso recente. Em 503, não use um valor antigo como preço atual. O histórico permanece consultável quando existem observações armazenadas. A API não oferece garantia de disponibilidade ou latência.
Horários ISO 8601 são retornados em UTC. as_of é o horário do cálculo ou da observação armazenada, e não o horário de uma negociação única do índice. O horário UTC dos candles identifica o início de cada intervalo.