Finanças · Yahoo Finance
API de dados de ações do Yahoo Finance
API de dados de ações do Yahoo Finance: dados ao vivo de Yahoo Finance no momento em que você pede, limpos e estruturados – prontos para seu próprio app, uma planilha ou um assistente de IA. Sem scraping, nada para manter.
100 requisições grátis por mês · sem cartão de crédito · uma chave de API para todas as plataformas
Fatos principais
Atualizado em
O Yahoo Finance reúne discretamente tudo o que uma ferramenta de pesquisa precisa: histórico de preços ajustado desde o primeiro pregão, uma aba de estatísticas com múltiplos trailing e forward, um perfil da empresa e demonstrações financeiras trimestrais. A everydata.io disponibiliza essas visões como endpoints HTTPS em /yho que retornam o JSON que o próprio Yahoo renderiza – objetos quoteSummary.result[] sem modificações, com pares de valores {raw, fmt} –, então o que você já sabe sobre o modelo de dados do Yahoo vale um para um. O Yahoo não oferece uma Finance API pública oficial desde 2017; esta é uma forma hospedada e mantida de obter os mesmos números com uma chave de API, em vez de um scraper que você precisa vigiar.
- Plataforma
- Yahoo Finance
- Endpoint principal
- /stock-v3-get-historical-data
- Cota por chamada
- 1 requisição
- Plano gratuito
- 100 req. / mêsdepois, a partir de € 30 / mês
Dados de Yahoo Finance, prontos para usar
O endpoint de dados históricos entrega um array plano prices[] de {date, open, high, low, close, volume, adjclose}, em que date é um timestamp Unix em segundos. Escolha um range de 1d até max (1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max) e um interval de 1m até 3mo (1m, 2m, 5m, 15m, 30m, 60m, 1d, 1wk, 1mo), ou substitua range por limites explícitos period1/period2 em epoch quando for preencher uma janela específica. Intervalos intradiários cobrem apenas o passado recente, exatamente como no gráfico do Yahoo.
Em torno da série de preços estão os endpoints descritivos. /stock-v4-get-statistics retorna summaryDetail (marketCap, trailingPE, forwardPE, dividendYield, beta) e defaultKeyStatistics (enterpriseValue, profitMargins, floatShares, sharesShort, heldPercentInstitutions). /stock-v3-get-profile entrega sector, industry, website e fullTimeEmployees. /stock-get-fundamentals recebe um parâmetro modules separado por vírgulas – balanceSheetHistory, cashflowStatementHistoryQuarterly, incomeStatementHistory, earningsTrend e cerca de 30 outros – e retorna apenas esses módulos.
- prices[] com date (segundos epoch), open, high, low, close, volume e adjclose; eventsData para dividendos e desdobramentos
- range 1d…max e interval 1m…3mo, ou limites absolutos period1/period2 para backfills precisos
- Estatísticas principais com valores numéricos raw e os textos de exibição do Yahoo ({raw: 38.59, fmt: "38.59"})
- Perfil da empresa: setor, indústria, site, número de funcionários, endereço, lista de executivos
- Fundamentos por módulo: balanço patrimonial, fluxo de caixa e demonstração de resultados anuais e trimestrais, histórico e tendência de lucros
- Busca de símbolos via /auto-complete – texto livre na entrada, símbolo com a bolsa na saída
- Doze regiões: US, BR, AU, CA, FR, DE, HK, IN, IT, ES, GB, SG com os códigos lang correspondentes
O que equipes criam com isso
Backtesting e pesquisa quantitativa
Baixe o histórico diário de 10y ou max para um universo de símbolos, armazene adjclose e rode estudos de fatores ou de momentum. Use os intervalos 1wk ou 1mo quando só precisar de barras mais grossas e quiser payloads menores.
Controle de carteira e de patrimônio
Resolva a entrada do usuário via auto-complete e depois atualize as posições com histórico 1d e summaryDetail. Os campos regularMarketPreviousClose e dividendRate alimentam o resultado diário (P&L) e as projeções de renda.
Screeners fundamentalistas
Combine defaultKeyStatistics (profitMargins, enterpriseValue, heldPercentInstitutions) com incomeStatementHistory do endpoint de fundamentos para classificar empresas por margens, crescimento ou alavancagem.
Dashboards de pesquisa
Mostre um card da empresa com perfil, número de funcionários e anos de demonstrações trimestrais sem manter um parser próprio de relatórios regulatórios.
Requisição e resposta de exemplo
Comece pelo símbolo como o Yahoo o escreve – AAPL, SAP.DE, 0700.HK. Se você só tiver o nome da empresa, chame antes GET /yho/auto-complete?q=apple; quotes[] retorna symbol, exchange e quoteType para você escolher a ação e não um futuro ou ETF.
GET /yho/stock-v3-get-historical-data
curl "https://api.everydata.io/yho/stock-v3-get-historical-data?symbol=AAPL®ion=US&range=1mo&interval=1d" \
-H "x-api-key: YOUR_API_KEY"Resposta (resumida)
{
"prices": [
{
"date": 1789738200,
"open": 337.9100036621094,
"high": 338.489990234375,
"low": 332.5299987792969,
"close": 336.1300048828125,
"volume": 86433100,
"adjclose": 336.1300048828125
},
{
"date": 1789651800,
"open": 334.7699890136719,
"high": 338.3399963378906,
"low": 330.17999267578125,
"close": 337,
"volume": 36700200,
"adjclose": 337
}
],
"isPending": false,
"firstTradeDate": 345479400,
"id": "AAPL",
"timeZone": {
"gmtOffset": -14400
},
"eventsData": [
{
"amount": 0.27,
"date": 1786368600,
"type": "DIVIDEND"
},
{
"amount": 0.27,
"date": 1778506200,
"type": "DIVIDEND"
}
]
}eventsData lista os eventos corporativos dentro do range solicitado: cada dividendo em dinheiro como {amount, date, type: "DIVIDEND"} na moeda de negociação, por ação, e os desdobramentos como type "SPLIT" com splitRatio. No exemplo acima, a Apple pagou US$ 0,27 por ação duas vezes em seis meses. Some os valores por ano-calendário para um histórico de dividendos ou junte-os a prices[] pela data para montar você mesmo uma série de retorno total.
prices[] vem ordenado do mais recente para o mais antigo, espelhando a tabela de dados históricos do Yahoo. adjclose já reflete desdobramentos e dividendos, então use-o para cálculos de retorno e close para tudo o que precisar bater com o preço de fechamento publicado. timeZone.gmtOffset informa o fuso da bolsa em segundos – -14400 é o horário de verão do leste dos EUA –, o que você precisa para converter as datas epoch de volta em pregões no caso de ativos fora dos EUA.
Estatísticas e fundamentos vêm no envelope quoteSummary do Yahoo: quoteSummary.result[0].summaryDetail.trailingPE é {raw: 38.591274, fmt: "38.59"}. Leia raw para cálculos e fmt para exibição. Objetos vazios como "yield": {} significam que o Yahoo não tem valor para aquele campo nesse tipo de instrumento.
region seleciona a edição do Yahoo, o que importa para textos de exibição localizados (typeDisp "Aktie" com region=DE) e para a forma como um símbolo sem sufixo é resolvido. Toda chamada é em tempo real; não há snapshot em cache no meio.
Endpoints relacionados
Dados históricos. Histórico OHLCV com período/intervalo.
Estatísticas. Principais estatísticas.
Perfil. Perfil da empresa.
Fundamentos. Balanço patrimonial, fluxo de caixa, demonstração de resultados e mais, via módulos.
Autocompletar. Busca de símbolos por texto livre.
Pague por requisição, todas as plataformas incluídas
Uma requisição equivale a uma chamada de endpoint, independentemente do range – um histórico diário com range max para um símbolo custa o mesmo que uma chamada 1d. O plano gratuito (100 requisições por mês) atende a um projeto de curso ou protótipo; o Starter (5.000 requisições, € 30) atualiza diariamente uma lista de monitoramento de 150 símbolos, com folga para estatísticas; o Production (50.000, € 80) dá conta de coletas noturnas de fundamentos para alguns milhares de tickers. Respostas 5xx do lado do Yahoo nunca são cobradas.
- Free
- 100 req. / mês
- Starter
- 5.000 req. · € 30
- Production
- 50.000 req. · € 80
- Business
- 300.000 req. · € 300
API de dados de ações do Yahoo Finance: perguntas frequentes
Existe uma API oficial do Yahoo Finance?
Não mais. O Yahoo desativou sua Finance API pública em 2017, e o serviço YQL usado em muitos tutoriais antigos foi junto. O que resta são os endpoints JSON que o próprio site do Yahoo usa; bibliotecas como yfinance ou yahoo-finance2 os chamam de forma não oficial. A everydata.io entrega os mesmos dados como uma API REST documentada, com chave, parâmetros fixos e monitoramento de status.
Como obtenho Adj Close e dividendos nos dados históricos?
Chame /yho/stock-v3-get-historical-data com symbol, range e interval. Cada linha de prices[] traz close e adjclose, e eventsData lista os dividendos ({amount, date, type: "DIVIDEND"}) e os desdobramentos no mesmo range – sem precisar de uma segunda requisição.
Qual é a diferença em relação ao yfinance ou ao yahoo-finance2?
Essas bibliotecas open source buscam as páginas do Yahoo a partir da sua própria máquina, então cookies, páginas de consentimento, limites de taxa (rate limits) e mudanças do lado do Yahoo são problema seu. Aqui a requisição roda do nosso lado, o formato da resposta permanece estável e chamadas com falha na origem (5xx) não são cobradas. Os nomes dos campos são os mesmos do JSON do Yahoo, então portar o código é, na maior parte, uma troca de URL.
Até quando vai o histórico de preços?
Até onde o Yahoo tiver dados – range=max retorna tudo a partir de firstTradeDate, que para AAPL é 1980. Barras diárias, semanais e mensais cobrem o histórico completo; intervalos intradiários (1m a 60m) se limitam à janela recente que o Yahoo mostra no gráfico.
Qual formato de símbolo uso para ações fora dos EUA?
A notação com sufixo do Yahoo: SAP.DE para a Xetra, VOD.L para Londres, 0700.HK para Hong Kong, RELIANCE.NS para a NSE. Na dúvida, chame /yho/auto-complete com o nome da empresa e leia os campos symbol e exchDisp em quotes[].
As respostas têm o mesmo formato do JSON do próprio Yahoo?
Sim. Estatísticas, perfil e fundamentos chegam como quoteSummary.result[] com valores {raw, fmt, longFmt}; os dados históricos são um array prices[]. Código já escrito para as estruturas do Yahoo funciona sem remapeamento.
Qual é a diferença entre close e adjclose?
close é o preço registrado no fim do pregão. adjclose é ajustado retroativamente por desdobramentos e dividendos em dinheiro, para que os retornos históricos sejam comparáveis. Use adjclose para cálculos de desempenho e close quando precisar bater com extratos ou gráficos.
São dados de bolsa em tempo real?
São os dados que o Yahoo Finance exibe publicamente, no momento da sua chamada. Os atrasos seguem as regras de cada bolsa aplicadas pelo Yahoo – muitas cotações dos EUA são em tempo real, outras têm atraso de 15 a 20 minutos. Os dados se destinam a pesquisa, dashboards e análises, não a servir de feed licenciado para roteamento de ordens.
Casos de uso relacionados
Busque seu primeiro histórico de preços
Crie uma conta gratuita, copie a chave e faça GET /yho/stock-v3-get-historical-data?symbol=AAPL&range=1y – 100 requisições por mês, sem cartão.