Open Exchange Rates alternative

Open Exchange Rates is a long-running exchange rate API with hourly updates on its free plan. Its free plan allows 1,000 requests a month against a USD base only. Ours allows 3,000 a month against any base currency, and paid plans add webhooks and a WebSocket stream.

Side by side

Currency Exchange Rate API compared with Open Exchange Rates
 Currency Exchange Rate APIOpen Exchange Rates
Free plan3,000 requests a month, no credit card1,000 requests a month
Base currency on the free planAny currency, on every planUSD only
Free plan update frequencyDailyHourly
Entry paid plan$9 a month: 10,000 requests, hourly rates$12 a month: 10,000 requests, hourly rates
Historical ratesFree: last 30 days. Paid: back to 1999 for the ~30 ECB currencies, and every currency for days recorded since launchIncluded on every plan
Push deliverySigned webhooks and a WebSocket stream from Starter ($9)Not listed on the plans page

Open Exchange Rates figures are from Open Exchange Rates plans as published on November 4, 2026; check there for current terms. Open Exchange Rates is a trademark of its owner. Currency Exchange Rate API is not affiliated with Open Exchange Rates.

Where we’re ahead

  • Three times the free requests, with any currency as the base.
  • Signed webhooks and a WebSocket stream that push new rates to you, from the $9 plan.
  • A cheaper entry plan: $9 against $12 for the same 10,000 requests.
  • Machine-readable docs for AI agents: llms.txt, OpenAPI 3.1, and Markdown versions of the docs and rate pages.

Where Open Exchange Rates is ahead

  • Hourly updates on the free plan, where ours updates daily.
  • Historical rates on the free plan without a 30-day limit.
  • An unlimited-request plan ($97 a month) for very high volume.

Switching from Open Exchange Rates

TaskOpen Exchange RatesCurrency Exchange Rate API
Latest ratesGET /api/latest.json?app_id=KEY&base=EUR&symbols=GBPGET /api/v1/latest?base=EUR&symbols=GBP
Convert an amountGET /api/convert/100/EUR/GBP?app_id=KEYGET /api/v1/convert?from=EUR&to=GBP&amount=100
One past dayGET /api/historical/2026-10-09.json?app_id=KEYGET /api/v1/historical?date=2026-10-09
A date rangeGET /api/time-series.json?app_id=KEY&start=2026-10-01&end=2026-10-09GET /api/v1/timeseries?start=2026-10-01&end=2026-10-09

Send the key as Authorization: Bearer <key> instead of app_id in the URL. The rates object has the same shape: currency code to units per one base. Our timestamps are ISO 8601 strings (updatedAt, nextUpdateAt) instead of a Unix timestamp. The API documentation covers every endpoint and error.

Try it with 3,000 free requests a month.

Get a free API key