Free Currency Conversion API

The 100% free solution for handling exchange rate conversions. Our currency API provides live & historical exchange rate data ranging from 1999 until today.

0
1
2
3
4
{
   "data": {
      "USD": 1.078121
   }
}

Latest Rates

Returns the latest exchange rates. All rates are updated daily.

Read more in the documentation

Historical Rates

Returns exchange rates for a specific date in the past.

Read more in the documentation

Time Ranges

Returns exchange rates for a specified time range.

Read more in the documentation

Everything you need to handle exchange rates

Currency data have become a basic need for almost every web developer. For this reason, we believe basic use cases should be available for free!

1k Free Monthly Requests

Perfect for hobby projects. No commercial use allowed.

33 World Currencies

Features the 33 most important international currencies.

Daily Updates

All exchange rates are updated on a daily basis.

What the free currency API includes

Free plan at a glance

Currencies
33, any of them as base
Updates
Daily (end-of-day rates)
History
Daily rates back to 1999-01-01
Monthly quota
1,000 requests
Rate limit
10 requests per minute

Failed requests and validation errors do not count against the quota. Need minute updates, 170+ currencies or time series? Upgrade to currencyapi.com.

Currencies covered

  • EUR Euro
  • USD US Dollar
  • JPY Japanese Yen
  • BGN Bulgarian Lev
  • CZK Czech Koruna
  • DKK Danish Krone
  • GBP British Pound
  • HUF Hungarian Forint
  • PLN Polish Zloty
  • RON Romanian Leu
  • SEK Swedish Krona
  • CHF Swiss Franc
  • ISK Icelandic Króna
  • NOK Norwegian Krone
  • HRK Croatian Kuna
  • RUB Russian Ruble
  • TRY Turkish Lira
  • AUD Australian Dollar
  • BRL Brazilian Real
  • CAD Canadian Dollar
  • CNY Chinese Yuan
  • HKD Hong Kong Dollar
  • IDR Indonesian Rupiah
  • ILS Israeli New Shekel
  • INR Indian Rupee
  • KRW South Korean Won
  • MXN Mexican Peso
  • MYR Malaysian Ringgit
  • NZD New Zealand Dollar
  • PHP Philippine Peso
  • SGD Singapore Dollar
  • THB Thai Baht
  • ZAR South African Rand

The full list is in the documentation.

Get exchange rates in your language

The latest rates for EUR, USD and GBP, with USD as the base (the example from the documentation). Replace YOUR-APIKEY with your free key.

cURL

curl "https://api.freecurrencyapi.com/v1/latest?base_currency=USD&currencies=EUR,USD,GBP" \
  -H "apikey: YOUR-APIKEY"

JavaScript

const res = await fetch(
  "https://api.freecurrencyapi.com/v1/latest?base_currency=USD&currencies=EUR,USD,GBP",
  { headers: { apikey: "YOUR-APIKEY" } }
);
const { data } = await res.json();
console.log(data.EUR);

Python

import requests

res = requests.get(
    "https://api.freecurrencyapi.com/v1/latest",
    params={"base_currency": "USD", "currencies": "EUR,USD,GBP"},
    headers={"apikey": "YOUR-APIKEY"},
)
print(res.json()["data"]["EUR"])

PHP

$ch = curl_init("https://api.freecurrencyapi.com/v1/latest?base_currency=USD&currencies=EUR,USD,GBP");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["apikey: YOUR-APIKEY"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch), true)["data"];
echo $data["EUR"];

Go

req, _ := http.NewRequest("GET",
    "https://api.freecurrencyapi.com/v1/latest?base_currency=USD&currencies=EUR,USD,GBP", nil)
req.Header.Set("apikey", "YOUR-APIKEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
    log.Fatal(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))

Response

{
  "data": {
    "EUR": 0.918456,
    "USD": 1,
    "GBP": 0.789012
  }
}

Prefer a library? There are official SDKs for PHP, Python, JavaScript, Ruby, Go, Rust and R, listed in the documentation. Comparing options? See the best free currency APIs.

Need more?

Currencyapi.com is our commercial premium service, designed to satisfy the highest needs.

172+ Currencies

Minutely Updates

Custom Plans

Range Endpoint

Find out more
currencyapi.com