json - exchange - Yahoo Finance All Currencies cita la documentación de la API
yahoo finance api developer (7)
He estado usando este feed durante mucho tiempo, creo que Apple también lo hace en uno de los widgets de mac. pero lo que es realmente curioso es que simplemente no puedo encontrar ninguna documentación para ello, lo he intentado con google y todo.
http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote
Puedo ver personas usando diferentes parámetros como view=basic
date=Ymd;
currency=true
pero es horrible que no haya nada oficial.
Por ahora estoy usando estos parámetros:
format=json
y callback=list
veces ...
Pero sigue siendo un misterio para mí. ¿Alguien sabe la verdad acerca de eso porque parece que Yahoo está tratando de ocultarlo en otro lugar :)
Como NT3RP nos dijo que:
... nosotros (Yahoo!) no tenemos una API de finanzas. Parece que algunos han diseñado ingeniería inversa de una API que utilizan para extraer datos financieros, pero están incumpliendo nuestros Términos de servicio ...
Así que solo pensé en compartir este sitio contigo:
http://josscrowcroft.github.com/open-exchange-rates/
[actualización: el sitio se ha movido a - http://openexchangerates.org ]
Este sitio dice:
Sin tarifas de acceso, sin límites de tarifas, sin XML feo: solo tarifas de cambio gratuitas y actualizadas por hora en formato JSON
[actualización: Gratis para uso personal, una ganga para su negocio.]
Espero haber ayudado y esto es de alguna utilidad para ti (y para otros también). :)
Como alternativa a Yahoo Finance, comencé a usar Quandl API para obtener cotizaciones de divisas. Existe una opción gratuita que se puede usar para aplicaciones simples y también para bases de datos premium.
Una vez que tenga una cuenta en Quandl, obtendrá una clave para realizar sus solicitudes. Por ejemplo, se puede obtener una conversión de USD
a EUR
por:
curl https://www.quandl.com/api/v3/datasets/CURRFX/USDEUR/data.json?rows=1&api_key=YOUR_KEY
El resultado de tal llamada es:
{
"dataset_data":{"limit":1,"transform":null,"column_index":null,
"column_names":[ "Date","Rate","High (est)","Low (est)"],
"start_date":"1999-09-06","end_date":"2018-01-19","frequency":"daily",
"data":[
["2018-01-19",0.81721997261047,0.8183100 2235413,0.81335002183914]
],
"collapse":null,"order":null}
}
Más tipos de cambio de USD están disponibles aquí: Tipos de cambio frente a USD
Esto podría ayudar: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=EURUSD=X,GBPUSD=X Devolverá el archivo csv:
"EUR",1.2972
"GBP",1.6034
O si necesita json: Yahoo csv parser
Estoy desarrollando una aplicación que necesita conversión de divisas, y he estado utilizando las tasas de cambio abiertas porque no estaría pagando ya que la aplicación está en pruebas. Pero a partir de septiembre de 2012, las tasas de cambio abiertas se pagarán por no personal, así que comprobé que estaban usando el servicio web de Yahoo Finance (el que "no existe") y busqué la documentación aquí, y optó por usar YQL.
Usando YQL con la tabla de Yahoo Finance (yahoo.finance.quotes) vinculada por NT3RP, las monedas aparecen con symbol = "ISOCODE = X", por ejemplo: "ARS = X" para el peso argentino, "AUD = X" para el dólar australiano. "USD = X" no existe, pero sería 1, ya que el resto son tasas contra USD.
El valor de "precio" en la OP API se encuentra en el campo "LastTradePriceOnly" de la tabla. Para mi aplicación usé el campo "Preguntar".
He usado esta URL para obtener varias cotizaciones del mercado de divisas.
http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=USD=X,CAD=X,EUR=X
"USD",1.0000
"CAD",1.2458
"EUR",0.8396
Se pueden analizar en PHP de esta manera:
$symbols = [''USD=X'', ''CAD=X'', ''EUR=X''];
$url = "http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=".join($symbols, '','');
$quote = array_map( ''str_getcsv'', file($url) );
foreach ($quote as $key => $symb) {
$symbol = $quote[$key][0];
$value = $quote[$key][1];
}
Según la investigación que hice, no parece haber documentación disponible para la API que está utilizando. Dependiendo de los datos que intenta obtener, recomendaría utilizar la API YQL de Yahoo para acceder a Yahoo Finance (puede encontrar un ejemplo aquí) . Alternativamente, podría intentar usar esta forma bien documentada para obtener datos CSV de Yahoo Finance .
EDITAR:
Se ha debatido sobre los foros de desarrolladores de Yahoo y parece que no hay documentación (el énfasis es mío):
El motivo de la falta de documentación es que no tenemos una API de finanzas . Parece que algunos han diseñado ingeniería inversa de una API que utilizan para extraer datos financieros, pero están incumpliendo nuestros Términos de servicio (sin redistribución de los datos financieros) al hacerlo, por lo que le recomendamos que evite el uso de estos servicios web.
Al mismo tiempo, se puede acceder a la URL que ha enumerado utilizando la consola YQL , aunque no soy lo suficientemente inteligente como para saber cómo extraer los parámetros de URL con ella.
| ATENCIÓN !!! |
| SERVICIO SUSPENDIDO POR YAHOO, la solución ya no es válida. |
Obtenga de Yahoo un JSON o XML que pueda analizar a partir de una consulta REST.
Puede intercambiar desde cualquiera a cualquier divisa e incluso obtener la fecha y la hora de la consulta utilizando YQL (Yahoo Query Language).
https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fd%2Fquotes.csv%3Fe%3D.csv%26f%3Dnl1d1t1%26s%3Dusdeur%3DX%22%3B&format=json&callback=
Esto traerá un ejemplo como a continuación:
{
"query": {
"count": 1,
"created": "2016-02-12T07:07:30Z",
"lang": "en-US",
"results": {
"row": {
"col0": "USD/EUR",
"col1": "0.8835",
"col2": "2/12/2016",
"col3": "7:07am"
}
}
}
}
Puedes probar la consola
Creo que esto no rompe ningún Término de servicio, ya que es una solución 100% yahoo.