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
- Endpoint principal
- /stock-v3-get-historical-data
- Cuota por llamada
- 1 solicitud
- Plan gratuito
- 100 solicitudes / mesdespués, desde 30 € / mes
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
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.
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®ion=US&range=1mo&interval=1d" \
-H "x-api-key: YOUR_API_KEY"Respuesta (abreviada)
{
"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
Datos históricos. Historial OHLCV con rango e intervalo.
Estadísticas. Estadísticas clave.
Perfil. Perfil de la empresa.
Fundamentales. Balance, flujo de caja, cuenta de resultados y más mediante módulos.
Autocompletar. Búsqueda de símbolos por texto libre.
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.
Casos de uso relacionados
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.