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
| Action | What it does |
|---|---|
| Convert amount | Convert an amount from one currency to another using the latest rate, or the rate as of a past date. |
| Get coverage | Find the first and last dates for which rates exist for a base currency, optionally narrowed to particular quote currencies or providers. |
| Get currency | Get the details and provider coverage for a single currency by its ISO code. |
| Get historical rates | Look up exchange rates for a specific past date (rates are available back to 1948). |
| Get latest rates | Fetch the most recent exchange rates. |
| 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. |
| 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). |
| Get provider single rate | Get one provider's published rate for a single currency pair, optionally as of a past date. |
| Get single rate | Get the exchange rate for a single currency pair, optionally as of a past date. |
| Get time series | Fetch exchange rates across a date range. |
| List currencies | List the available currencies with their ISO codes, names, and symbols. |
| List providers | List 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 currency
basetextRequired - Currency to convert from, as a 3-letter ISO code.
- To currency
quotetextRequired - Currency to convert to, as a 3-letter ISO code.
- Amount
amountnumberRequired - The amount, in the base currency, to convert.
- Date
datedate - Optional date whose rate to use, in YYYY-MM-DD format. Defaults to the latest rate.
- Providers
providerstext - 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
- Base
basetext - Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default:
USD. - Quotes
quotestext - Comma-separated quote currencies the coverage must include (for example, GBP,JPY). Leave blank for the base currency's overall coverage.
- Providers
providerstext - 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 code
codetextRequired - 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
- Date
datedateRequired - The date to look up, in YYYY-MM-DD format.
- Base
basetext - Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default:
USD. - Quotes
quotestext - Comma-separated target currencies to return (for example, USD,GBP). Leave blank for every available currency.
- Providers
providerstext - Comma-separated provider keys to source rates from (for example, ECB). Leave blank to use the default blended rates.
- Expand providers
expand_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
- Base
basetext - Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default:
USD. - Quotes
quotestext - Comma-separated target currencies to return (for example, USD,GBP). Leave blank for every available currency.
- Providers
providerstext - Comma-separated provider keys to source rates from (for example, ECB). Leave blank to use the default blended rates.
- Expand providers
expand_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 key
keytextRequired - 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 key
keytextRequired - The provider's key as listed by List providers (for example, ECB for the European Central Bank or UST for the U.S. Treasury).
- Date
datedate - 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 date
from_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 date
to_datedate - The last date of the range, in YYYY-MM-DD format. Leave blank to run through the latest available date.
- Base
basetext - Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default:
USD. - Quotes
quotestext - Comma-separated target currencies to return (for example, USD,GBP). Leave blank for every available currency.
- Group
grouptext - Downsample a range to one row per week or per month.One of:
week,month. - Expand providers
expand_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 key
keytextRequired - 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 currency
basetextRequired - Base currency as a 3-letter ISO code (for example, EUR).
- To currency
quotetextRequired - Quote currency as a 3-letter ISO code (for example, USD).
- Date
datedate - 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 currency
basetextRequired - Base currency as a 3-letter ISO code (for example, EUR).
- To currency
quotetextRequired - Quote currency as a 3-letter ISO code (for example, USD).
- Date
datedate - Optional date to price the pair as of, in YYYY-MM-DD format. Defaults to the latest rate.
- Providers
providerstext - 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 date
from_datedateRequired - The first date of the range, in YYYY-MM-DD format.
- End date
to_datedate - The last date of the range, in YYYY-MM-DD format. Leave blank to run through the latest available date.
- Base
basetext - Base currency as a 3-letter ISO code (for example, EUR). Defaults to USD when omitted.Default:
USD. - Quotes
quotestext - Comma-separated target currencies to return (for example, USD,GBP). Leave blank for every available currency.
- Group
grouptext - Downsample the series to one row per week or per month.One of:
week,month. - Providers
providerstext - Comma-separated provider keys to source rates from (for example, ECB). Leave blank to use the default blended rates.
- Expand providers
expand_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
- Scope
scopetext - Whether to return only active currencies (default) or to also include legacy ones.One of:
default(Active currencies),all(Include legacy currencies). - Providers
providerstext - 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"
}
]
}