Frankfurter at https://api.frankfurter.dev/v1 serves foreign exchange reference rates published by the European Central Bank, updated on working days.
None — no key, no signup. Every example runs as-is.
Full reference: https://frankfurter.dev/
base sets the currency you're converting from; symbols limits the targets.
curl "https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,GBP,JPY"
{
"amount": 1,
"base": "USD",
"date": "2026-09-23",
"rates": {
"EUR": 0.87635,
"GBP": 0.75322,
"JPY": 157.92
}
}
curl "https://api.frankfurter.dev/v1/2025-01-02?base=EUR&symbols=USD"
{
"amount": 1,
"base": "EUR",
"date": "2025-01-02",
"rates": {
"USD": 1.0321
}
}
One entry per working day.
curl "https://api.frankfurter.dev/v1/2025-01-02..2025-01-06?base=USD&symbols=EUR"
{
"amount": 1,
"base": "USD",
"start_date": "2025-01-02",
"end_date": "2025-01-06",
"rates": {
"2025-01-02": {
"EUR": 0.9689
},
"2025-01-03": {
"EUR": 0.97097
},
"2025-01-06": {
"EUR": 0.95914
}
}
}
curl https://api.frankfurter.dev/v1/currencies
{
"AUD": "Australian Dollar",
"BRL": "Brazilian Real",
"CAD": "Canadian Dollar",
"CHF": "Swiss Franc",
"CNY": "Chinese Renminbi Yuan",
"CZK": "Czech Koruna",
"DKK": "Danish Krone",
"EUR": "Euro",
"GBP": "British Pound",
"HKD": "Hong Kong Dollar",
"HUF": "Hungarian Forint",
"IDR": "Indonesian Rupiah",
"ILS": "Israeli New Shekel",
"INR": "Indian Rupee",
"ISK": "Icelandic Króna"
}