20 % de descuento en todos los planes de pago con el código

Finanzas · Yahoo Finance

API de datos bursátiles de Yahoo Finance

La API de datos bursátiles de Yahoo Finance te da datos de Yahoo Finance en tiempo real en el momento en que los pides, limpios y estructurados, listos para tu propia app, una hoja de cálculo o un asistente de IA. Sin scraping, nada que mantener.

100 solicitudes gratis al mes · sin tarjeta de crédito · una clave de API para todas las plataformas

Datos clave

Actualizado el

Yahoo Finance tiene, sin hacer ruido, todo lo que necesita una herramienta de análisis: historial de precios ajustado desde el primer día de cotización, una pestaña de estadísticas con múltiplos pasados y futuros, un perfil de la empresa y estados financieros trimestrales. everydata.io expone esas vistas como endpoints HTTPS bajo /yho que devuelven el JSON que genera el propio Yahoo (objetos quoteSummary.result[] sin modificar con pares de valores {raw, fmt}), así que lo que sabes del modelo de datos de Yahoo se aplica tal cual. Yahoo no ofrece una Finance API pública oficial desde 2017; esta es una forma mantenida y alojada de obtener las mismas cifras con una clave de API en lugar de un scraper que tengas que vigilar.

Plataforma
Yahoo Finance
Cuota por llamada
1 solicitud
Plan gratuito
100 solicitudes / mesdespués, desde 30 € / mes
Lo que obtienes

Datos de Yahoo Finance, listos para usar

El endpoint de datos históricos te da un array plano prices[] de {date, open, high, low, close, volume, adjclose}, donde date es una marca de tiempo Unix en segundos. Elige un range de 1d a max (1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max) y un interval de 1m a 3mo (1m, 2m, 5m, 15m, 30m, 60m, 1d, 1wk, 1mo), o sustituye range por límites epoch explícitos period1/period2 cuando cargues un periodo concreto. Los intervalos intradía solo cubren el pasado reciente, exactamente como en el gráfico de Yahoo.

Alrededor de la serie de precios están los endpoints descriptivos. /stock-v4-get-statistics devuelve summaryDetail (marketCap, trailingPE, forwardPE, dividendYield, beta) y defaultKeyStatistics (enterpriseValue, profitMargins, floatShares, sharesShort, heldPercentInstitutions). /stock-v3-get-profile entrega sector, industry, website y fullTimeEmployees. /stock-get-fundamentals recibe un parámetro modules separado por comas (balanceSheetHistory, cashflowStatementHistoryQuarterly, incomeStatementHistory, earningsTrend y unos 30 más) y devuelve solo esos módulos.

  • prices[] con date (segundos epoch), open, high, low, close, volume y adjclose; eventsData para dividendos y splits
  • range de 1d a max e interval de 1m a 3mo, o límites absolutos period1/period2 para cargas históricas precisas
  • Estadísticas clave con valores raw numéricos y los textos de Yahoo ({raw: 38.59, fmt: "38.59"})
  • Perfil de la empresa: sector, sector de actividad, web, número de empleados, dirección y directivos
  • Fundamentales por módulo: balance anual y trimestral, flujo de caja, cuenta de resultados, historial y tendencia de beneficios
  • Búsqueda de símbolos con /auto-complete: entra texto libre, sale el símbolo con su bolsa
  • Doce regiones: US, BR, AU, CA, FR, DE, HK, IN, IT, ES, GB, SG con sus códigos lang
Casos de uso

Lo que los equipos construyen con esto

Backtesting e investigación cuantitativa

Descarga el historial diario de 10y o max de un universo de símbolos, guarda adjclose y ejecuta estudios de factores o de momentum. Usa intervalos 1wk o 1mo cuando solo necesites barras gruesas y respuestas más pequeñas.

Seguimiento de carteras y patrimonio

Resuelve lo que escribe el usuario con auto-complete y actualiza las posiciones con el historial 1d y summaryDetail. Los campos regularMarketPreviousClose y dividendRate alimentan la P&L diaria y las proyecciones de ingresos.

Screeners fundamentales

Combina defaultKeyStatistics (profitMargins, enterpriseValue, heldPercentInstitutions) con incomeStatementHistory del endpoint de fundamentales para clasificar empresas por márgenes, crecimiento o apalancamiento.

Paneles de análisis

Muestra una ficha de empresa con perfil, número de empleados y años de estados trimestrales sin mantener tu propio parser de informes financieros.

Cómo funciona

Solicitud y respuesta de ejemplo

Empieza con el símbolo tal como lo escribe Yahoo: AAPL, SAP.DE, 0700.HK. Si solo tienes el nombre de la empresa, llama antes a GET /yho/auto-complete?q=apple; quotes[] devuelve symbol, exchange y quoteType para que elijas la acción y no un futuro o un 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"

Respuesta (abreviada)

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 las operaciones corporativas dentro del rango pedido: cada dividendo en efectivo como {amount, date, type: "DIVIDEND"} por acción en la moneda de cotización, y los splits como type "SPLIT" con splitRatio. En el ejemplo de arriba, Apple pagó 0,27 $ por acción dos veces en seis meses. Suma los importes por año natural para obtener el historial de dividendos, o únelos a prices[] por fecha para construir tú mismo una serie de rentabilidad total.

prices[] está ordenado de más reciente a más antiguo, igual que la tabla de datos históricos de Yahoo. adjclose ya refleja splits y dividendos, así que úsalo para calcular rentabilidades y close para todo lo que deba coincidir con el precio de cierre publicado. timeZone.gmtOffset indica el desfase de la bolsa en segundos (-14400 es el horario de verano del este de EE. UU.), algo que necesitas para convertir las fechas epoch en días de negociación en valores no estadounidenses.

Las estadísticas y los fundamentales llegan en el envoltorio quoteSummary de Yahoo: quoteSummary.result[0].summaryDetail.trailingPE es {raw: 38.591274, fmt: "38.59"}. Lee raw para cálculos y fmt para mostrar. Los objetos vacíos como "yield": {} significan que Yahoo no tiene valor para ese campo en ese tipo de instrumento.

region selecciona la edición de Yahoo, lo que influye en los textos localizados (typeDisp "Aktie" con region=DE) y en cómo se resuelve un símbolo sin sufijo. Cada llamada es en tiempo real; no hay ninguna instantánea en caché de por medio.

Endpoints relacionados

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

Datos históricos. Historial OHLCV con rango e intervalo.

GET/yho/stock-v4-get-statistics

Estadísticas. Estadísticas clave.

GET/yho/stock-v3-get-profile

Perfil. Perfil de la empresa.

GET/yho/stock-get-fundamentals

Fundamentales. Balance, flujo de caja, cuenta de resultados y más mediante módulos.

GET/yho/auto-complete

Autocompletar. Búsqueda de símbolos por texto libre.

Referencia completa de la API
Precios

Paga por solicitud, con todas las plataformas incluidas

Una solicitud equivale a una llamada a un endpoint, sea cual sea el rango: un historial diario con range max de un símbolo cuesta lo mismo que una llamada 1d. El plan gratuito (100 solicitudes al mes) cubre un proyecto académico o un prototipo; Starter (5000 solicitudes, 30 €) actualiza cada día una lista de seguimiento de 150 símbolos con margen para estadísticas; Production (50.000, 80 €) permite cargas nocturnas de fundamentales de unos pocos miles de tickers. Las respuestas 5xx por parte de Yahoo nunca se cobran.

Free
100 solicitudes / mes
Starter
5000 solicitudes · 30 €
Production
50.000 solicitudes · 80 €
Business
300.000 solicitudes · 300 €

API de datos bursátiles de Yahoo Finance: preguntas frecuentes

¿Existe una API oficial de Yahoo Finance?

Ya no. Yahoo retiró su Finance API pública en 2017, y con ella desapareció el servicio YQL en el que se basaban muchos tutoriales antiguos. Lo que queda son los endpoints JSON que usa la propia web de Yahoo; librerías como yfinance o yahoo-finance2 los llaman de forma no oficial. everydata.io sirve los mismos datos como una API REST documentada, con clave, parámetros fijos y monitorización del estado.

¿Cómo obtengo Adj Close y dividendos en los datos históricos?

Llama a /yho/stock-v3-get-historical-data con symbol, range e interval. Cada fila de prices[] incluye close y adjclose, y eventsData lista los dividendos ({amount, date, type: "DIVIDEND"}) y los splits del mismo rango, sin necesidad de una segunda solicitud.

¿En qué se diferencia de yfinance o yahoo-finance2?

Esas librerías de código abierto obtienen las páginas de Yahoo desde tu propia máquina, así que las cookies, las páginas de consentimiento, los límites de velocidad y los cambios por parte de Yahoo son problema tuyo. Aquí la solicitud se ejecuta en nuestro lado, la estructura de la respuesta se mantiene estable y las llamadas fallidas al sitio de origen (5xx) no se cobran. Los nombres de campo coinciden con el JSON de Yahoo, así que migrar el código es sobre todo cambiar la URL.

¿Hasta cuándo se remonta el historial de precios?

Hasta donde Yahoo tenga datos: range=max devuelve todo desde firstTradeDate, que en AAPL es 1980. Las barras diarias, semanales y mensuales cubren todo el historial; los intervalos intradía (de 1m a 60m) se limitan al periodo reciente que Yahoo muestra en su gráfico.

¿Qué formato de símbolo uso para acciones no estadounidenses?

La notación con sufijo de Yahoo: SAP.DE para Xetra, VOD.L para Londres, 0700.HK para Hong Kong, RELIANCE.NS para la NSE. Si tienes dudas, llama a /yho/auto-complete con el nombre de la empresa y lee los campos symbol y exchDisp de quotes[].

¿Las respuestas tienen la misma estructura que el JSON de Yahoo?

Sí. Estadísticas, perfil y fundamentales llegan como quoteSummary.result[] con valores {raw, fmt, longFmt}; los datos históricos son un array prices[]. El código existente escrito para las estructuras de Yahoo funciona sin remapear.

¿Qué diferencia hay entre close y adjclose?

close es el precio registrado al final de la sesión. adjclose está ajustado retroactivamente por splits y dividendos en efectivo para que las rentabilidades históricas sean comparables. Usa adjclose para cálculos de rentabilidad y close cuando debas cuadrar con informes o gráficos.

¿Son datos bursátiles en tiempo real?

Son los datos que Yahoo Finance muestra públicamente en el momento de tu llamada. Los retrasos siguen las normas de cada bolsa que aplica Yahoo: muchas cotizaciones de EE. UU. son en tiempo real y otras llevan 15 a 20 minutos de retraso. Están pensados para análisis, paneles y analítica, no como feed con licencia para enrutar órdenes.

Obtén tu primer historial de precios

Crea una cuenta gratuita, copia la clave y solicita GET /yho/stock-v3-get-historical-data?symbol=AAPL&range=1y: 100 solicitudes al mes, sin tarjeta.