Como obtenho taxas de câmbio por meio de uma API, como o Google Finance?

Agora, encontrei a API do Google Finance e comecei a analisar, mas encontrei muitas informações sobre portfólios, transactions, posições e outras coisas sobre as quais não sei nada.

Eu estou olhando para os documentos errados? O que eu preciso fazer para obter um feed de taxas de câmbio da GF? Isso é possível?

EDITAR

Para tornar as coisas um pouco mais claras. Eu não estou interessado em coisas técnicas nem quero nenhum código.

Obrigado por todas as suas respostas.

Grátis currencyconverterapi:

  • Tarifas atualizadas a cada 30 minutos
  • Nenhuma conta é necessária

Um URL de conversão de amostra é: http://free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y


Para a posteridade aqui estão junto com outras respostas possíveis:

  1. API financeira do Yahoo Descontinuado em 2017-11-06

    Descontinuado a partir de 2017-11-06 com mensagem

    Chegou ao nosso conhecimento que este serviço está sendo usado em violação dos Termos de Serviço do Yahoo. Como tal, o serviço está sendo descontinuado. Para todos os mercados futuros e pesquisa de dados de ações, por favor, consulte finance.yahoo.com.

    Solicitação: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDINR=X
    Este CSV estava sendo usado por um plugin do jQuery chamado Curry . Curry desde então (2017-08-29) mudou-se para usar o fixer.io, em vez de problemas de estabilidade. Pode ser útil se você precisar de mais do que apenas um CSV.

  2. ( graças ao Keyo ) O Yahoo Query Language permite que você obtenha um monte de moedas de uma só vez em XML ou JSON. Os dados são atualizados pelo segundo (enquanto o Banco Central Europeu tem dados de um dia) e pára no final de semana. Não requer nenhum tipo de inscrição.

    http://query.yahooapis.com/v1/public/yql?q=select * de yahoo.finance.xchange em que par in (“USDEUR”, “USDJPY”, “USDBGN”, “USDCZK”, “USDDKK”, USDGBP, USDHUF, USDLTL, USDLVL, USDPLN, USDRON, USDSEK, USDCHF, USDNOK, USDHRK, USDRUB, USDTRY, USDDAUD. “,” USDBRL “,” USDCAD “,” USDCNY “,” USDHKD “,” USDIDR “,” USDILS “,” USDINR “,” USDKRW “,” USDMXN “,” USDMYR “,” USDNZD “,” USDPHP “, “USDSGD”, “USDTHB”, “USDZAR”, “USDISK”) & env = store: //datatables.org/alltableswithkeys

    Aqui está o construtor de consultas YQL, onde você pode testar uma consulta e copiar o URL:

    http://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select%20*%20from%20yahoo.finance.xchange%20where%20pair% 20em% 20% 28% 22USDMXN% 22% 2C% 20% 22USDCHF% 22% 29

  3. API de taxas de câmbio de código aberto

    Gratuito para uso pessoal (1000 accesss por mês)
    Alterar “base” (de “USD”) não é permitido na conta gratuita
    Requer registro.
    Pedido: http://openexchangerates.org/latest.json
    Resposta:

    { "disclaimer": "This data is collected from various providers ...", "license": "all code open-source under GPL v3 ...", "timestamp": 1323115901, "base": "USD", "rates": { "AED": 3.66999725, "ALL": 102.09382091, "ANG": 1.78992886, // 115 more currency rates here ... } } 
  4. API do currencylayer

    Plano gratuito para 1.000 accesss mensais
    Alterar “fonte” (de “USD”) não é permitido na conta gratuita
    Requer registro.
    Documentação: currencylayer.com/documentation

    Resposta JSON:

     { [...] "timestamp": 1436284516, "source": "USD", "quotes": { "USDAUD": 1.345352401, "USDCAD": 1.27373397, "USDCHF": 0.947845302, "USDEUR": 0.91313905, "USDGBP": 0.647603397, // 168 world currencies } } 
  5. API Fixer.io (dados do Banco Central Europeu)

    Plano gratuito para 1.000 accesss mensais
    A alteração de “fonte” (de “USD”) não é permitida na conta gratuita. Requer registro.

    Este endpoint da API está obsoleto e parará de funcionar em 1º de junho de 2018. Para obter mais informações, visite: https://github.com/fixerAPI/fixer#readme)

    Website: http://fixer.io/
    Exemplo de solicitação: http://api.fixer.io/latest?base=USD
    Coleta apenas um valor por dia

  6. Banco Central Europeu Feed

    Documentos: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev
    Pedido: http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml

    Resposta XML:

            
  7. Consulta de taxa de câmbio do Google (analisada) Atualmente indisponivel:

    Pedido: http://rate-exchange.appspot.com/currency?from=USD&to=EUR
    Resposta:

     {"to": "EUR", "rate": 0.76911244400000001, "from": "USD"} 

    Aqui está outra API JSON (P) baseada na API do Google (fonte: este comentário ):
    http://rate-exchange.appspot.com/currency?from=USD&to=EUR&q=1

    Resposta original de Ryan .

O Banco Central Europeu (BCE) também possui o feed gratuito mais confiável que eu conheço. Ele contém aproximadamente 28 moedas e é atualizado pelo menos diariamente.

http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml

Para mais formatos e ferramentas, consulte a página de referência do BCE: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html

O Yahoo tem um recurso YQL para obter um monte de moedas ao mesmo tempo em XML ou JSON. Percebi que os dados estão atualizados até o momento em que o BCE tem dados antigos e para no final de semana.

http://query.yahooapis.com/v1/public/yql?q=select * de yahoo.finance.xchange em que par in (“USDEUR”, “USDJPY”, “USDBGN”, “USDCZK”, “USDDKK”, USDGBP, USDHUF, USDLTL, USDLVL, USDPLN, USDRON, USDSEK, USDCHF, USDNOK, USDHRK, USDRUB, USDTRY, USDDAUD. “,” USDBRL “,” USDCAD “,” USDCNY “,” USDHKD “,” USDIDR “,” USDILS “,” USDINR “,” USDKRW “,” USDMXN “,” USDMYR “,” USDNZD “,” USDPHP “, “USDSGD”, “USDTHB”, “USDZAR”, “USDISK”) & env = store: //datatables.org/alltableswithkeys

Aqui está o construtor de consultas, onde você pode testar uma consulta e copiar o URL:

http://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select%20*%20from%20yahoo.finance.xchange%20where%20pair% 20em% 20% 28% 22USDMXN% 22% 2C% 20% 22USDCHF% 22% 29

Se você precisar de uma API gratuita e simples para converter uma moeda em outra, tente free.currencyconverterapi.com .

Isenção de responsabilidade, eu sou o autor do site e eu uso para um dos meus outros sites.

O serviço é gratuito para uso mesmo em aplicações comerciais, mas não oferece garantia. Por motivos de desempenho, os valores são atualizados apenas a cada hora.

Um exemplo de URL de conversão é: http://free.currencyconverterapi.com/api/v5/convert?q=EUR_PHP&compact=ultra, que retornará um valor formatado para json, por exemplo, {“EUR_PHP”: 60.849184}

Recebi este conteúdo de http://www.scriptarticle.com/2012/05/03/get-live-currency-rates-and-currency-conversion-using-php-and-apis/

 ', $rawdata); $data = explode($to_Currency, $data[1]); return round($data[0], 2); } // Call the function to get the currency converted echo get_currency('USD', 'INR', 1); ?> 

Aqui estão algumas APIs de troca com o exemplo do PHP.

[ API de taxas de câmbio abertas ]

Fornece 1.000 solicitações por mês grátis. Você deve se registrar e pegar o ID do aplicativo. A moeda base USD para conta gratuita. Verifique as moedas e a documentação suportadas .

 // open exchange URL // valid app_id * REQUIRED * $exchange_url = 'https://openexchangerates.org/api/latest.json'; $params = array( 'app_id' => 'YOUR_APP_ID' ); // make cURL request // parse JSON $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $exchange_url . '?' . http_build_query($params), CURLOPT_RETURNTRANSFER => true )); $response = json_decode(curl_exec($curl)); curl_close($curl); if (!empty($response->rates)) { // convert 150 USD to JPY ( Japanese Yen ) echo $response->rates->JPY * 150; } 

150 USD = 18039.09015 JPY

[ API da camada de moeda ]

Fornece 1.000 solicitações por mês grátis. Você deve se registrar e pegar a tecla de access. A moeda base personalizada não é suportada na conta gratuita. Verifique a documentação .

 $exchange_url = 'http://apilayer.net/api/live'; $params = array( 'access_key' => 'YOUR_ACCESS_KEY', 'source' => 'USD', 'currencies' => 'JPY', 'format' => 1 // 1 = JSON ); // make cURL request // parse JSON $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $exchange_url . '?' . http_build_query($params), CURLOPT_RETURNTRANSFER => true )); $response = json_decode(curl_exec($curl)); curl_close($curl); if (!empty($response->quotes)) { // convert 150 USD to JPY ( Japanese Yen ) echo '150 USD = ' . $response->quotes->USDJPY * 150 . ' JPY'; } 

150 USD = 18036,75045 JPY

Você pode tentar geoplugin

Além da geolocalização feita pelo IP (mas o IP é o IP do provedor, então não tão preciso), eles retornam também as moedas e têm um conversor de moeda: veja exemplos.

Eles têm 111 moedas atualizadas.

Se você estiver procurando uma solução baseada em ruby ​​para esse problema, recomendo usar o método da Calculadora do Google uma solução semelhante à seguinte: http://j.mp/QIC564

 require 'faraday' require 'faraday_middleware' require 'json' # Debug: # require "pry" country_code_src = "USD" country_code_dst = "INR" connection = Faraday.get("http://www.google.com/ig/calculator?hl=en&q=1#{country_code_src}=?#{country_code_dst}") currency_comparison_hash = eval connection.body #Google's output is not JSON, it's a hash dst_currency_value, *dst_currency_text = *currency_comparison_hash[:rhs].split(' ') dst_currency_value = dst_currency_value.to_f dst_currency_text = dst_currency_text.join(' ') puts "#{country_code_dst} -> #{dst_currency_value} (#{dst_currency_text} to 1 #{country_code_src})" 

Aqui está um script PHP simples que obtém taxa de câmbio entre GBP e USD

 '; ?> 

As taxas de câmbio do Google não são precisas O próprio Google diz ==> O Google não pode garantir a precisão das taxas de câmbio usadas pela calculadora. Você deve confirmar as taxas atuais antes de fazer quaisquer transactions que possam ser afetadas por alterações nas taxas de câmbio. As taxas de moeda estrangeira fornecidas pelo Citibank NA são exibidas sob licença. As tarifas são apenas para fins informativos e estão sujeitas a alterações sem aviso prévio. As tarifas para transactions reais podem variar e o Citibank não está oferecendo entrar em qualquer transação, de qualquer forma, exibida.

Para todos os novatos que estão procurando alguma sugestão sobre a conversão de moeda, dê uma olhada neste link. Datavoila

Ajudou muito com o meu próprio projeto em C #. Apenas no caso do site desaparecer, adicionarei o código abaixo. Basta adicionar as etapas abaixo ao seu próprio projeto. Desculpe pela formatação.

 const string fromCurrency = "USD"; const string toCurrency = "EUR"; const double amount = 49.95; // For other currency symbols see http://finance.yahoo.com/currency-converter/ // Clear the output editor //optional use, AFAIK Output.Clear(); // Construct URL to query the Yahoo! Finance API const string urlPattern = "http://finance.yahoo.com/d/quotes.csv?s={0}{1}=X&f=l1"; string url = String.Format(urlPattern, fromCurrency, toCurrency); // Get response as string string response = new WebClient().DownloadString(url); // Convert string to number double exchangeRate = double.Parse(response, System.Globalization.CultureInfo.InvariantCulture); // Output the result Output.Text = String.Format("{0} {1} = {2} {3}", amount, fromCurrency, amount * exchangeRate, toCurrency);