20 % de desconto em todos os planos pagos com o código

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
Cota por chamada
1 requisição
Plano gratuito
100 req. / mêsdepois, a partir de € 30 / mês
O que você recebe

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
Casos de uso

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.

Como funciona

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&region=US&range=1mo&interval=1d" \
  -H "x-api-key: YOUR_API_KEY"

Resposta (resumida)

200 OK · application/json
{
  "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

GET/yho/stock-v3-get-historical-data

Dados históricos. Histórico OHLCV com período/intervalo.

GET/yho/stock-v4-get-statistics

Estatísticas. Principais estatísticas.

GET/yho/stock-v3-get-profile

Perfil. Perfil da empresa.

GET/yho/stock-get-fundamentals

Fundamentos. Balanço patrimonial, fluxo de caixa, demonstração de resultados e mais, via módulos.

GET/yho/auto-complete

Autocompletar. Busca de símbolos por texto livre.

Referência completa da API
Preços

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.

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.