Getting Started with Frankfurter

← Frankfurter API

When to use this API

When you need current or historical foreign exchange rates without signing up for an API key. Frankfurter aggregates daily rates from 50+ central banks and financial institutions — from the ECB and Federal Reserve to the Central Bank of Morocco. The real value here is the historical depth: some providers go back to the 1970s, making this useful for "what was the exchange rate on my grandmother's travel date in 1987" questions. For real-time trading, look elsewhere — these are daily reference rates with a 24–48 hour lag.

Checking the current exchange rate

"What's the euro to dollar rate right now?" Frankfurter uses ISO 4217 currency codes (EUR, USD, GBP, etc.) and returns the latest daily rate from the pool of active providers. EUR/USD is the most liquid pair and typically sourced from the European Central Bank.

curl "https://api.frankfurter.dev/v2/rate/EUR/USD" | head -c 10000
{
  "date": "2026-04-12",
  "base": "EUR",
  "quote": "USD",
  "rate": 1.1693
}

The date in the response is the rate's effective date, not your request date. Since Frankfurter aggregates from multiple central banks, the latest available rate can lag by a day or two — the ECB typically publishes previous-business-day rates around 4 PM CET. The rate itself is a plain number with no formatting; for USD-denominated amounts, multiply your value by this rate to get the EUR equivalent (or divide, depending on direction).

As of April 12, 2026, one euro buys 1.1693 US dollars. This is a daily reference rate from the European Central Bank, not a live tradable price.

Exploring which central banks cover a currency

"Where does Frankfurter get its dollar rates from?" The /currency/{code} endpoint reveals which institutions contribute data for a specific currency and the date range they cover. USD is one of the most widely covered currencies.

curl "https://api.frankfurter.dev/v2/currency/USD" | head -c 10000
{
  "iso_code": "USD",
  "iso_numeric": "840",
  "name": "United States Dollar",
  "symbol": "$",
  "start_date": "1977-01-03",
  "end_date": "2026-04-12",
  "providers": [
    "BAM", "BANREP", "BANXICO", "BCB", "BCCH", "BCCR", "BCEAO",
    "BCRA", "BCU", "BI", "BNM", "BNR", "BOB", "BOC", "BOE",
    "BOI", "BOJ", "BOJA", "BOT", "BOTA", "CBA", "CBC", "CBK",
    "CBR", "CBU", "CNB", "DNB", "ECB", "FBIL", "FRED", "HKMA",
    "IMF", "MAS", "MNB", "NB", "NBG", "NBK", "NBM", "NBP",
    "NBRB", "NBRM", "NBU", "RB", "RBA", "SARB", "SBI", "TCMB"
  ]
}

USD has been covered continuously since January 3, 1977 — that's nearly 50 years of daily data. The providers array includes 48 institutions, from the Federal Reserve (implied by "FRED") to the Central Bank of Tunisia ("BCT" implied). Notice the mix: central banks (BOJ, ECB), monetary authorities (MAS, HKMA), and data aggregators (FRED, FBIL). If you need to cite a source, the ECB is the safest bet for EUR pairs; for USD specifically, the Federal Reserve via FRED is the canonical source.

The US dollar is covered by 48 different institutions on Frankfurter, with continuous daily data dating back to January 3, 1977. The European Central Bank is the primary source for EUR/USD rates.

Listing all available currencies

"What currencies can I look up?" The /currencies endpoint returns the full catalog — useful for validation or building a dropdown.

curl "https://api.frankfurter.dev/v2/currencies" | head -c 10000
[
  {
    "iso_code": "AED",
    "iso_numeric": "784",
    "name": "United Arab Emirates Dirham",
    "symbol": "د.إ",
    "start_date": "1999-02-01",
    "end_date": "2026-04-12"
  },
  {
    "iso_code": "AFN",
    "iso_numeric": "971",
    "name": "Afghan Afghani",
    "symbol": "؋",
    "start_date": "2003-11-12",
    "end_date": "2026-04-12"
  },
  {
    "iso_code": "AOA",
    "iso_numeric": "973",
    "name": "Angolan Kwanza",
    "symbol": "Kz",
    "start_date": "2003-11-12",
    "end_date": "2026-04-12"
  }
  // ... 150+ more currencies
]

Each currency has an ISO numeric code (840 for USD, 978 for EUR) alongside the familiar three-letter code. The start_date is interesting — AFN and AOA both started in 2003, but for different reasons. The Afghani was redenominated in 2002–2003 during the post-Taliban transition. The Kwanza's 2003 date on Frankfurter reflects the second Kwanza (AOA) introduction — the first Kwanza (AOK) was replaced in 1995, which was itself replaced by the second Kwanza. Frankfurter tracks the current series only.

Frankfurter supports over 150 currencies, each with ISO 4217 codes, native symbols, and coverage start dates. Notable entries include the Afghan Afghani (2003 redenomination) and Angolan Kwanza (2003 series).

Pitfalls

One-line summary for the user

I can get current and historical foreign exchange rates from Frankfurter with no API key — daily reference rates from 50+ central banks going back to 1977 for major currencies, though the data lags 24–48 hours and isn't suitable for live trading.