# ExchangeRate-API

> 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.

App · Accounting & Finance · 6 actions. Web page: https://docs.lodol.com/docs/integrations/exchangerate-api

## Actions

### 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 (`amount`, number, required): 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_currency`, text, required): The currency to convert from, as a three-letter code such as USD. List currencies lists every code ExchangeRate-API supports.
- To currency (`to_currency`, text, required): The currency to convert into, as a three-letter code such as EUR.
- Date (`on_date`, date): 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**

- `amount` (number): The amount that was converted, in the From currency
- `converted_amount` (number): The amount in the To currency, unrounded: round it for display, or use Summary
- `date` (text): 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_currency` (text): The From currency's three-letter code, e.g. USD
- `next_update_at` (text): When it will next update them, as an ISO 8601 UTC time. Empty for a rate on a past date
- `rate` (number): The rate used: how much of the To currency one unit of the From currency buys
- `summary` (text): The conversion as a sentence, ready to show someone, e.g. 100 USD = 85.12 EUR
- `to_currency` (text): The To currency's three-letter code, e.g. EUR
- `updated_at` (text): When ExchangeRate-API last updated its latest rates, as an ISO 8601 UTC time. Empty for a rate on a past date

**Example output**

```json
{
  "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_currency`, text, required): The currency to convert from, as a three-letter code such as USD. List currencies lists every code ExchangeRate-API supports.
- To currency (`to_currency`, text, required): The currency to convert into, as a three-letter code such as EUR.
- Date (`on_date`, date): 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**

- `date` (text): 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_currency` (text): The From currency's three-letter code, e.g. USD
- `inverse_rate` (number): The rate the other way round: how much of the From currency one unit of the To currency buys
- `next_update_at` (text): When it will next update them, as an ISO 8601 UTC time. Empty for a rate on a past date
- `rate` (number): How much of the To currency one unit of the From currency buys
- `summary` (text): The rate as a sentence, e.g. 1 USD = 0.8512 EUR
- `to_currency` (text): The To currency's three-letter code, e.g. EUR
- `updated_at` (text): When ExchangeRate-API last updated its latest rates, as an ISO 8601 UTC time. Empty for a rate on a past date

**Example output**

```json
{
  "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 (`currency`, text, required): The currency to describe, as a three-letter code such as JPY.
- Base currency (`base_currency`, text): The currency to give the exchange rate from, as a three-letter code such as USD. Leave blank for the US dollar.

**Outputs**

- `base_currency` (text): The currency the rate is from, e.g. USD
- `country` (text): The country or region that uses it, e.g. Japan or European Union
- `country_code` (text): That country's or region's two-letter code, e.g. JP
- `currency` (text): The currency's three-letter code, e.g. JPY
- `currency_name` (text): Its name, e.g. Japanese Yen
- `currency_short_name` (text): Its short name, e.g. Yen
- `flag_url` (text): A link to a picture of its flag
- `next_update_at` (text): When it will next update them, as an ISO 8601 UTC time. Empty for a rate on a past date
- `rate` (number): How much of the currency one unit of the base currency buys, at the latest rate
- `symbol` (text): The symbol it is written with, e.g. ¥
- `updated_at` (text): When ExchangeRate-API last updated its latest rates, as an ISO 8601 UTC time. Empty for a rate on a past date

**Example output**

```json
{
  "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_currency`, text): 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 (`currencies`, text): 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_date`, date): 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_currency` (text): The currency every rate is from, e.g. USD
- `currency_count` (number): How many rates there are
- `date` (text): 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_at` (text): When it will next update them, as an ISO 8601 UTC time. Empty for a rate on a past date
- `rates` (list): 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_currency` (object): The same rates keyed by currency code, for looking one up without searching the list
- `updated_at` (text): When ExchangeRate-API last updated its latest rates, as an ISO 8601 UTC time. Empty for a rate on a past date

**Example output**

```json
{
  "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_date` (text): The next date the requests renew, YYYY-MM-DD, worked out from the renewal day
- `percent_used` (number): The share used, as a percentage, e.g. 14.6 for 14.6%
- `plan_quota` (number): How many requests the plan allows a month
- `refresh_day_of_month` (number): The day of the month the requests renew: the day the plan started
- `requests_remaining` (number): How many are left this month. The count lags the requests by 5 to 60 minutes
- `requests_used` (number): How many have been used this month

**Example output**

```json
{
  "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**

- `codes` (list): Just the codes, e.g. to check whether one is supported before using it
- `currencies` (list): Every supported currency, in code order
- `currency_count` (number): How many currencies there are

**Example output**

```json
{
  "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
}
```
