How to hit the Frankfurter API

Frankfurter at https://api.frankfurter.dev/v1 serves foreign exchange reference rates published by the European Central Bank, updated on working days.

Authentication

None — no key, no signup. Every example runs as-is.

Full reference: https://frankfurter.dev/

Latest rates

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"
Run in PostTaco
Example response (trimmed)
{
  "amount": 1,
  "base": "USD",
  "date": "2026-09-23",
  "rates": {
    "EUR": 0.87635,
    "GBP": 0.75322,
    "JPY": 157.92
  }
}

Rates on a date

curl "https://api.frankfurter.dev/v1/2025-01-02?base=EUR&symbols=USD"
Run in PostTaco
Example response (trimmed)
{
  "amount": 1,
  "base": "EUR",
  "date": "2025-01-02",
  "rates": {
    "USD": 1.0321
  }
}

Rates over a range

One entry per working day.

curl "https://api.frankfurter.dev/v1/2025-01-02..2025-01-06?base=USD&symbols=EUR"
Run in PostTaco
Example response (trimmed)
{
  "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
    }
  }
}

List currencies

curl https://api.frankfurter.dev/v1/currencies
Run in PostTaco
Example response (trimmed)
{
  "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"
}