Integre cotações da B3 em minutos! A brapi.dev oferece uma API B3 gratuita e completa para desenvolvedores. Obtenha cotações em tempo real de ações, FIIs, BDRs, criptomoedas e moedas com exemplos prontos em JavaScript, Python e curl.
B3 API Gratuita: O Que É e Como Funciona
A brapi.dev oferece uma API B3 gratuita que permite acessar cotações em tempo real de todos os ativos negociados na bolsa brasileira. Diferente da API oficial da B3 (que é paga e voltada para uso institucional), a brapi.dev democratiza o acesso a dados financeiros para desenvolvedores, estudantes e entusiastas.
Por Que Usar uma API B3?
- Automatize análises: Crie dashboards, alertas e relatórios automatizados
- Desenvolva aplicações: Apps de investimento, robôs de trading, planilhas inteligentes
- Aprenda programação: Projetos práticos com dados reais do mercado
- Economize tempo: Dados padronizados e prontos para uso, sem scraping
Como Usar a API B3 Gratuita: Passo a Passo
1. Crie Sua Conta Gratuita
Acesse brapi.dev e crie uma conta gratuita. Você receberá um token de API para autenticar suas requisições.
2. Sua Primeira Requisição com curl
O jeito mais simples de testar a API é usando curl no terminal:
# Consultar cotação de PETR4 (Petrobras)
curl "https://brapi.dev/api/quote/PETR4"
# Consultar múltiplas ações de uma vez
curl "https://brapi.dev/api/quote/PETR4,VALE3,ITUB4"
# Com token de autenticação (para mais recursos)
curl -H "Authorization: Bearer SEU_TOKEN" \
"https://brapi.dev/api/quote/PETR4?fundamental=true"3. Resposta da API B3
A API retorna JSON com todos os dados de cotação:
{
"results": [
{
"symbol": "PETR4",
"shortName": "PETROBRAS PN",
"currency": "BRL",
"regularMarketPrice": 37.85,
"regularMarketChange": 0.45,
"regularMarketChangePercent": 1.2,
"regularMarketDayHigh": 38.20,
"regularMarketDayLow": 37.10,
"regularMarketVolume": 45678900,
"marketCap": 485000000000
}
],
"requestedAt": "2026-01-07T14:30:00.000Z"
}Exemplos de Código: API B3 em JavaScript e Python
JavaScript/Node.js: Consultar Cotações
// Usando fetch (navegador ou Node.js 18+)
async function getCotacao(ticker) {
const response = await fetch(`https://brapi.dev/api/quote/${ticker}`);
const data = await response.json();
return data.results[0];
}
// Exemplo de uso
const petr4 = await getCotacao('PETR4');
console.log(`PETR4: R$ ${petr4.regularMarketPrice}`);
console.log(`Variação: ${petr4.regularMarketChangePercent.toFixed(2)}%`);JavaScript: Múltiplas Ações com Async/Await
// Consultar várias ações de uma vez
async function getCarteira(tickers) {
const tickerString = tickers.join(',');
const response = await fetch(`https://brapi.dev/api/quote/${tickerString}`);
const data = await response.json();
return data.results.map(acao => ({
ticker: acao.symbol,
preco: acao.regularMarketPrice,
variacao: acao.regularMarketChangePercent
}));
}
// Minha carteira de ações
const carteira = await getCarteira(['PETR4', 'VALE3', 'ITUB4', 'BBDC4']);
console.table(carteira);Python: API B3 com Requests
import requests
def get_cotacao(ticker):
"""Consulta cotação de uma ação na B3 via API gratuita"""
url = f"https://brapi.dev/api/quote/{ticker}"
response = requests.get(url)
data = response.json()
return data['results'][0]
# Exemplo de uso
petr4 = get_cotacao('PETR4')
print(f"PETR4: R$ {petr4['regularMarketPrice']}")
print(f"Variação: {petr4['regularMarketChangePercent']:.2f}%")
# Consultar múltiplas ações
def get_carteira(tickers):
"""Consulta várias ações de uma vez"""
ticker_string = ','.join(tickers)
url = f"https://brapi.dev/api/quote/{ticker_string}"
response = requests.get(url)
return response.json()['results']
carteira = get_carteira(['PETR4', 'VALE3', 'ITUB4'])
for acao in carteira:
print(f"{acao['symbol']}: R$ {acao['regularMarketPrice']}")Python: Dados Históricos para Backtesting
import requests
import pandas as pd
def get_historico(ticker, range='1y', interval='1d'):
"""Obtém dados históricos para análise e backtesting"""
url = f"https://brapi.dev/api/quote/{ticker}"
params = {
'range': range, # 1d, 5d, 1mo, 3mo, 6mo, 1y, 5y, max
'interval': interval # 1d, 1wk, 1mo
}
response = requests.get(url, params=params)
data = response.json()['results'][0]
# Converter para DataFrame
historico = pd.DataFrame(data['historicalDataPrice'])
historico['date'] = pd.to_datetime(historico['date'], unit='s')
return historico
# Exemplo: últimos 6 meses de VALE3
vale3_hist = get_historico('VALE3', range='6mo')
print(vale3_hist.head())Endpoints Disponíveis na API B3 Gratuita
A brapi.dev oferece diversos endpoints além de cotações básicas:
Cotações de Ações, FIIs e BDRs
| Endpoint | Descrição | Exemplo |
|---|---|---|
/api/quote/{ticker} | Cotação atual | /api/quote/PETR4 |
/api/quote/{ticker,ticker} | Múltiplas ações | /api/quote/PETR4,VALE3 |
/api/quote/list | Listar todas ações | /api/quote/list?limit=100 |
Dados Históricos e Fundamentalistas
| Parâmetro | Valores | Descrição |
|---|---|---|
range | 1d, 5d, 1mo, 3mo, 6mo, 1y, 5y, max | Período histórico |
interval | 1d, 1wk, 1mo | Intervalo dos dados |
fundamental | true/false | Incluir dados fundamentalistas |
dividends | true/false | Incluir histórico de dividendos |
Outros Endpoints
- Criptomoedas:
/api/v2/crypto- Bitcoin, Ethereum e mais - Moedas:
/api/v2/currency- Dólar, Euro, Libra - Inflação:
/api/v2/inflation- IPCA, IGPM - SELIC:
/api/v2/prime-rate- Taxa básica de juros
Consulte a documentação completa para todos os endpoints e parâmetros.
Casos de Uso: O Que Você Pode Construir
1. Dashboard de Investimentos
Crie um painel personalizado com suas ações favoritas:
// Atualizar dashboard a cada 5 minutos
setInterval(async () => {
const carteira = await getCarteira(['PETR4', 'VALE3', 'ITUB4']);
atualizarDashboard(carteira);
}, 5 * 60 * 1000);2. Alertas de Preço
Configure notificações quando uma ação atingir determinado preço:
def verificar_alerta(ticker, preco_alvo):
cotacao = get_cotacao(ticker)
if cotacao['regularMarketPrice'] >= preco_alvo:
enviar_notificacao(f"{ticker} atingiu R$ {preco_alvo}!")3. Planilha Google Sheets
Use Apps Script para atualizar cotações automaticamente:
function getCotacaoBrapi(ticker) {
const url = `https://brapi.dev/api/quote/${ticker}`;
const response = UrlFetchApp.fetch(url);
const data = JSON.parse(response.getContentText());
return data.results[0].regularMarketPrice;
}
// Na planilha: =getCotacaoBrapi("PETR4")4. Bot de Telegram/Discord
Crie um bot que responde com cotações:
# Comando: /cotacao PETR4
def comando_cotacao(ticker):
acao = get_cotacao(ticker)
return f"""
📈 {acao['symbol']} - {acao['shortName']}
💰 Preço: R$ {acao['regularMarketPrice']:.2f}
📊 Variação: {acao['regularMarketChangePercent']:.2f}%
📦 Volume: {acao['regularMarketVolume']:,}
"""API B3 vs API Oficial: Comparativo
| Característica | brapi.dev | API B3 Oficial |
|---|---|---|
| Preço | Gratuito (plano básico) | Pago (institucional) |
| Cadastro | Simples, online | Burocrático, contratos |
| Público-alvo | Desenvolvedores, estudantes | Instituições, corretoras |
| Dados em tempo real | Sim | Sim |
| Dados históricos | Sim | Sim |
| Fundamentalistas | Sim | Limitado |
| Criptomoedas | Sim | Não |
| Moedas | Sim | Não |
| Suporte | Documentação + comunidade | Suporte comercial |
Limites e Planos da API
Plano Gratuito
- ✅ Cotações ilimitadas para ações populares (PETR4, VALE3, ITUB4, etc.)
- ✅ Dados básicos de cotação
- ✅ Ideal para projetos pessoais e aprendizado
Planos Pagos
- ✅ Todas as ações, FIIs, BDRs e ETFs
- ✅ Dados fundamentalistas completos
- ✅ Maior rate limit
- ✅ Suporte prioritário
Consulte os planos disponíveis para mais detalhes.
Perguntas Frequentes sobre a API B3
Existe API B3 gratuita?
Sim! A brapi.dev oferece uma API B3 gratuita com cotações de ações, FIIs, BDRs e ETFs. O plano gratuito permite consultas ilimitadas para ações populares como PETR4, VALE3, ITUB4 e acesso a dados básicos de cotação, variação e volume.
Como obter cotações da B3 via API?
Para obter cotações da B3 via API, use a brapi.dev. Basta fazer uma requisição GET para https://brapi.dev/api/quote/PETR4 (substituindo PETR4 pelo ticker desejado). A resposta inclui preço atual, variação, volume e outros dados em tempo real.
A API B3 oficial é gratuita?
A API oficial da B3 (Market Data) é paga e voltada para uso profissional/institucional. Para desenvolvedores e projetos pessoais, a brapi.dev oferece uma alternativa gratuita com dados em tempo real de ações, FIIs, criptomoedas e moedas.
Como usar a API de cotações em JavaScript?
Em JavaScript, use fetch ou axios para chamar a API. Veja os exemplos completos na seção acima. A resposta é JSON padronizado com todos os dados de cotação.
Quais dados a API B3 gratuita retorna?
A API brapi.dev retorna: preço atual, variação percentual e absoluta, volume, abertura, máxima, mínima, fechamento anterior, market cap, P/L, dividend yield, dados históricos, demonstrativos financeiros (DRE, Balanço) e muito mais.
Próximos Passos
Agora que você sabe como usar a API B3 gratuita:
- Crie sua conta gratuita e obtenha seu token
- Explore a documentação completa com todos os endpoints
- Consulte cotações de moedas como Dólar e Euro
- Use a calculadora de dividendos para simular investimentos
Dúvidas? Entre em contato pelo suporte ou consulte a documentação.
