Currency conversion API

Currency Converter API

Send an amount and a base currency, and the convert endpoint returns that amount in every currency you ask for, at the latest rate, at the rate of a past date or at a moment of the day. Convert up to 100 amounts in one request, round the results to shop prices such as 9.99, and get them as JSON, CSV or an Excel file. No rate math in your code.

Example request and response

12 USD converted at the rates of 1 January 2022, the example from the /v3/convert documentation. Leave out date to convert at the latest rates.

curl "https://api.currencyapi.com/v3/convert?value=12&base_currency=USD&currencies=AED,EUR&date=2022-01-01" \
  -H "apikey: YOUR-API-KEY"
{
  "meta": {
    "last_updated_at": "2022-01-01T23:59:59Z"
  },
  "data": {
    "AED": { "code": "AED", "value": 44.07672 },
    "EUR": { "code": "EUR", "value": 11.021472 }
  }
}

Parameters and response fields

value
The amount to convert (request parameter, greater than 0).
values
Up to 100 amounts, comma-separated (values=9.99,24.50,100), instead of value. data then holds one entry per amount, in the order sent, and the call costs one request however many amounts it holds.
base_currency
The currency of the amount (request parameter, default USD).
date
Optional past date (YYYY-MM-DD) to convert at historical rates.
datetime
Convert at a moment of the day (ISO 8601, e.g. 2026-09-30T10:07:30Z): the rate of the minute, quarter hour or hour it falls in, at your plan's update interval. Minutes and quarter hours go back 7 days, hours 3 months.
round_step, price_ending, round_mode
Shop prices: round_step rounds to a multiple of a step (0.05, 1, 10), price_ending to a price ending such as 0.99. round_mode is nearest (default), up or down. Both add rounded next to the exact value.
locale
Adds formatted: the amount as text in an ICU locale such as de_AT or en-US, with the currency symbol, e.g. € 1.233,99.
format
json (default), csv (one row per currency and amount) or xlsx, the same table as an Excel workbook.
data.{CODE}.value
The converted amount in each currency, always the exact conversion.
meta.last_updated_at
When the rates used were last updated (UTC).

Use cases

Checkout and invoices

Convert order totals and invoice amounts into the customer's currency on the server.

Expense and travel apps

Convert receipts at the rate of the day they were paid with date, or at the time of payment with datetime.

Marketplaces

Show sellers and buyers the same price in their own currencies: convert a whole price list in one request and round it to endings such as .99.

Convert endpoint from the Small plan

The convert endpoint is included from the Small plan ($12.99 a month, 15,000 requests, hourly updates), with every option on this page: several amounts, datetime, rounding, locale formatting, CSV and Excel. With datetime you get the rate of the hour on Small, of the quarter hour on Pro and of the minute from Medium. On the free plan, convert with the latest endpoint: multiply your amount by the returned rate.

Other currency APIs from Everapi

currencyapi.com is made by Everapi GmbH. Two sister products may fit your project better:

Frequently asked questions

Can I convert into several currencies in one request?

Yes. List them in currencies, or leave it out to convert into every supported currency.

Can I convert at a historical rate?

Yes. Add date=YYYY-MM-DD (at least one day in the past) to convert at that day's rates; history goes back to 1999.

Can I convert many amounts in one request?

Yes. Send up to 100 amounts in values (values=9.99,24.50,100) instead of value. You get one entry per amount, in the order you sent them, and the call costs one request.

Can the API round converted prices?

Yes. round_step=0.05 rounds every converted amount to 5-cent steps, price_ending=0.99 to a price ending in .99, and round_mode picks nearest, up or down. The result comes as rounded next to the exact value; add locale=de_AT or en-US to also get it as formatted text with the currency symbol.

Can I convert at a specific time of day?

Yes. Send datetime instead of date, e.g. 2026-09-30T10:07:30Z, to convert at the rate of the minute, quarter hour or hour that moment falls in, as fine as your plan updates: hourly on Small, every 15 minutes on Pro, every 60 seconds from Medium. Minutes and quarter hours go back 7 days, hours 3 months; for older days use date.

Is the convert endpoint on the free plan?

No, it starts with the Small plan. Free accounts can request /v3/latest and multiply the amount by the rate.

Is there a free currency converter without code?

Yes: the currency converter on this site converts between 191 currencies at the live rate.

Related

More currency data

Free tools: currency converter · historical converter · bulk converter · converter widget

Get your free currency API key

Start with 300 free requests a month