O Yahoo financia toda a documentação da API de cotações das moedas

Estou a usar este feed há muito tempo, creio que a Apple também o faz num dos widgets do mac. mas o que é realmente curioso é que eu simplesmente não consigo encontrar qualquer documentação para ele, eu tentei google e tudo.

Http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote

Consigo ver pessoas a usar parâmetros diferentes como:view=basic date=Ymd; currency=true mas é horrível não haver nada oficial.

Por agora estou a usar isto. parâmetros:

format=json e às vezes...

Mas ainda é um mistério para mim. Alguém sabe a verdade real sobre isso porque parece que o Yahoo está tentando escondê-la em outro lugar:)

Author: Benjamin, 2011-02-24

7 answers

Pela pesquisa que fiz, não parece haver documentação disponível para a API que estás a usar. Dependendo dos dados que você está tentando obter, eu recomendaria usar a API YQL do Yahoo para acessar o Yahoo Finance (um exemplo pode ser encontrado aqui). Em alternativa, poderá tentar usar esta forma bem documentada para obter dados CSV do Yahoo Finance .

Editar:

Houve alguma discussão sobre os fóruns de desenvolvimento do Yahoo e parece que não há documentação (ênfase minha):

A razão para a falta de documentação é que não temos uma API Financeira. Parece que alguns inverteram a engenharia de uma API que eles usam para puxar dados financeiros, mas eles estão quebrando nossos Termos de serviço (sem redistribuição de dados financeiros) ao fazer isso, então eu encorajaria você a evitar a utilização destes webservices.

Ao mesmo tempo, o URL que listou pode ser acedido usando o YQL console , embora eu não seja inteligente o suficiente para saber como extrair parâmetros de URL com ele.

 19
Author: NT3RP, 2011-03-02 17:14:06

Atenção !!! |

/ Serviço suspenso pelo YAHOO, a solução deixou de ser válida. |

Obtenha do Yahoo um JSON ou XML que possa analisar a partir de uma consulta de repouso.

Você pode trocar de qualquer moeda para qualquer moeda e até mesmo obter a data e hora da consulta usando o 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=

Isto vai trazer um exemplo como abaixo:

{
 "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"
   }
  }
 }
}
Pode tentar a consola. Acho que isto faz. não quebrar qualquer termo de serviço, uma vez que é uma solução 100% yahoo.
 10
Author: FedeKrum, 2017-11-12 23:17:20
Isto pode ajudar.: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=EURUSD=X, GBPUSD=X Irá devolver o ficheiro csv:
"EUR",1.2972
"GBP",1.6034

Ou se precisar do json: Yahoo csv parser

 8
Author: Sergey Dirin, 2013-02-28 14:11:02
Estou a desenvolver uma aplicação que precisa de conversão monetária, e tenho usado taxas de câmbio abertas porque não estaria a pagar uma vez que a aplicação está a ser testada. Mas a partir de setembro de 2012 as taxas de câmbio abertas vão ser pagas por não-pessoais, então eu verifiquei que eles estavam usando o Yahoo Finance Webservice (aquele que "não existe") e à procura de documentação sobre ele chegou aqui, e optou por usar YQL.

A usar o YQL com a tabela de finanças do Yahoo (yahoo.Financas.cotações) ligadas por NT3RP, as moedas aparecem com o símbolo = "ISOCODE=X", por exemplo:" ARS=X "para Peso Argentino," AUD=X " para Dólar Australiano. "USD=X" não existe, mas seria 1, uma vez que o resto são taxas contra USD.

O valor "preço "na API do OP está no campo" LastTradePriceOnly " do quadro. Para a minha aplicação usei o campo "perguntar".

 5
Author: Einacio, 2012-07-27 05:11:35

Como NT3RP nos disse que:

... nós (Yahoo!) don't have a Finance API. Parece que alguns alteraram uma API que usam para obter dados financeiros, mas estão a quebrar os nossos Termos de Serviço...

Então pensei em Partilhar este site contigo.:
http://josscrowcroft.github.com/open-exchange-rates/
[actualização: o site mudou-se para - http://openexchangerates.org] Este site diz:

sem acesso taxas, sem limites de taxa, sem XML feio - apenas livre, taxas de câmbio atualizadas à hora no formato JSON
[atualização: gratuito para uso pessoal, uma pechincha para o seu negócio.]

Espero ter ajudado e isto é de alguma utilidade para ti (e para outros também). : )

 5
Author: zeFree, 2012-09-19 10:59:13

Usei este URL para obter várias cotações no mercado monetário.

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

Eles podem ser processados em PHP assim:

$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];
}
 1
Author: Liam Hogan, 2017-09-01 01:49:06

Como alternativa ao Yahoo Finance, comecei a usar a API de Quandl para obter cotações de divisas. Há uma opção gratuita que pode ser usada para aplicações simples e também paga para Bancos de dados premium.

Uma vez que você tem uma conta em Quandl, você tem uma chave para executar seus pedidos. Por exemplo, a conversão de a USD a EUR pode ser obtida por:
curl https://www.quandl.com/api/v3/datasets/CURRFX/USDEUR/data.json?rows=1&api_key=YOUR_KEY

O resultado de tal chamada é:

{
  "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}
}
([5]) estão disponíveis mais taxas de câmbio a partir do USD: ([14]) taxas de câmbio em relação ao USD
 0
Author: Marcio Jasinski, 2018-01-23 13:18:45