Se você desenvolve aplicações financeiras para o mercado brasileiro, já deve ter enfrentado o dilema: usar a API do Yahoo Finance ou buscar alternativas? Neste comparativo técnico, analisamos brapi.dev vs Yahoo Finance API em detalhes.
Resumo Executivo
| Critério | brapi.dev | Yahoo Finance |
|---|---|---|
| Foco no Brasil | ✅ Especializada | ⚠️ Global (BR secundário) |
| Documentação PT-BR | ✅ Completa | ❌ Apenas inglês |
| Dados Fundamentalistas | ✅ Completos | ⚠️ Limitados para BR |
| Suporte | ✅ Brasileiro | ❌ Inexistente |
| Preço | ✅ Gratuito + Planos | ⚠️ Complexo |
| Estabilidade | ✅ 99.9% uptime | ⚠️ Instável para BR |
| Facilidade de Uso | ✅ Simples | ⚠️ Complexa |
Veredito Rápido: Para o mercado brasileiro, a brapi.dev oferece melhor experiência, dados mais confiáveis e suporte em português.
O Problema com Yahoo Finance para o Brasil
1. Instabilidade e Mudanças Frequentes
O Yahoo Finance não oferece uma API oficial estável. Desenvolvedores dependem de:
- Scraping de páginas (pode quebrar a qualquer momento)
- APIs não documentadas (sem garantias)
- Bibliotecas de terceiros (yfinance, etc.)
// Usando yfinance (Python) - pode falhar sem aviso
// import yfinance as yf
// petr4 = yf.Ticker("PETR4.SA") // Sufixo .SA obrigatório
// dados = petr4.history(period="1mo") // Frequentemente retorna erro2. Dados Brasileiros Incompletos
| Dado | Yahoo Finance | brapi.dev |
|---|---|---|
| Cotações tempo real | ⚠️ 15-20 min delay | ✅ 5-15 min (por plano) |
| Dividendos completos | ⚠️ Parcial | ✅ Histórico completo |
| Balanço Patrimonial | ⚠️ Formato US GAAP | ✅ Padrão brasileiro |
| DRE | ⚠️ Incompleto | ✅ Completo |
| FIIs | ⚠️ Dados básicos | ✅ Dados detalhados |
| BDRs | ⚠️ Confuso | ✅ Organizado |
3. Sem Suporte
- Yahoo: Sem canal de suporte, sem SLA, sem garantias
- brapi: Suporte brasileiro, documentação em português, comunidade ativa
Comparativo Técnico Detalhado
Facilidade de Integração
brapi.dev - Simples e Direto:
const response = await fetch('https://brapi.dev/api/quote/PETR4');
const { results } = await response.json();
console.log(`Preço: R$ ${results[0].regularMarketPrice}`);
// Preço: R$ 37.85Yahoo Finance - Mais Complexo:
// Precisa de biblioteca externa (yfinance)
// Sufixo .SA obrigatório para ações brasileiras
// Pode falhar sem aviso ou retornar dados vazios
// import yfinance as yf
// ticker = yf.Ticker("PETR4.SA")
// info = ticker.info // Frequentemente retorna vazio para BREstrutura de Resposta
brapi.dev - JSON Limpo e Consistente:
{
"results": [{
"symbol": "PETR4",
"shortName": "PETROBRAS PN",
"longName": "Petróleo Brasileiro S.A. - Petrobras",
"currency": "BRL",
"regularMarketPrice": 37.85,
"regularMarketChange": 0.45,
"regularMarketChangePercent": 1.20,
"regularMarketVolume": 45678900,
"regularMarketDayHigh": 38.10,
"regularMarketDayLow": 37.20
}],
"requestedAt": "2026-01-15T14:30:00.000Z",
"took": "45ms"
}Yahoo Finance - Estrutura Inconsistente:
A estrutura de resposta do Yahoo Finance pode variar sem aviso. Campos podem estar ausentes, formatos de data são inconsistentes, e valores podem vir em formatos diferentes dependendo do ativo.
Múltiplas Ações em Uma Requisição
brapi.dev - Nativo:
// Até 20 ações em uma única chamada
const response = await fetch('https://brapi.dev/api/quote/PETR4,VALE3,ITUB4,BBDC4,ABEV3');
const { results } = await response.json();
results.forEach(acao => {
console.log(`${acao.symbol}: R$ ${acao.regularMarketPrice}`);
});Yahoo Finance - Workaround:
// Funciona, mas é menos confiável
// Cada ticker precisa do sufixo .SA e pode falhar individualmente
// tickers = yf.Tickers("PETR4.SA VALE3.SA ITUB4.SA")Dados Fundamentalistas
Módulos Disponíveis
| Módulo | brapi.dev | Yahoo Finance |
|---|---|---|
| Balanço Patrimonial | ✅ | ⚠️ Parcial |
| DRE | ✅ | ⚠️ Parcial |
| Fluxo de Caixa | ✅ | ⚠️ Parcial |
| DVA | ✅ | ❌ |
| Indicadores (P/L, ROE) | ✅ | ⚠️ Alguns |
| Dividendos Históricos | ✅ | ⚠️ Incompleto |
| Estatísticas Chave | ✅ | ⚠️ Parcial |
Exemplo: Dados Fundamentalistas
brapi.dev:
// Dados completos em uma chamada
const response = await fetch(
'https://brapi.dev/api/quote/ITUB4?modules=balanceSheetHistory,incomeStatementHistory,defaultKeyStatistics',
{ headers: { Authorization: `Bearer ${token}` } }
);
const { results } = await response.json();
const dados = results[0];
const stats = dados.defaultKeyStatistics;
console.log(`ROE: ${(stats.returnOnEquity * 100).toFixed(2)}%`);
console.log(`P/L: ${stats.trailingPE.toFixed(2)}`);
console.log(`P/VP: ${stats.priceToBook.toFixed(2)}`);Yahoo Finance:
// Dados podem estar incompletos ou indisponíveis para ações brasileiras
// Campos como ROE frequentemente retornam N/A para empresas BR
// ticker.balance_sheet retorna DataFrame (formato diferente)Dados Históricos
Comparação de Histórico
brapi.dev:
const response = await fetch(
'https://brapi.dev/api/quote/PETR4?range=1y&interval=1d',
{ headers: { Authorization: `Bearer ${token}` } }
);
const { results } = await response.json();
const historico = results[0].historicalDataPrice;
// Últimos 5 dias
historico.slice(-5).forEach(candle => {
console.log(`${candle.date}: O:${candle.open} H:${candle.high} L:${candle.low} C:${candle.close}`);
});Yahoo Finance:
// Retorna DataFrame pandas (mais pesado)
// Estrutura diferente do JSON
// ticker.history(period="1y", interval="1d")Intervalos Disponíveis
| Intervalo | brapi.dev | Yahoo Finance |
|---|---|---|
| 1 minuto | ✅ Pro | ⚠️ Instável |
| 5 minutos | ✅ Pro | ⚠️ Instável |
| 15 minutos | ✅ | ⚠️ |
| 1 hora | ✅ | ✅ |
| 1 dia | ✅ | ✅ |
| 1 semana | ✅ | ✅ |
| 1 mês | ✅ | ✅ |
Preços e Limites
Comparativo de Planos
brapi.dev - Transparente:
| Plano | Preço | Requisições/mês | Delay |
|---|---|---|---|
| Gratuito | R$ 0 | 15.000 | 30 min |
| Startup | R$ 59,99 | 150.000 | 15 min |
| Pro | R$ 99,99 | 500.000 | 5 min |
Yahoo Finance - Complexo:
- API oficial (RapidAPI): ~$9-$49/mês para volumes baixos
- Bibliotecas gratuitas: Sem garantia, pode quebrar
- Limites não documentados
- Rate limiting agressivo
Custo-Benefício
ANÁLISE DE CUSTO PARA 100.000 REQ/MÊS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
brapi.dev Startup: R$ 59,99/mês
✅ Suporte brasileiro
✅ Documentação PT-BR
✅ Dados otimizados para BR
✅ SLA garantido
Yahoo Finance (RapidAPI): ~$29/mês (~R$ 150)
❌ Sem suporte
❌ Documentação só em inglês
❌ Dados BR incompletos
❌ Sem garantias
💰 ECONOMIA: ~R$ 90/mês com brapi.devCasos de Uso
Quando Usar brapi.dev
✅ Aplicações para mercado brasileiro ✅ Apps de carteira de investimentos ✅ Análise fundamentalista de ações BR ✅ Bots de trading para B3 ✅ Dashboards financeiros ✅ Planilhas automatizadas (Google Sheets, Excel) ✅ Projetos acadêmicos
Quando Considerar Yahoo Finance
⚠️ Dados de mercados internacionais (EUA, Europa) ⚠️ Projetos que já usam yfinance e funcionam ⚠️ Análises de ações americanas
Migração do Yahoo Finance para brapi.dev
Antes (Yahoo Finance):
// Função legada com Yahoo Finance
// Requer biblioteca yfinance, sufixo .SA, e frequentemente falha
// def get_stock_data_yahoo(ticker):
// stock = yf.Ticker(f"{ticker}.SA")
// info = stock.info // Pode retornar vazio
// return { price: info.get('regularMarketPrice') }Depois (brapi.dev):
async function getStockData(ticker: string, token?: string) {
const url = token
? `https://brapi.dev/api/quote/${ticker}?token=${token}`
: `https://brapi.dev/api/quote/${ticker}`;
const response = await fetch(url);
const { results } = await response.json();
if (results?.length) {
const stock = results[0];
return {
symbol: stock.symbol,
price: stock.regularMarketPrice,
change: stock.regularMarketChangePercent,
volume: stock.regularMarketVolume
};
}
return null;
}
// Uso idêntico, resultado mais confiável
const dados = await getStockData('PETR4');Guia de Migração Completo
Os campos são compatíveis entre Yahoo Finance e brapi.dev, facilitando a migração:
| Campo Yahoo Finance | Campo brapi.dev | Status |
|---|---|---|
| regularMarketPrice | regularMarketPrice | ✅ Igual |
| regularMarketChange | regularMarketChange | ✅ Igual |
| regularMarketVolume | regularMarketVolume | ✅ Igual |
| marketCap | marketCap | ✅ Igual |
| trailingPE | trailingPE | ✅ Igual |
| forwardPE | forwardPE | ✅ Igual |
| priceToBook | priceToBook | ✅ Igual |
| dividendYield | dividendYield | ✅ Igual |
Para migrar: Troque o endpoint e remova o sufixo .SA do ticker.
Exemplo Completo: Dashboard de Ações
// Cliente TypeScript para brapi.dev
const BRAPI_TOKEN = "SEU_TOKEN";
// Buscar cotações de múltiplas ações
const response = await fetch(
"https://brapi.dev/api/quote/PETR4,VALE3,ITUB4,WEGE3,ABEV3",
{ headers: { Authorization: `Bearer ${BRAPI_TOKEN}` } }
);
const data = await response.json();
// Exibir dashboard
data.results.forEach((stock) => {
const emoji = stock.regularMarketChangePercent > 0 ? "🟢" : "🔴";
console.log(`${emoji} ${stock.symbol}: R$ ${stock.regularMarketPrice.toFixed(2)} (${stock.regularMarketChangePercent.toFixed(2)}%)`);
});
// Buscar dados fundamentalistas
const fundamentosResponse = await fetch(
"https://brapi.dev/api/quote/ITUB4?modules=defaultKeyStatistics,financialData",
{ headers: { Authorization: `Bearer ${BRAPI_TOKEN}` } }
);
const fundamentos = await fundamentosResponse.json();
// Buscar histórico
const historicoResponse = await fetch(
"https://brapi.dev/api/quote/PETR4?range=1mo&interval=1d",
{ headers: { Authorization: `Bearer ${BRAPI_TOKEN}` } }
);
const historico = await historicoResponse.json();Exemplo de resultado do dashboard:
| Ação | Preço | Variação |
|---|---|---|
| 🟢 PETR4 | R$ 37,85 | +1,20% |
| 🔴 VALE3 | R$ 68,42 | -0,85% |
| 🟢 ITUB4 | R$ 32,10 | +0,45% |
| 🟢 WEGE3 | R$ 45,30 | +2,10% |
| 🔴 ABEV3 | R$ 12,85 | -0,32% |
Conclusão
Por Que Escolher brapi.dev?
| Aspecto | Vantagem |
|---|---|
| Especialização | Feita para o mercado brasileiro |
| Confiabilidade | API estável com SLA |
| Suporte | Atendimento em português |
| Documentação | Completa e em PT-BR |
| Preço | Competitivo e transparente |
| Dados | Completos para ações brasileiras |
Próximos Passos
- Crie sua conta gratuita - 15.000 requisições/mês grátis
- Leia a documentação - Guias completos de integração
- Teste a API - Experimente sem código
- Veja exemplos - Python, JavaScript, Excel e mais
Migre do Yahoo Finance para brapi.dev e tenha dados mais confiáveis do mercado brasileiro. Comece gratuitamente agora!
