Documentação da brapi
A brapi é uma API REST de dados do mercado financeiro brasileiro. Você pede um ticker e recebe JSON.
Comece agora
Este comando funciona sem cadastro e sem token. Cole no terminal:
curl "https://brapi.dev/api/v2/stocks/quote?symbols=PETR4"{
"results": [
{
"requestedSymbol": "PETR4",
"symbol": "PETR4",
"changed": false,
"data": {
"shortName": "PETROBRAS PN",
"currency": "BRL",
"regularMarketPrice": 38.5,
"regularMarketChangePercent": 0.78,
"regularMarketVolume": 45678901,
"marketCap": 503100000000
}
}
],
"requestedAt": "2026-06-14T17:08:02.000Z",
"took": 245
}PETR4, MGLU3, VALE3 e ITUB4 respondem sem token, com todos os recursos. Qualquer outro ticker exige autenticação.
Autentique
Crie uma conta e copie o token em Chaves de API. Envie no header:
curl -H "Authorization: Bearer SEU_TOKEN" \
"https://brapi.dev/api/v2/stocks/quote?symbols=PETR4,VALE3"Ferramentas que não enviam headers, como Google Sheets, Excel e Notion, aceitam
?token=SEU_TOKEN na URL. O token vaza para o histórico do navegador e para os
logs do servidor, então use header sempre que der.
Nunca coloque o token em código que roda no navegador. Chame a brapi a partir do seu backend.
Onde está o dado que você precisa
Ações
| Dado | Endpoint |
|---|---|
| Preço e variação de hoje | /api/v2/stocks/quote |
| Série histórica de preços | /api/v2/stocks/historical |
| Dividendos e JCP | /api/v2/stocks/dividends |
| Cadastro da empresa | /api/v2/stocks/profile |
| P/L, P/VP, dividend yield | /api/v2/stocks/statistics |
| Receita, EBITDA, margens | /api/v2/stocks/financial-data |
| Balanço patrimonial | /api/v2/stocks/balance-sheet |
| DRE | /api/v2/stocks/income-statement |
| Fluxo de caixa | /api/v2/stocks/cash-flow |
| DVA | /api/v2/stocks/value-added |
Encontrar e validar tickers
| Dado | Endpoint |
|---|---|
| Buscar e filtrar símbolos | /api/v2/tickers |
| Normalizar um ticker antigo | /api/v2/tickers/resolve |
| Histórico de mudança de código | /api/v2/tickers/renames |
| Saber o que existe para um ativo | /api/v2/tickers/coverage |
Fundos imobiliários
| Dado | Endpoint |
|---|---|
| Screener de FIIs | /api/v2/fii/list |
| P/VP, dividend yield, patrimônio | /api/v2/fii/indicators |
| Rendimentos e amortizações | /api/v2/fii/dividends |
| Preço histórico da cota | /api/v2/fii/historical |
| Relatório mensal da CVM | /api/v2/fii/reports |
| Imóveis e vacância | /api/v2/fii/properties |
| Carteira: CRIs, cotas, terrenos | /api/v2/fii/portfolio |
Cada um desses tem a versão histórica. Veja a seção completa.
Outros fundos
FIAGRO, FI-Infra, FIF, FIDC e FIP ficam em /api/v2/funds/*. Nem todo ticker
terminado em 11 é FII: JURO11 é FI-Infra.
| Dado | Endpoint |
|---|---|
| Descobrir o tipo do fundo | /api/v2/funds/list |
| Indicadores atuais | /api/v2/funds/indicators |
| Valor patrimonial por cota | /api/v2/funds/nav/history |
| Carteira e perfil | /api/v2/funds/portfolio |
| Relatórios por família | FIAGRO, FIDC, FIP |
Renda fixa e macroeconomia
| Dado | Endpoint |
|---|---|
| Títulos do Tesouro em oferta | /api/v2/treasury/list |
| Taxa e preço de um título | /api/v2/treasury/indicators |
| SELIC, CDI, IPCA, IGP-M, PIB | /api/v2/macro |
| Último valor de cada série | /api/v2/macro/latest |
Derivativos
| Dado | Endpoint |
|---|---|
| Cadeia de opções | /api/v2/options/chain |
| Gregas e volatilidade implícita | /api/v2/options/analytics |
| Contratos futuros | /api/v2/futures/list |
| Curva de vencimentos | /api/v2/futures/term-structure |
| Opções sobre futuros | /api/v2/futures/options/* |
Câmbio e cripto
| Dado | Endpoint |
|---|---|
| Cotação de moedas | /api/v2/currency |
| Histórico de câmbio | /api/v2/currency/historical |
| Cotação de criptomoedas | /api/v2/crypto |
Regras que valem para todos os endpoints
Toda requisição parte de https://brapi.dev/api.
Endpoints de mercado aceitam symbols=PETR4,VALE3 e consultam vários ativos na
mesma chamada. Isso gasta uma requisição, não várias.
A resposta traz results[], com um item por ticker pedido, e o payload em
results[].data.
Datas em parâmetros usam YYYY-MM-DD. startDate e endDate recortam a
janela. Fundamentos aceitam period=annual ou period=quarterly, e alguns
endpoints também aceitam mode=current ou mode=history.
Quando você pede um ticker que mudou de código, a brapi resolve para o atual e
marca changed: true. Compare requestedSymbol com symbol.
Próximos passos
Exemplos de código
Python, TypeScript, PHP, Java, C#, Google Sheets, Excel, Notion e WordPress.
SDKs oficiais
TypeScript e Python, com tipos, retry e erros tratados.
Servidor MCP
Consulte o mercado em linguagem natural no Claude, ChatGPT ou Cursor.
Construir com IA
Use a brapi no Lovable, v0, Bolt.new, Replit, Codex, Cursor, Claude Code e agentes autônomos.
Autenticação e limites
Tokens, headers de rate limit e o que fazer em um 429.
Schema OpenAPI
Gere cliente e tipos a partir do documento OpenAPI 3.1.
Planos
Volume, frequência e histórico disponíveis em cada plano.