Pular para o conteúdo principal
Cole no ChatGPT/Claude e peça para resumir/gerar SDK.

Cotações por ticker

GET
/quotes/[ticker]

Retorna cotações para um único ticker — cotação atual, série histórica (diária ou intraday) ou dados para gráfico com presets prontos.

Suporta ações, fundos listados, BDRs, ETFs e indicadores macro (SELIC, IPCA, USD).

Cotações com 15 minutos de atraso

As cotações são fornecidas com 15 minutos de atraso em relação ao pregão. Os parâmetros type, interval, start_date e end_date estão disponíveis apenas para planos com acesso a cotações com 15 minutos de atraso.

Para planos sem esse acesso, a API retorna apenas cotações do dia anterior (D-1), sem parâmetros adicionais — somente adjusted é aceito.

Quando usar​

  • Obter a cotação atual de um ativo (type=current)
  • Construir gráficos OHLCV com presets prontos (type=chart)
  • Montar séries temporais diárias ou intraday (type=historical)
  • Fazer backtests e análises de performance com preços ajustados (adjusted=true)

Parâmetros de requisição​

ParâmetroLocalDescriçãoObrigatório
[ticker]URLTicker do ativo. Ex.: PETR4, HGLG11, IBOV.Obrigatório
typeQueryTipo de consulta: current, historical ou chart. Padrão: historical.Opcional
intervalQueryIntervalo em segundos (mínimo 60). Ignorado quando type=chart. Padrão: 86400 (diário).Opcional
start_dateQueryData inicial. Formato: YYYY-MM-DD. Ignorado quando type=chart.Opcional
end_dateQueryData final. Formato: YYYY-MM-DD. Ignorado quando type=chart.Opcional
adjustedQuerySe true, retorna preços ajustados por eventos corporativos.Opcional

Limites de intervalo​

  • interval mínimo: 60 segundos.
  • Intervalos intraday (60–86399) com start_date e end_date: janela máxima de 5 dias.
  • Intervalos diários (86400 ou mais): sem limite de janela.

Comportamento por type​

type=current​

Retorna a cotação spot (último preço disponível) como objeto único.

type=historical (padrão)​

Retorna uma lista de cotações:

  • interval=86400 (ou omitido): série diária.
  • interval diferente de 86400: série intraday (ex.: interval=60 para candles de 1 minuto).

type=chart​

Retorna um objeto chart com presets prontos — ignora interval, start_date e end_date:

PresetPeríodoIntervalo
1dHojeIntraday 60s
5dÚltimos 5 pregõesIntraday 60s
1MÚltimos 30 diasDiário
6MÚltimos 180 diasDiário
1YÚltimos 365 diasDiário
5YÚltimos 1825 diasDiário

Ajustado vs não ajustado​

  • adjusted=false (padrão): série bruta, como negociada no pregão.
  • adjusted=true: série ajustada por eventos corporativos (desdobramentos, grupamentos, proventos etc.). Datapoints incluem adjustment_factor; o dia corrente usa adjustment_factor = 1.
Dica prática

Para gráficos de longo prazo e cálculo de retornos, prefira adjusted=true. Para conferência operacional do dia, adjusted=false costuma ser suficiente.

Resposta​

CódigoDescrição
200Retorna as cotações.
400Parâmetros ausentes ou inválidos.
401Não autorizado.
404Sem dados ou ticker não encontrado.

Campos de cada datapoint​

CampoTipoDescrição
datestring (ISO 8601)Data/hora de referência da cotação.
open_pricenumberPreço de abertura.
close_pricenumberPreço de fechamento.
highest_pricenumberMaior preço no período.
lowest_pricenumberMenor preço no período.
volumenumberVolume financeiro negociado.
currencystringMoeda da cotação (ex.: BRL).
variationnumberVariação percentual no período.
variation_valuenumberVariação em valor absoluto.
adjustment_factornumberFator de ajuste por eventos corporativos. Presente quando adjusted=true; dia corrente usa 1.

Formato por type​

  • current: objeto único com os campos acima.
  • historical: lista de objetos com os campos acima.
  • chart: objeto { "chart": { "1d": [...], "5d": [...], "1M": [...], "6M": [...], "1Y": [...], "5Y": [...] } } onde cada array contém datapoints com os mesmos campos.

Exemplo — type=current​

{
"date": "2026-04-22T18:30:00.000Z",
"open_price": 32.16,
"close_price": 32.45,
"highest_price": 32.60,
"lowest_price": 31.90,
"volume": 757726088,
"currency": "BRL",
"variation": 0.0090,
"variation_value": 0.29
}

Exemplo — type=historical​

[
{
"date": "2026-04-22T22:00:00.000Z",
"open_price": 32.16,
"close_price": 32.00,
"highest_price": 32.18,
"lowest_price": 31.90,
"volume": 757726088,
"currency": "BRL",
"variation": -0.0050,
"variation_value": -0.16,
"adjustment_factor": 0.8680821961067703
}
]

Exemplo — type=chart (resumido)​

{
"chart": {
"1d": [
{
"date": "2026-04-22T13:00:00.000Z",
"open_price": 32.10,
"close_price": 32.15,
"highest_price": 32.20,
"lowest_price": 32.05,
"volume": 12500000,
"currency": "BRL",
"variation": 0.0016,
"variation_value": 0.05
}
],
"5d": [],
"1M": [],
"6M": [],
"1Y": [],
"5Y": []
}
}
Boas práticas
  • Use start_date e end_date para limitar payload e acelerar respostas no modo historical.
  • Para dashboards, cacheie a última resposta e atualize periodicamente.
  • type=chart é ideal para UI com seletores de período — os presets já vêm prontos.
  • Para consultas de múltiplos tickers em uma única chamada, use Cotações em lote.