TL;DR
What it does: Official European Central Bank foreign exchange reference rates for 30+ currencies including EUR, USD, GBP, JPY, CHF. Supports historical data back to 1999 and cross-currency conversion.
Quick start: curl "https://api.frankfurter.app/latest?from=USD&to=EUR,GBP,JPY"
No API key needed - just call the URL
Overview
Frankfurter is a free, open-source currency exchange rate API that sources its data from the European Central Bank (ECB). Based in Frankfurt, Germany, the ECB publishes official reference rates for the euro against 30+ global currencies every working day. Frankfurter wraps this data in a clean REST API that supports live rates, historical rates back to 1999, cross-currency conversion (USD to EUR, GBP to JPY, etc.), and time-series date ranges. It requires no API key, no registration, and has no rate limits for reasonable usage. The API is trusted by developers across Europe, North America, and Asia for financial applications, e-commerce pricing, travel tools, and currency dashboards.
Live Example
Here's the exact URL to convert 1 USD to EUR, JPY, and GBP, and the real response from the European Central Bank data:
The URL to call (USD to EUR, JPY, GBP):
https://api.frankfurter.app/latest?from=USD&to=EUR,JPY,GBP
Try This URL Now →
The actual response you get:
{
"amount": 1.0,
"base": "USD",
"date": "2026-06-12",
"rates": {
"EUR": 0.86453,
"JPY": 160.2,
"GBP": 0.74613
}
}
What does this data mean?
Converting 1 USD at the latest ECB reference rates (June 12, 2026): It buys about 0.86 euro cents, 160.2 Japanese yen, or 0.75 British pounds.
- amount
- The base amount you're converting (1.0 means "1 unit of base currency")
- base
- The source currency (USD = United States Dollar). This is the currency you're converting from.
- date
- The ECB fixing date for these rates (2026-06-12). Updated every working day around 16:00 CET.
- rates.EUR
- How many Euros you get per 1 USD: 0.86453 EUR. The euro is the base currency of the ECB and is used by 20 EU member states including Germany, France, Italy, and Spain.
- rates.JPY
- How many Japanese Yen you get per 1 USD: 160.2 JPY. Japan is one of the largest economies outside the EU.
- rates.GBP
- How many British Pounds you get per 1 USD: 0.74613 GBP. The United Kingdom publishes its own rates alongside the ECB.
How to use this API
JavaScript Example
// Convert 1 USD to EUR, JPY, and GBP using ECB reference rates
const fromCurrency = "USD";
const toCurrencies = "EUR,JPY,GBP";
const url = `https://api.frankfurter.app/latest?from=${fromCurrency}&to=${toCurrencies}`;
fetch(url)
.then(res => res.json())
.then(data => {
console.log(`Date: ${data.date}`);
console.log(`1 ${data.base} = ${data.rates.EUR} EUR`);
console.log(`1 ${data.base} = ${data.rates.JPY} JPY`);
console.log(`1 ${data.base} = ${data.rates.GBP} GBP`);
});
Python Example
import requests
# Get ECB reference rates for USD to EUR, JPY, GBP
url = "https://api.frankfurter.app/latest"
params = {"from": "USD", "to": "EUR,JPY,GBP"}
response = requests.get(url, params=params)
data = response.json()
print(f"Date: {data['date']}")
print(f"1 USD = {data['rates']['EUR']} EUR")
print(f"1 USD = {data['rates']['JPY']} JPY")
print(f"1 USD = {data['rates']['GBP']} GBP")
cURL Example
# Latest USD to EUR, JPY, GBP
curl "https://api.frankfurter.app/latest?from=USD&to=EUR,JPY,GBP"
# All rates from EUR (default base)
curl "https://api.frankfurter.app/latest"
# Historical rate for January 1, 2024
curl "https://api.frankfurter.app/2024-01-01?from=GBP&to=USD"
Frequently Asked Questions
- Is Frankfurter really free?
- Yes. Frankfurter has no API keys, no signup, and no documented rate limits. It's a public open-source service built on open ECB data from Frankfurt, Germany.
- What currencies are supported?
- 30+ major currencies including EUR, USD, GBP, JPY, AUD, CAD, CHF, CNY, SEK, NOK, NZD, INR, BRL, ZAR, and more. Full list at
https://api.frankfurter.app/currencies. - Can I convert between any two currencies?
- Yes. Use
from=USD&to=EURfor a single pair orto=EUR,GBP,JPYfor multiple targets. The API uses EUR as the base for internal conversion. - How far back does historical data go?
- Rates are available from January 4, 1999 (when the euro was launched by the European Central Bank) to the present day. Use
/YYYY-MM-DDin the URL. - Can I get rates for a date range?
- Yes.
/2024-01-01..2024-06-30?from=USD&to=EURreturns all ECB fixings between those dates, perfect for charting currency trends over time. - Are these live market rates or daily fixings?
- These are ECB daily reference rates (fixings), updated each working day around 16:00 CET. They are authoritative daily benchmarks used by central banks across the European Union, not real-time streaming rates.
API Details
- Base URL
https://api.frankfurter.app- Documentation
- https://www.frankfurter.app
- Category
- Finance
- Authentication
- None required - completely free
- Currencies
- 30+ currencies (EUR, USD, GBP, JPY, AUD, CAD, CHF, CNY and more)
- Rate Limit
- No strict limit for reasonable usage
- CORS
- Yes - supports browser-based requests