CurrencyRateAPI
Ferramenta de arranque rápido
Precisa de testar a API sem ter de consultar toda a documentação? Aceda ao Painel de Controlo, onde encontrará a Ferramenta de Arranque Rápido — uma forma simples de experimentar todos os endpoints disponíveis com um único clique.
Clique no botão abaixo para se registar gratuitamente e começar a utilizar a Ferramenta de Arranque Rápido.
Começando
Termos e conceitos-chave que precisa de conhecer para começar a trabalhar com a API de Taxa de Câmbio:
| Definição | Descrição |
|---|---|
| Símbolo | Código de moeda de três letras (ex.: USD, EUR). Suportamos os códigos padrão ISO 4217 para moedas fiduciárias e vários códigos para criptomoedas . |
| Moeda base | A moeda a partir da qual se inicia a conversão. Por exemplo, se 1 USD = X EUR, então USD é a moeda base. A moeda base predefinida é o EUR. |
| Moeda alvo | A moeda para a qual a moeda base é convertida. Utilizando o mesmo exemplo, EUR é a moeda de destino. |
| Criptomoedas | Além das moedas fiduciárias tradicionais, a nossa API processa e fornece taxas de câmbio para uma vasta gama de criptomoedas populares. |
| URL base | O URL raiz utilizado para todos os endpoints da API. Todas as requisições são enviadas para este caminho base. |
Resposta da API
As taxas de câmbio fornecidas por CurrencyRateAPI são, por defeito, em euros. Todos os dados são devolvidos no formato JSON padrão e podem ser facilmente analisados utilizando qualquer linguagem de programação.
Exemplo de resposta:
Abaixo, encontrará um exemplo de uma resposta API contendo uma variedade de moedas comuns do mundo, todas relativas ao euro (EUR) e com o registo da data e hora em que foram recebidas.
{
"success": true,
"base": "eur",
"date": "2025-08-25",
"rates": {
"usd": "1.1697",
"gbp": "0.8659",
"cad": "1.6171"
},
"last_update_unix": "1769067006"
}
Como mostrado acima, a resposta da API às taxas de câmbio em tempo real inclui vários campos importantes:
- success Indica se a solicitação foi bem-sucedida.
- base Retorna o código de 3 letras da moeda base utilizada para este pedido.
- date Retorna a data real para a qual as taxas de câmbio são fornecidas (formato AAAA-MM-DD).
- rates Contém a lista das moedas solicitadas e as suas respetivas taxas de câmbio atuais.
- last_update_unix Apresenta o carimbo de data/hora (em formato Unix) dos dados mais recentes disponíveis no sistema.
Pontos de extremidade disponíveis
A CurrencyRateAPI inclui vários endpoints de API, cada um oferecendo funcionalidades específicas. A disponibilidade de determinados endpoints depende do seu plano de subscrição.
- Ponto final da lista de moedas. Este endpoint retorna a lista completa de todas as moedas suportadas.
/api/codes(Alternativa:/api/currencies) - Ponto final das taxas mais recentes. Este endpoint devolve dados de taxas de câmbio em tempo real para todas as moedas suportadas.
/api/latest - Ponto final das taxas históricas. Este endpoint devolve dados históricos da taxa de câmbio para uma data específica.
/api/YYYY-MM-DD(Alternativa:/api/history?date=YYYY-MM-DD). Os dados históricos estão disponíveis a partir de 4 de Janeiro de 1999.
Metodologia da Taxa de Câmbio
Para garantir a precisão e consistência dos dados, CurrencyRateAPI segue uma metodologia rigorosa para gerir e fornecer taxas de câmbio:
- Taxas de mercado intermédias: Por defeito, a API devolve taxas
mid. Estas representam a média aritmética entre os preços de compra (bid) e de venda (ask) do mercado, ou taxas de referência oficiais dos bancos centrais. - Finalização do dia (EOD): As taxas históricas fornecidas pela API são finalizadas no final do dia em UTC (Tempo Universal Coordenado).
- Cálculo da taxa cruzada: Para pares de moedas que não estão diretamente disponíveis nas nossas fontes, o sistema calcula automaticamente taxas cruzadas de alta precisão, utilizando as principais moedas globais como referência (pivot).
- Mecanismo de Contingência Inteligente: Caso os dados para uma data solicitada não estejam disponíveis (por exemplo, devido ao fecho do mercado aos fins de semana ou feriados), o sistema procura automaticamente a taxa válida mais recente dentro de uma janela deslizante de 8 dias .
- Alta precisão: Para evitar erros de arredondamento nos cálculos financeiros, as taxas de câmbio são armazenadas e processadas com até 18 casas decimais .
Pontos finais
Ponto final de símbolos suportados
https://currencyrateapi.com/api/codes
Este endpoint retorna a lista completa de todas as moedas suportadas. Também pode usar o alias /api/currencies.
Uma lista de todas as moedas suportadas, numa linguagem acessível a humanos, está também disponível na nossa página Moedas Suportadas .
Moedas básicas: Por defeito, alguns outros endpoints (como /latest e /{YYYY-MM-DD}) devolvem um conjunto limitado das principais moedas globais para minimizar o tráfego. Estas moedas "básicas" são:
USD, EUR, GBP, CHF, JPY, CAD, AUD, NZD, SEK, NOK, DKK, ISK, PLN, CZK, HUF, RON, HRK, RSD,
MKD, MDL, TRY, SGD, HKD, KRW, TWD, ILS, AED, SAR, QAR, KWD, BHD, OMR, ZAR
Resposta da API:
{
"success": true,
"currencies": {
"EUR": {
"entity": "EUROPEAN UNION",
"currency": "Euro",
"alphabetic_code": "EUR",
"numeric_code": 978,
"minor_unit": 2,
"title": "Euro",
"symbol": "€",
"data_from": "1999-01-04"
},
"BTC": {
"entity": "CRYPTOCURRENCY",
"currency": "Bitcoin",
"alphabetic_code": "BTC",
"title": "Bitcoin",
"symbol": "₿",
"is_crypto": true,
"data_from": "2024-03-02"
},
[...]
}
}
Objetos de resposta:
| Chave | Descrição |
|---|---|
| success | Retorna true para um pedido bem-sucedido. Se false, será incluído um objeto de erro na resposta. |
| currencies | Retorna todas as moedas suportadas com informação detalhada sobre cada uma. |
| entity | País ou região onde a moeda é utilizada, ou "CRIPTOMOEDA" para ativos digitais. |
| currency | Nome oficial completo da moeda. |
| alphabetic_code | Código alfabético padrão de 3 letras (ISO 4217 para moedas fiduciárias). |
| numeric_code | Código numérico ISO 4217, se aplicável. |
| minor_unit | Número de casas decimais utilizadas para a moeda. |
| withdrawal_date | A data em que a moeda foi retirada de circulação, se aplicável. |
| title | Título abreviado para a moeda. |
| symbol | Símbolo gráfico da moeda (ex.: $, €, ₿). |
| is_crypto | Sinalize ( true ) se a moeda for uma criptomoeda. |
| data_from | A data mais antiga para a qual os dados da taxa de câmbio estão disponíveis para esta moeda. |
Últimas taxas Endpoint
https://currencyrateapi.com/api/latest?
base=USD&
quote=GBP,JPY,EUR
Parâmetros da solicitação:
| Parâmetro | Descrição |
|---|---|
| base | [Opcional] Introduza um código de moeda ISO de 3 letras para definir a moeda base para conversão. O predefinido é EUR. |
| quote | [Opcional] Introduza uma lista de códigos de moeda separados por vírgulas para limitar a resposta a moedas específicas. (Alternativa: codes) |
| extended_list | [Opcional] Se estiver definido para 1, a API devolve a lista completa de moedas disponíveis. Por predefinição, apenas é devolvida uma lista mínima para reduzir o tráfego. |
| precision | [Opcional] Define o número de casas decimais nas taxas de saída (0-18). O padrão devolve a precisão total disponível sem notação científica. |
Resposta da API:
{
"success": true,
"base": "usd",
"date": "2026-01-22",
"rates": {
"gbp": "0.74350935478637",
"jpy": "158.00358051914",
"eur": "0.8518613169776"
},
"last_update_unix": "1769067006"
}
Objetos de resposta:
| Chave | Descrição |
|---|---|
| success | Retorna true para um pedido bem-sucedido. Se false, será incluído um objeto de erro na resposta. |
| base | Devolve o código de 3 letras da moeda base. |
| date | Retorna a data real para a qual as taxas de câmbio são fornecidas. |
| rates | Retorna os dados das taxas de câmbio para as moedas especificadas no pedido. |
| last_update_unix | Retorna um timestamp Unix indicando quando os dados devolvidos foram atualizados pela última vez. |
Ponto final das taxas históricas
https://currencyrateapi.com/api/2025-08-25?
base=EUR&
quote=USD,GBP,CAD
Formato alternativo: /api/history?date=2025-08-25...
Parâmetros da solicitação:
| Parâmetro | Descrição |
|---|---|
| date | [Obrigatório] A data histórica para a qual as taxas de câmbio são solicitadas. Formato: AAAA-DD-MM. Pode ser fornecida no caminho do URL (por exemplo, /api/2025-08-25) ou como parâmetro de consulta (por exemplo, /api/history?date=2025-08-25). |
| base | [Opcional] Introduza um código de moeda de 3 letras para definir a moeda base da conversão. O predefinido é EUR. |
| quote | [Opcional] Introduza uma lista de códigos de moeda separados por vírgulas para limitar a resposta a moedas específicas. (Alternativa: codes) |
| extended_list | [Opcional] Se estiver definido para 1, a API devolve a lista completa de moedas disponíveis. Por predefinição, apenas é devolvida uma lista mínima para reduzir o tráfego. |
| precision | [Opcional] Define o número de casas decimais nas taxas de saída (0-18). O padrão devolve a precisão total disponível sem notação científica. |
Resposta da API:
{
"success": true,
"base": "eur",
"date": "2025-08-25",
"rates": {
"usd": "1.1697",
"gbp": "0.8659",
"cad": "1.6171"
},
"last_update_unix": "1769067006"
}
Objetos de resposta:
| Chave | Descrição |
|---|---|
| success | Retorna true para um pedido bem-sucedido. Se false, será incluído um objeto de erro na resposta. |
| base | Devolve o código de 3 letras da moeda base. |
| date | Retorna a data real para a qual as taxas de câmbio são fornecidas. |
| rates | Retorna os dados da taxa de câmbio para as moedas na data especificada no pedido. |
| last_update_unix | Retorna um timestamp Unix indicando quando os dados devolvidos foram atualizados pela última vez. |
Código de exemplo
PHP (cURL)
// Set API Endpoint (can be 'latest' or a date 'YYYY-MM-DD')
$endpoint = 'latest';
// Initialize CURL:
$ch = curl_init('https://currencyrateapi.com/api/'.$endpoint.'?base=USD"e=GBP,JPY');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
// Decode JSON response:
$exchangeRates = json_decode($json, true);
// Access the exchange rate values, e.g. GBP:
echo $exchangeRates['rates']['GBP'];
JavaScript (pesquisar)
// Set endpoint (can be 'latest' or a date 'YYYY-MM-DD')
const endpoint = 'latest';
const params = '?base=USD"e=GBP,JPY';
// Get exchange rates via the selected endpoint:
fetch('https://currencyrateapi.com/api/' + endpoint + params)
.then(response => {
return response.json();
})
.then(json => {
// Exchange rate data is stored in json.rates
console.log(json.rates.GBP);
// Timestamp can be accessed in json.last_update_unix
console.log(json.last_update_unix);
})
.catch(error => {
console.error('Fetch error:', error);
});