Exchange Rates+API.SH

Exchange Rates API

Latest and historical exchange rates, currency conversion and time series from ECB reference rates, as clean JSON.

The API.SH Exchange Rates API returns rates for any base currency, latest or on a past date back to 1999. It combines about 30 European Central Bank reference currencies, published each working day around 16:00 CET, with about 115 more African, Asian and Latin American currencies from the National Bank of Poland's weekly table, crossed through the euro. Convert an amount at today's or a past day's rate, pull daily, monthly or annual time series, and list every supported currency with the countries that use it. Each rate comes with its date and source.

  • 4 endpoints
  • from $1 / 1,000 calls
  • 1,000 free credits / month
  • failed calls free
Currency conversion
GET https://api.api.sh/fx/v1/convert
{ "success": true }
1 credit · $1 per 1,000 calls

What you can build with the Exchange Rates API

Invoicing and accounting

Convert an invoice amount at the rate for its date, with the rate date and source recorded, so bookkeeping uses a published reference rate.

Multi-currency prices in a store

Fetch the latest rates for your base currency once a day and show prices in your customers' currencies.

Historical charts and reports

Pull daily rates for up to 10 years per call, or monthly and annual averages over up to 30 years, to chart a currency pair or report average rates for a period.

Spreadsheets and no-code tools

Fill a Google Sheet or a Zapier, Make or n8n workflow with rates or converted amounts without writing code.

Currency pickers

List every currency with a current rate, its name, the countries that use it and whether history is available, to build a currency selector.

Exchange Rates data you get

Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.

Exchange Rates API endpoints and prices

Every Exchange Rates endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing

Posts and media1
Exchange rate history
/fx/v1/history
$1 · $2 PAYG
1 credit
More data3
Currency conversion
/fx/v1/convert
$1 · $2 PAYG
1 credit
Supported currencies
/fx/v1/currencies
$1 · $2 PAYG
1 credit
Exchange rates
/fx/v1/rates
$1 · $2 PAYG
1 credit

Call the Exchange Rates API

Currency conversion: GET https://api.api.sh/fx/v1/convert

curl "https://api.api.sh/fx/v1/convert?from=USD&to=EUR" \
  -H "x-api-key: $APISH_KEY"
  1. Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
  2. Create an API keyOne key works for all 483 platforms.
  3. Send the requestJSON back in one call. Add output=csv or output=ndjson for files.

Why API.SH for Exchange Rates data

  • Public data only: no Exchange Rates login, cookies or account needed
  • One key and one response shape for Exchange Rates and 482 other platforms
  • Built and maintained by API.SH, not third-party publishers
  • Pay per call; errors on our side cost nothing
  • Live status for every endpoint

API.SH vs the official Exchange Rates API

The European Central Bank publishes its reference rates for free, and free APIs built on them exist, such as Frankfurter, which needs no key. API.SH adds the National Bank of Poland's weekly table for currencies the ECB does not cover, shows the source and date of every rate, and puts it behind the same key and JSON shape as every other API.SH endpoint.

Providers such as ExchangeRate-API, exchangeratesapi.io, Open Exchange Rates, Fixer and currencyapi sell monthly plans, often with intraday updates and crypto. API.SH is pay-per-call with official reference rates; choose it for daily and historical rates, not for live trading quotes.

Exchange Rates API questions

What exchange rate data can I get?+

Latest or historical rates for any base currency (/fx/v1/rates), conversion of an amount at the latest or a past day's rate (/fx/v1/convert), daily, monthly or annual time series since 1999 (/fx/v1/history) and the list of supported currencies with their sources and countries (/fx/v1/currencies).

How much does the Exchange Rates API cost?+

Every Exchange Rates endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.

Is there a free exchange rates API?+

Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /fx/v1/convert at 1 credit each. Free ECB-based APIs such as Frankfurter also exist; API.SH adds the extra currencies from the National Bank of Poland's table and the same key you use for other data.

Where does the data come from?+

From the European Central Bank's reference rates (about 30 currencies, each working day) and the National Bank of Poland's weekly table for about 115 more currencies, crossed through the euro. Each rate in the response names its source.

Do I need keys for the underlying sources?+

No. One API.SH key covers every exchange rate route. The sources themselves need no registration either.

Are the rates real-time?+

No. They are official reference rates: ECB rates update each working day around 16:00 CET and the National Bank of Poland table weekly. Use them for pricing, accounting and reports, not for trading.

Can I get historical exchange rates by date?+

Yes. Pass date to /fx/v1/rates or /fx/v1/convert for any day since 1999; you get the last publication on or before that date. For ranges, /fx/v1/history returns daily, monthly or annual series for ECB reference currencies.

How do I get started?+

1. Sign up at api.sh. 2. Copy your API key. 3. Call /fx/v1/convert with from=USD, to=EUR and amount=100. Request examples and every parameter are in the docs at https://api.sh/docs. You can also use the JS or Python SDK, Google Sheets, Zapier, Make, n8n or the MCP server at https://api.sh/mcp.

More public data APIs all public data APIs →

Start with 1,000 free credits
Every month, on every account. One key works for all 483 platforms.
Get a free API key