ExchangeRate-API
App · Accounting & Finance · 6 actions
Convert currencies with ExchangeRate-API: convert an amount between any two of over 160 currencies, get the exchange rate between two currencies or every rate from one, at the latest rates or on a past date back to 1990, get a currency's name, symbol, country and flag, and check your plan's request quota. Needs a free ExchangeRate-API key; past dates and currency details need a paid plan.
Actions
| Action | What it does |
|---|---|
| Convert an amount | Convert an amount of money from one currency to another at ExchangeRate-API's latest rate, or at its rate on a past date, which needs a paid plan (Pro or above). |
| Get an exchange rate | Get the exchange rate between two currencies, the latest one or the one on a past date, which needs a paid plan (Pro or above). |
| Get currency details | Get a currency's name, symbol, country and flag, with its latest exchange rate from another currency. |
| Get every rate for a currency | Get the exchange rates from one currency to every currency ExchangeRate-API supports, or to just the ones you list, in one step. |
| Get request quota | Get how many requests your ExchangeRate-API plan allows a month, how many are left and when they renew. |
| List currencies | List every currency ExchangeRate-API has rates for, each with its three-letter code and name, in code order. |
Convert an amount
Convert an amount of money from one currency to another at ExchangeRate-API's latest rate, or at its rate on a past date, which needs a paid plan (Pro or above). Comes back with the converted amount, the rate used and the conversion as a sentence.
Inputs
- Amount
amountnumberRequired - How much to convert, in the From currency, such as 100 or 19.99. A negative amount, such as a refund, converts too.
- From currency
from_currencytextRequired - The currency to convert from, as a three-letter code such as USD. List currencies lists every code ExchangeRate-API supports.
- To currency
to_currencytextRequired - The currency to convert into, as a three-letter code such as EUR.
- Date
on_datedate - The day whose rate to use, back to 1990-01-01. Leave blank for the latest rate. A date needs a paid ExchangeRate-API plan (Pro or above).
Outputs
amountnumber- The amount that was converted, in the From currency
converted_amountnumber- The amount in the To currency, unrounded: round it for display, or use Summary
datetext- The day the rate is for, YYYY-MM-DD: the date asked for, or the day ExchangeRate-API last updated its latest rates (UTC)
from_currencytext- The From currency's three-letter code, e.g. USD
next_update_attext- When it will next update them, as an ISO 8601 UTC time. Empty for a rate on a past date
ratenumber- The rate used: how much of the To currency one unit of the From currency buys
summarytext- The conversion as a sentence, ready to show someone, e.g. 100 USD = 85.12 EUR
to_currencytext- The To currency's three-letter code, e.g. EUR
updated_attext- When ExchangeRate-API last updated its latest rates, as an ISO 8601 UTC time. Empty for a rate on a past date
Example output
{
"amount": 100,
"converted_amount": 88.152,
"date": "2026-09-30",
"from_currency": "USD",
"next_update_at": "2026-10-01T00:00:01Z",
"rate": 0.88152,
"summary": "100 USD = 88.15 EUR",
"to_currency": "EUR",
"updated_at": "2026-09-30T00:00:01Z"
}Get an exchange rate
Get the exchange rate between two currencies, the latest one or the one on a past date, which needs a paid plan (Pro or above). Comes back with the rate both ways round, so there is no need to divide one into the other.
Inputs
- From currency
from_currencytextRequired - The currency to convert from, as a three-letter code such as USD. List currencies lists every code ExchangeRate-API supports.
- To currency
to_currencytextRequired - The currency to convert into, as a three-letter code such as EUR.
- Date
on_datedate - The day whose rate to use, back to 1990-01-01. Leave blank for the latest rate. A date needs a paid ExchangeRate-API plan (Pro or above).
Outputs
datetext- The day the rate is for, YYYY-MM-DD: the date asked for, or the day ExchangeRate-API last updated its latest rates (UTC)
from_currencytext- The From currency's three-letter code, e.g. USD
inverse_ratenumber- The rate the other way round: how much of the From currency one unit of the To currency buys
next_update_attext- When it will next update them, as an ISO 8601 UTC time. Empty for a rate on a past date
ratenumber- How much of the To currency one unit of the From currency buys
summarytext- The rate as a sentence, e.g. 1 USD = 0.8512 EUR
to_currencytext- The To currency's three-letter code, e.g. EUR
updated_attext- When ExchangeRate-API last updated its latest rates, as an ISO 8601 UTC time. Empty for a rate on a past date
Example output
{
"date": "2026-09-30",
"from_currency": "USD",
"inverse_rate": 1.134404,
"next_update_at": "2026-10-01T00:00:01Z",
"rate": 0.88152,
"summary": "1 USD = 0.88152 EUR",
"to_currency": "EUR",
"updated_at": "2026-09-30T00:00:01Z"
}Get currency details
Get a currency's name, symbol, country and flag, with its latest exchange rate from another currency. Needs a paid ExchangeRate-API plan (Pro or above).
Inputs
- Currency
currencytextRequired - The currency to describe, as a three-letter code such as JPY.
- Base currency
base_currencytext - The currency to give the exchange rate from, as a three-letter code such as USD. Leave blank for the US dollar.
Outputs
base_currencytext- The currency the rate is from, e.g. USD
countrytext- The country or region that uses it, e.g. Japan or European Union
country_codetext- That country's or region's two-letter code, e.g. JP
currencytext- The currency's three-letter code, e.g. JPY
currency_nametext- Its name, e.g. Japanese Yen
currency_short_nametext- Its short name, e.g. Yen
flag_urltext- A link to a picture of its flag
next_update_attext- When it will next update them, as an ISO 8601 UTC time. Empty for a rate on a past date
ratenumber- How much of the currency one unit of the base currency buys, at the latest rate
symboltext- The symbol it is written with, e.g. ¥
updated_attext- When ExchangeRate-API last updated its latest rates, as an ISO 8601 UTC time. Empty for a rate on a past date
Example output
{
"base_currency": "USD",
"country": "Japan",
"country_code": "JP",
"currency": "JPY",
"currency_name": "Japanese Yen",
"currency_short_name": "Yen",
"flag_url": "https://www.exchangerate-api.com/img/docs/JP.gif",
"next_update_at": "2026-10-01T00:00:01Z",
"rate": 157.389062,
"symbol": "\u00a5",
"updated_at": "2026-09-30T00:00:01Z"
}Get every rate for a currency
Get the exchange rates from one currency to every currency ExchangeRate-API supports, or to just the ones you list, in one step. The latest rates, or those on a past date back to 1990, which needs a paid plan (Pro or above).
Inputs
- Base currency
base_currencytext - The currency every rate is from: each rate is how much of another currency one unit of it buys. A three-letter code such as USD; leave blank for the US dollar.
- Only these currencies
currenciestext - Only the rates to these currencies, as three-letter codes separated by commas or spaces, such as EUR, GBP, JPY, in the order to list them. Leave blank for every currency.
- Date
on_datedate - The day to get the rates for, back to 1990-01-01. Leave blank for the latest rates. A date needs a paid ExchangeRate-API plan (Pro or above), and before 2021 has rates for 35 major currencies only.
Outputs
base_currencytext- The currency every rate is from, e.g. USD
currency_countnumber- How many rates there are
datetext- The day the rates are for, YYYY-MM-DD: the date asked for, or the day ExchangeRate-API last updated its latest rates (UTC)
next_update_attext- When it will next update them, as an ISO 8601 UTC time. Empty for a rate on a past date
rateslist- One entry per currency: the base currency first, at 1, then the rest in code order, or in the order they were asked for
rates_by_currencyobject- The same rates keyed by currency code, for looking one up without searching the list
updated_attext- When ExchangeRate-API last updated its latest rates, as an ISO 8601 UTC time. Empty for a rate on a past date
Example output
{
"base_currency": "USD",
"currency_count": 3,
"date": "2026-09-30",
"next_update_at": "2026-10-01T00:00:01Z",
"rates": [
{
"currency": "EUR",
"rate": 0.88152
},
{
"currency": "GBP",
"rate": 0.755961
},
{
"currency": "JPY",
"rate": 157.389062
}
],
"rates_by_currency": {
"EUR": 0.88152,
"GBP": 0.755961,
"JPY": 157.389062
},
"updated_at": "2026-09-30T00:00:01Z"
}Get request quota
Get how many requests your ExchangeRate-API plan allows a month, how many are left and when they renew. The check counts as a request itself, and its figures can lag 5 to 60 minutes behind.
Inputs
None.
Outputs
next_refresh_datetext- The next date the requests renew, YYYY-MM-DD, worked out from the renewal day
percent_usednumber- The share used, as a percentage, e.g. 14.6 for 14.6%
plan_quotanumber- How many requests the plan allows a month
refresh_day_of_monthnumber- The day of the month the requests renew: the day the plan started
requests_remainingnumber- How many are left this month. The count lags the requests by 5 to 60 minutes
requests_usednumber- How many have been used this month
Example output
{
"next_refresh_date": "2026-10-17",
"percent_used": 14.6,
"plan_quota": 30000,
"refresh_day_of_month": 17,
"requests_remaining": 25623,
"requests_used": 4377
}List currencies
List every currency ExchangeRate-API has rates for, each with its three-letter code and name, in code order.
Inputs
None.
Outputs
codeslist- Just the codes, e.g. to check whether one is supported before using it
currencieslist- Every supported currency, in code order
currency_countnumber- How many currencies there are
Example output
{
"codes": [
"AED",
"AFN",
"ALL",
"AMD",
"ANG",
"AOA",
"ARS",
"AUD",
"AWG",
"AZN",
"BAM",
"BBD"
],
"currencies": [
{
"code": "AED",
"name": "UAE Dirham"
},
{
"code": "AFN",
"name": "Afghan Afghani"
},
{
"code": "ALL",
"name": "Albanian Lek"
},
{
"code": "AMD",
"name": "Armenian Dram"
},
{
"code": "ANG",
"name": "Netherlands Antillian Guilder"
},
{
"code": "AOA",
"name": "Angolan Kwanza"
},
{
"code": "ARS",
"name": "Argentine Peso"
},
{
"code": "AUD",
"name": "Australian Dollar"
},
{
"code": "AWG",
"name": "Aruban Florin"
},
{
"code": "AZN",
"name": "Azerbaijani Manat"
},
{
"code": "BAM",
"name": "Bosnia and Herzegovina Convertible Mark"
},
{
"code": "BBD",
"name": "Barbados Dollar"
}
],
"currency_count": 12
}