Precisa de cotações da bolsa brasileira em uma aplicação, planilha ou dashboard? A brapi.dev permite consultar ações, FIIs, ETFs e BDRs por uma API JSON simples, com exemplos em curl, JavaScript e Python.
Resposta Rápida
A forma mais simples de consultar uma ação brasileira é:
curl "https://brapi.dev/api/quote/PETR4"Para múltiplos ativos:
curl "https://brapi.dev/api/quote/PETR4,VALE3,ITUB4"Para recursos autenticados, envie seu token no cabeçalho:
curl -H "Authorization: Bearer SEU_TOKEN" \
"https://brapi.dev/api/quote/PETR4?modules=defaultKeyStatistics,financialData÷nds=true"O Que a API Retorna
O endpoint /api/quote/{tickers} retorna uma resposta JSON padronizada. Os campos disponíveis dependem dos parâmetros usados e do plano.
{
"results": [
{
"symbol": "PETR4",
"shortName": "PETROBRAS PN",
"currency": "BRL",
"regularMarketPrice": 37.85,
"regularMarketChange": 0.45,
"regularMarketChangePercent": 1.2,
"regularMarketVolume": 45678900
}
],
"requestedAt": "2026-04-23T14:30:00.000Z",
"took": 245
}Use os campos de preço, variação e volume para dashboards simples. Para análise fundamentalista, inclua modules=defaultKeyStatistics,financialData. Para dividendos, inclua dividends=true.
JavaScript: Consultar Cotações
async function getCotacao(ticker, token) {
const response = await fetch(`https://brapi.dev/api/quote/${ticker}`, {
headers: token ? { Authorization: `Bearer ${token}` } : {},
});
if (!response.ok) {
throw new Error(`Erro ${response.status}`);
}
const data = await response.json();
return data.results[0];
}
const petr4 = await getCotacao('PETR4', process.env.BRAPI_TOKEN);
console.log(`${petr4.symbol}: R$ ${petr4.regularMarketPrice}`);JavaScript: Carteira com Vários Tickers
async function getCarteira(tickers, token) {
const symbols = tickers.join(',');
const response = await fetch(`https://brapi.dev/api/quote/${symbols}`, {
headers: token ? { Authorization: `Bearer ${token}` } : {},
});
const data = await response.json();
return data.results.map((ativo) => ({
ticker: ativo.symbol,
preco: ativo.regularMarketPrice,
variacao: ativo.regularMarketChangePercent,
}));
}
const carteira = await getCarteira(['PETR4', 'VALE3', 'ITUB4'], process.env.BRAPI_TOKEN);
console.table(carteira);Python: Cotações com requests
import os
import requests
def get_cotacao(ticker: str):
token = os.getenv("BRAPI_TOKEN")
headers = {"Authorization": f"Bearer {token}"} if token else {}
response = requests.get(
f"https://brapi.dev/api/quote/{ticker}",
headers=headers,
timeout=15,
)
response.raise_for_status()
return response.json()["results"][0]
petr4 = get_cotacao("PETR4")
print(f"{petr4['symbol']}: R$ {petr4['regularMarketPrice']}")Python: Histórico para Análise
import os
import pandas as pd
import requests
def get_historico(ticker: str, range_: str = "1y", interval: str = "1d"):
token = os.getenv("BRAPI_TOKEN")
headers = {"Authorization": f"Bearer {token}"} if token else {}
response = requests.get(
f"https://brapi.dev/api/quote/{ticker}",
params={"range": range_, "interval": interval},
headers=headers,
timeout=15,
)
response.raise_for_status()
result = response.json()["results"][0]
df = pd.DataFrame(result["historicalDataPrice"])
df["date"] = pd.to_datetime(df["date"], unit="s")
return df
historico = get_historico("VALE3", "6mo", "1d")
print(historico.tail())Principais Parâmetros
| Parâmetro | Uso |
|---|---|
modules=defaultKeyStatistics,financialData | Inclui indicadores e dados fundamentalistas disponíveis |
dividends=true | Inclui dados de dividendos |
range=1y | Define período histórico |
interval=1d | Define granularidade do histórico |
modules= | Solicita módulos específicos quando disponíveis |
Exemplo:
curl -H "Authorization: Bearer SEU_TOKEN" \
"https://brapi.dev/api/quote/TAEE11?modules=defaultKeyStatistics,financialData÷nds=true&range=1y&interval=1d"Endpoints Relacionados
| Endpoint | Quando usar |
|---|---|
/api/quote/{tickers} | Cotação de um ou vários ativos |
/api/quote/list | Listagem paginada de ativos |
/api/available | Ativos e metadados disponíveis |
/api/v2/crypto | Criptomoedas |
/api/v2/currency | Moedas e câmbio (cotações em tempo real) |
/api/v2/currency/historical | Histórico PTAX para USD, EUR, GBP, JPY e mais |
/api/v2/macro | Selic, CDI, IPCA, IGP-M, TR e mais 10 indicadores BCB |
Consulte a documentação completa para parâmetros, exemplos e limites de uso.
Casos de Uso
Dashboard de Carteira
Você pode atualizar a carteira em intervalos definidos e renderizar preço, variação e valor total. Em produção, use cache para evitar chamadas desnecessárias.
const tickers = ['PETR4', 'VALE3', 'ITUB4', 'TAEE11'];
const carteira = await getCarteira(tickers, process.env.BRAPI_TOKEN);Alertas de Preço
def alerta_preco(ticker, preco_alvo):
cotacao = get_cotacao(ticker)
preco = cotacao["regularMarketPrice"]
if preco >= preco_alvo:
return f"{ticker} atingiu R$ {preco_alvo}"
return NoneGoogle Sheets
Para planilhas, use Apps Script com UrlFetchApp. Veja o tutorial completo em Integração Google Sheets com Cotações da Bolsa Brasileira.
Boas Práticas
Evite scraping de sites financeiros quando houver API. APIs são mais estáveis, retornam JSON, respeitam limites e reduzem risco de quebra quando uma página muda layout.
Em produção, configure timeout, tratamento de erro, cache e logs. Para dashboards, não atualize a cada segundo se o usuário só precisa de visão de carteira a cada poucos minutos.
Perguntas Frequentes
Existe API de ações brasileiras gratuita?
Sim. A brapi.dev oferece uma API para consultar cotações e dados de ativos da bolsa brasileira, com plano gratuito e recursos adicionais nos planos pagos.
Preciso de token?
Algumas consultas básicas podem funcionar sem token, mas o token é recomendado e necessário para recursos avançados, maior cobertura e limites superiores.
Posso consultar FIIs e ETFs?
Sim. Use o ticker negociado na bolsa brasileira, como MXRF11, HGLG11, BOVA11, IVVB11 ou WRLD11, conforme disponibilidade.
A resposta é em tempo real?
A API foi construída para entregar dados recentes de mercado, mas disponibilidade, atraso e cobertura podem variar conforme ativo, plano e fonte de dados.
Próximos Passos
Crie sua conta em brapi.dev, gere seu token e leia a documentação. Para integrações práticas, veja também API de Ações Brasileiras com Python, API de Ações Brasileiras com TypeScript e Google Sheets com cotações da bolsa brasileira.
