API de câmbio de moedas para desenvolvedores

A CurrencyRateAPI oferece acesso ultrarrápido a taxas de câmbio atualizadas e históricas, provenientes diretamente de bancos centrais confiáveis, incluindo o Banco Central Europeu.

Criada para desenvolvedores, nossa API RESTful fornece respostas JSON claras e permite fácil integração em sites, aplicativos ou sistemas internos em minutos — sem complexidade desnecessária.

GET https://currencyrateapi.com/api/latest?
    base=USD HTTP/1.1

{
    "success": true,
    "base": "usd",
    "date": "2026-01-18",
    "rates": {
        "GBP": 0.8820,
        "JPY": 132.36,
        "EUR": 0.8133
    },
    "last_update_unix": 1737214206
}

Utilização da API

Use esta solicitação para recuperar a lista completa de moedas suportadas com seus respectivos códigos de 3 letras.

GET https://currencyrateapi.com/api/codes HTTP/1.1

Use esta solicitação para obter as taxas de câmbio mais recentes de GBP e JPY em relação ao USD.

GET https://currencyrateapi.com/api/latest?base=USD&codes=GBP,JPY HTTP/1.1

Use esta solicitação para obter as taxas de câmbio históricas de USD, EUR e CAD em relação à GBP em 25 de maio de 2020.

GET https://currencyrateapi.com/api/2020-05-25?base=GBP&codes=USD,EUR,CAD HTTP/1.1

Linguagens de Programação

CurrencyRateAPI pode ser integrado a qualquer projeto e é compatível com todas as principais linguagens de programação.
Projetada para flexibilidade e facilidade de uso, nossa API se integra naturalmente a aplicações web, mobile e backend — independentemente da sua infraestrutura tecnológica.
$baseCurrency = 'USD';
$codes = 'EUR,CAD,JPY';

$url = 'https://currencyrateapi.com/api/latest?codes=' . $codes .
       '&base=' . $baseCurrency;

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$jsonResponse = curl_exec($ch);
curl_close($ch);

$objResponse = json_decode($jsonResponse);
echo "1 " . $baseCurrency . " is " . $objResponse->rates->EUR . " Euros";
/* Outputs 1 USD is 0.8133 Euros */
base = 'USD'
codes = 'EUR,CAD,JPY'

url = (
    f'https://currencyrateapi.com/api/latest?codes={codes}'
    f'&base={base}'
)

response = requests.get(url)
data = response.json()

print(f"1 {base} is {data['rates']['EUR']} Euros")
const base = 'USD';
const codes = 'EUR,CAD,JPY';

const url = `https://currencyrateapi.com/api/latest?codes=${codes}` +
            `&base=${base}`;

(async () => {
  try {
    const res = await fetch(url);
    const data = await res.json();
    console.log(
      `1 ${base} is ${data.rates.EUR} Euros`
    );
  } catch (err) {
    console.error('Error:', err);
  }
})();
base = 'USD'
codes = 'EUR,CAD,JPY'

url = URI(
  "https://currencyrateapi.com/api/latest?codes=#{codes}" \
  "&base=#{base}"
)

response = Net::HTTP.get(url)
data = JSON.parse(response)

puts "1 #{base} is #{data['rates']['EUR']} Euros"
String base = "USD";
String codes = "EUR,CAD,JPY";
String url = "https://currencyrateapi.com/api/latest?codes=" +
             codes + "&base=" + base;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create(url))
    .build();

HttpResponse<String> response =
    client.send(request, HttpResponse.BodyHandlers.ofString());

JSONObject data = new JSONObject(response.body());
System.out.println(
    "1 " + base + " is " +
    data.getJSONObject("rates").getDouble("EUR") + " Euros"
);
base := "USD"
codes := "EUR,CAD,JPY"
url := "https://currencyrateapi.com/api/latest?codes=" +
       codes + "&base=" + base

resp, err := http.Get(url)
if err != nil {
    panic(err)
}
defer resp.Body.Close()

var data struct {
    Rates map[string]float64 `json:"rates"`
}

if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
    panic(err)
}

fmt.Printf(
    "1 %s is %.6f Euros\n",
    base, data.Rates["EUR"],
)
string base = "USD";
string codes = "EUR,CAD,JPY";

string url =
    $"https://currencyrateapi.com/api/latest?codes={codes}" +
    $"&base={base}";

using HttpClient client = new HttpClient();
string response = await client.GetStringAsync(url);

using JsonDocument doc = JsonDocument.Parse(response);
double eur = doc.RootElement
                .GetProperty("rates")
                .GetProperty("EUR")
                .GetDouble();

Console.WriteLine($"1 {base} is {eur} Euros");

Perguntas frequentes

As perguntas mais frequentes sobre o CurrencyRateAPI, limites de uso, tempo de atividade e como começar a usar sua chave de API.
O que é CurrencyRateAPI e como funciona?
A API de Taxas de Câmbio é um serviço RESTful rápido e confiável que fornece taxas de câmbio precisas para 1131 das moedas globais em formato JSON. Projetada para desenvolvedores, startups e empresas consolidadas, ela oferece uma interface simples e eficiente para acessar dados financeiros históricos e em tempo real — seja para criar ferramentas internas, aplicativos ou plataformas voltadas para o cliente.
Quem mantém e opera o serviço da API de Taxas de Câmbio?
A API de Taxas de Câmbio é totalmente desenvolvida, mantida e operada por nossa equipe, com foco em fornecer uma interface de dados estável e amigável para desenvolvedores. O serviço foi criado para atender às necessidades de startups, pequenas empresas e aplicações corporativas que exigem acesso confiável a dados de câmbio.
Qual é o tempo de atividade e a disponibilidade típicos da API?
A API de Taxas de Câmbio mantém um tempo de atividade consistente de 99,9%, com base em uma média móvel de 12 meses. O serviço é monitorado 24 horas por dia, 7 dias por semana, para garantir alta disponibilidade, confiabilidade e acesso ininterrupto aos dados de câmbio.
Posso obter as taxas de câmbio para uma data específica?
Sim, você pode solicitar taxas de câmbio históricas para qualquer data específica a partir de 04/01/1999 usando o endpoint de histórico. Se os dados para a data solicitada estiverem ausentes, a API retornará automaticamente as taxas para a data anterior mais próxima (dentro de uma janela de 8 dias).