Frankfurter

App · Accounting & Finance · 12 actions

Fetch foreign-exchange rates and currency data through Frankfurter's keyless API: latest and historical rates, time series, single-pair lookups, currency conversion, date coverage, the list of currencies, and the central-bank providers behind the rates, including each provider's own unblended rates. Over 220 currencies are tracked from more than 100 central banks and official sources, back to 1948. No account or API key required.

Actions

ActionWhat it does
Convert amountConvert an amount from one currency to another using the latest rate, or the rate as of a past date.
Get coverageFind the first and last dates for which rates exist for a base currency, optionally narrowed to particular quote currencies or providers.
Get currencyGet the details and provider coverage for a single currency by its ISO code.
Get historical ratesLook up exchange rates for a specific past date (rates are available back to 1948).
Get latest ratesFetch the most recent exchange rates.
Get providerGet one central bank or official source by its key: its name, country, rate type, pivot currency, publishing cadence, the dates it covers, and every currency it publishes.
Get provider ratesFetch the rates one provider published, unblended: the latest by default, a single past day with a date, or a series with a start date (and optional end date and weekly or monthly grouping).
Get provider single rateGet one provider's published rate for a single currency pair, optionally as of a past date.
Get single rateGet the exchange rate for a single currency pair, optionally as of a past date.
Get time seriesFetch exchange rates across a date range.
List currenciesList the available currencies with their ISO codes, names, and symbols.
List providersList the central-bank data sources behind the API, with their keys, names, and rate types.

Convert amount

Convert an amount from one currency to another using the latest rate, or the rate as of a past date.

Inputs

From currencybasetextRequired
Currency to convert from, as a 3-letter ISO code.
To currencyquotetextRequired
Currency to convert to, as a 3-letter ISO code.
AmountamountnumberRequired
The amount, in the base currency, to convert.
Datedatedate
Optional date whose rate to use, in YYYY-MM-DD format. Defaults to the latest rate.
Providersproviderstext
Comma-separated provider keys to source the rate from (for example, ECB). Leave blank for the default blended rate.

Outputs

conversionobject
Example output
{
  "conversion": {
    "amount": 10.0,
    "base": "EUR",
    "date": "2026-07-24",
    "quote": "USD",
    "rate": 1.1403,
    "result": 11.403
  }
}

Get coverage

Find the first and last dates for which rates exist for a base currency, optionally narrowed to particular quote currencies or providers. Use it to pick a valid date range before fetching a time series or historical rates.

Inputs

Basebasetext
Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default: USD.
Quotesquotestext
Comma-separated quote currencies the coverage must include (for example, GBP,JPY). Leave blank for the base currency's overall coverage.
Providersproviderstext
Comma-separated provider keys to restrict the coverage to (for example, ECB). Leave blank for all providers.

Outputs

coverageobject
Example output
{
  "coverage": {
    "base": "USD",
    "end_date": "2026-10-08",
    "providers": null,
    "quotes": [
      "EUR",
      "GBP"
    ],
    "start_date": "1949-12-21"
  }
}

Get currency

Get the details and provider coverage for a single currency by its ISO code.

Inputs

Currency codecodetextRequired
The currency's 3-letter ISO code (for example, EUR).

Outputs

currencyobject
Example output
{
  "currency": {
    "iso_code": "EUR",
    "iso_numeric": "978",
    "name": "Euro",
    "start_date": "1999-01-04",
    "symbol": "\u20ac"
  }
}

Get historical rates

Look up exchange rates for a specific past date (rates are available back to 1948).

Inputs

DatedatedateRequired
The date to look up, in YYYY-MM-DD format.
Basebasetext
Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default: USD.
Quotesquotestext
Comma-separated target currencies to return (for example, USD,GBP). Leave blank for every available currency.
Providersproviderstext
Comma-separated provider keys to source rates from (for example, ECB). Leave blank to use the default blended rates.
Expand providersexpand_providerstrue/false
Set to true to include, on each rate, the list of providers that contributed to the blended value.Default: false.

Outputs

rateslist
Example output
{
  "rates": [
    {
      "base": "EUR",
      "date": "1999-01-04",
      "quote": "USD",
      "rate": 1.1789
    },
    {
      "base": "EUR",
      "date": "1999-01-04",
      "quote": "GBP",
      "rate": 0.7111
    }
  ]
}

Get latest rates

Fetch the most recent exchange rates. Optionally change the base currency, filter the target currencies, or scope to specific providers.

Inputs

Basebasetext
Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default: USD.
Quotesquotestext
Comma-separated target currencies to return (for example, USD,GBP). Leave blank for every available currency.
Providersproviderstext
Comma-separated provider keys to source rates from (for example, ECB). Leave blank to use the default blended rates.
Expand providersexpand_providerstrue/false
Set to true to include, on each rate, the list of providers that contributed to the blended value.Default: false.

Outputs

rateslist
Example output
{
  "rates": [
    {
      "base": "EUR",
      "date": "2026-07-24",
      "quote": "GBP",
      "rate": 0.85445
    },
    {
      "base": "EUR",
      "date": "2026-07-24",
      "quote": "USD",
      "rate": 1.1403
    }
  ]
}

Get provider

Get one central bank or official source by its key: its name, country, rate type, pivot currency, publishing cadence, the dates it covers, and every currency it publishes.

Inputs

Provider keykeytextRequired
The provider's key as listed by List providers (for example, ECB for the European Central Bank or UST for the U.S. Treasury).

Outputs

providerobject
Example output
{
  "provider": {
    "country_code": "EU",
    "currencies": [
      "AUD",
      "CAD",
      "CHF",
      "EUR",
      "GBP",
      "JPY",
      "USD"
    ],
    "data_url": "https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html",
    "end_date": "2026-10-08",
    "frequency": "daily",
    "key": "ECB",
    "name": "European Central Bank",
    "pivot_currency": "EUR",
    "publish_cadence": "daily",
    "rate_type": "reference rate",
    "start_date": "1999-01-04"
  }
}

Get provider rates

Fetch the rates one provider published, unblended: the latest by default, a single past day with a date, or a series with a start date (and optional end date and weekly or monthly grouping). Use this for compliance or accounting work that must cite a specific central bank's reference rate.

Inputs

Provider keykeytextRequired
The provider's key as listed by List providers (for example, ECB for the European Central Bank or UST for the U.S. Treasury).
Datedatedate
A single day to look up, in YYYY-MM-DD format. Leave blank, along with the start date, for the latest rates. Cannot be combined with a start or end date.
Start datefrom_datedate
The first date of a range, in YYYY-MM-DD format. Set this instead of a single date to get a time series.
End dateto_datedate
The last date of the range, in YYYY-MM-DD format. Leave blank to run through the latest available date.
Basebasetext
Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default: USD.
Quotesquotestext
Comma-separated target currencies to return (for example, USD,GBP). Leave blank for every available currency.
Groupgrouptext
Downsample a range to one row per week or per month.One of: week, month.
Expand providersexpand_providerstrue/false
Set to true to include, on each rate, the list of providers that contributed to the blended value.Default: false.

Outputs

rateslist
Example output
{
  "rates": [
    {
      "base": "EUR",
      "date": "2026-10-08",
      "quote": "GBP",
      "rate": 0.84698
    },
    {
      "base": "EUR",
      "date": "2026-10-08",
      "quote": "USD",
      "rate": 1.1186
    }
  ]
}

Get provider single rate

Get one provider's published rate for a single currency pair, optionally as of a past date.

Inputs

Provider keykeytextRequired
The provider's key as listed by List providers (for example, ECB for the European Central Bank or UST for the U.S. Treasury).
From currencybasetextRequired
Base currency as a 3-letter ISO code (for example, EUR).
To currencyquotetextRequired
Quote currency as a 3-letter ISO code (for example, USD).
Datedatedate
Optional date to price the pair as of, in YYYY-MM-DD format. Defaults to the provider's latest rate.

Outputs

rateobject
Example output
{
  "rate": {
    "base": "EUR",
    "date": "2026-09-01",
    "quote": "USD",
    "rate": 1.159
  }
}

Get single rate

Get the exchange rate for a single currency pair, optionally as of a past date.

Inputs

From currencybasetextRequired
Base currency as a 3-letter ISO code (for example, EUR).
To currencyquotetextRequired
Quote currency as a 3-letter ISO code (for example, USD).
Datedatedate
Optional date to price the pair as of, in YYYY-MM-DD format. Defaults to the latest rate.
Providersproviderstext
Comma-separated provider keys to source the rate from (for example, ECB). Leave blank for the default blended rate.

Outputs

rateobject
Example output
{
  "rate": {
    "base": "EUR",
    "date": "2026-07-24",
    "quote": "USD",
    "rate": 1.1403
  }
}

Get time series

Fetch exchange rates across a date range. Optionally downsample to weekly or monthly buckets to keep large ranges compact.

Inputs

Start datefrom_datedateRequired
The first date of the range, in YYYY-MM-DD format.
End dateto_datedate
The last date of the range, in YYYY-MM-DD format. Leave blank to run through the latest available date.
Basebasetext
Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default: USD.
Quotesquotestext
Comma-separated target currencies to return (for example, USD,GBP). Leave blank for every available currency.
Groupgrouptext
Downsample the series to one row per week or per month.One of: week, month.
Providersproviderstext
Comma-separated provider keys to source rates from (for example, ECB). Leave blank to use the default blended rates.
Expand providersexpand_providerstrue/false
Set to true to include, on each rate, the list of providers that contributed to the blended value.Default: false.

Outputs

rateslist
Example output
{
  "rates": [
    {
      "base": "EUR",
      "date": "2026-01-01",
      "quote": "USD",
      "rate": 1.175
    },
    {
      "base": "EUR",
      "date": "2026-01-02",
      "quote": "USD",
      "rate": 1.1741
    }
  ]
}

List currencies

List the available currencies with their ISO codes, names, and symbols. Optionally include legacy currencies.

Inputs

Scopescopetext
Whether to return only active currencies (default) or to also include legacy ones.One of: default (Active currencies), all (Include legacy currencies).
Providersproviderstext
Comma-separated provider keys (for example, ECB). When set, only currencies those providers publish are returned.

Outputs

currencieslist
Example output
{
  "currencies": [
    {
      "iso_code": "EUR",
      "iso_numeric": "978",
      "name": "Euro",
      "start_date": "1999-01-04",
      "symbol": "\u20ac"
    },
    {
      "iso_code": "USD",
      "iso_numeric": "840",
      "name": "United States Dollar",
      "start_date": "1999-01-04",
      "symbol": "$"
    }
  ]
}

List providers

List the central-bank data sources behind the API, with their keys, names, and rate types.

Inputs

None.

Outputs

providerslist
Example output
{
  "providers": [
    {
      "country_code": "EU",
      "key": "ECB",
      "name": "European Central Bank",
      "pivot_currency": "EUR",
      "rate_type": "reference rate"
    },
    {
      "country_code": "MX",
      "key": "BANXICO",
      "name": "Banco de M\u00e9xico",
      "pivot_currency": "MXN",
      "rate_type": "FIX"
    }
  ]
}

On this page