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 | Open Exchange Rates | |
|---|---|---|
| Free plan | 3,000 requests a month, no credit card | 1,000 requests a month |
| Base currency on the free plan | Any currency, on every plan | USD only |
| Free plan update frequency | Daily | Hourly |
| Entry paid plan | $9 a month: 10,000 requests, hourly rates | $12 a month: 10,000 requests, hourly rates |
| Historical rates | Free: last 30 days. Paid: back to 1999 for the ~30 ECB currencies, and every currency for days recorded since launch | Included on every plan |
| Push delivery | Signed 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
| Task | Open Exchange Rates | Currency Exchange Rate API |
|---|---|---|
| Latest rates | GET /api/latest.json?app_id=KEY&base=EUR&symbols=GBP | GET /api/v1/latest?base=EUR&symbols=GBP |
| Convert an amount | GET /api/convert/100/EUR/GBP?app_id=KEY | GET /api/v1/convert?from=EUR&to=GBP&amount=100 |
| One past day | GET /api/historical/2026-10-09.json?app_id=KEY | GET /api/v1/historical?date=2026-10-09 |
| A date range | GET /api/time-series.json?app_id=KEY&start=2026-10-01&end=2026-10-09 | GET /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