How we evaluated exchange rate APIs
Seven criteria for shipping code against a live rate, not glancing at one.
- Free-tier size: the published monthly call quota before you pay anything
- Update frequency: how often the provider says rates change, once-daily to intraday, at each tier
- Per-value source labeling: whether each rate says where it came from and how fresh it is
- MCP support: whether an AI agent can query it through an official MCP server
- Pricing to scale: what the first paid tier costs and how much quota or freshness it buys
- Historical depth: how far back daily historical rates go
- Currency coverage: how many currencies or codes the API actually prices
Numbers come from each provider's pricing and documentation pages, checked directly on October 3, 2026, not an independent, timed measurement of freshness. That needs a benchmark: exchangerate.dev publishes a protocol for one but hasn't published a result for any provider yet, including itself, that bar hasn't been met. See the FX data methodology and the reproducible freshness benchmark protocol.
exchangerate.dev operates this page and appears in the ranking. Facts are sourced the same way for every entry, including ours, and where a competitor is ahead on a given criterion, the entry below says so.
Reproduce the first-party request
The comparison includes exchangerate.dev so you can verify the response shape before choosing a provider. This anonymous request was run on September 8, 2026 and returned HTTP 200; source=live; market_session=open; EUR and GBP rates returned with data_updated_at and effective_at timestamps.
curl -fsS "https://api.exchangerate.dev/v1/latest/USD?symbols=EUR,GBP"It is a reproducible API check, not a provider freshness benchmark. The last full provider review was October 3, 2026. Provider prices and limits were reviewed on October 3, 2026. An unverified feature is not evidence that a provider lacks it; confirm requirements with the provider.
Exchange rate API ranking
1. exchangerate.dev
- Free tier: 5,000 calls/mo, 144 currencies
- Updates: all 144 currencies ~60s on trading days, 15 minutes late on Free; ECB daily fallback
- Source labeling: source + market_session on every value
- MCP: remote HTTP + stdio, every plan incl. free
- Paid from: $19/mo for 100,000 calls
- History: Free 30 days; Plus/Pro to 1999
- Coverage: 144 currencies
All 144 currencies update about every 60 seconds on trading days; ECB fixes provide daily fallback. Every response carries source and market_session, so calling code can inspect freshness instead of assuming it. MCP ships on every plan including free; remote HTTP plus a keyed stdio bridge; with published setup instructions. The free tier is 5,000 calls/mo across 144 currencies, no card, with live rates 15 minutes late; the first paid tier is $19/mo for 100,000 calls with live rates and one year of daily history.
Sources: API reference.
2. Narwhal API
- Free tier: Available
- Updates: FX update interval not published
- Source labeling: Sources and freshness documented by dataset
- MCP: Hosted MCP; same key as REST
- Paid from: See current pricing
- History: Historical observations; start date not published
- Coverage: 144 currencies; 10,296 pairs
Narwhal API combines FX, commodities, economics, release calendars, and prediction market odds under one key for REST and MCP. Its FX API covers 144 currencies and 10,296 pairs, with decimal-safe conversion and paginated historical observations. Dataset documentation explains sources, freshness, units, and limitations. Its documentation does not publish an FX update interval or a universal history start date. It suits applications that need economic context alongside exchange rates; exchangerate.dev focuses on FX and official rates.
Sources: FX API documentation.
3. AllRatesToday
- Free tier: 300 lifetime calls per docs; API key required
- Updates: ~60 seconds (live endpoint)
- Source labeling: named publisher + rate_date on central-bank endpoints
- MCP: yes, official (@allratestoday/mcp-server, stdio, 4 tools)
- Paid from: €4.99/mo for 5,000 calls
- History: historical endpoints; availability depends on series
- Coverage: 160+ currencies
AllRatesToday documents roughly 60-second mid-market rates and an official four-tool MCP server. Its docs specify 300 lifetime free calls, while pricing calls the allowance monthly; confirm that discrepancy before relying on recurring free usage. Small is €4.99/month for 5,000 calls. It also documents central-bank endpoints with named publishers and publication dates. Historical access depends on the endpoint and plan; check series availability before using it for a backfill.
Sources: API documentation, Supporting documentation. Full comparison: AllRatesToday vs exchangerate.dev →
4. CurrencyFreaks
- Free tier: 1,000 calls/mo, USD base only
- Updates: daily (free); hourly from $9.99/mo
- MCP: not verified in reviewed sources
- Paid from: $9.99/mo required for a non-USD base
- History: to 1984 for some currencies
- Coverage: 1,000+ codes, including crypto and metals
CurrencyFreaks lists 1,000 free calls a month with daily updates and USD as the base currency. Starter is $9.99/month with hourly updates and other base currencies. Its documentation describes more than 1,000 codes, including crypto and metals, so that figure is not a fiat-currency count. History starts in 1984 for some currencies; the supported-currency list gives individual availability dates. Worth checking when catalog breadth matters more than a uniform history window.
Sources: pricing, Supporting documentation. Full comparison: CurrencyFreaks vs exchangerate.dev →
5. Open Exchange Rates
- Free tier: 1,000 requests/mo, USD base only
- Updates: hourly (free) to 5-minute ($97/mo)
- MCP: not verified in reviewed sources
- Paid from: $12/mo for 10,000 requests, hourly
- History: daily history; check the required series
- Coverage: 200+ currencies
Open Exchange Rates advertises over 200 currencies. Its free plan includes 1,000 requests a month, USD base only, and hourly updates. The monthly pricing page lists $12 for 10,000 requests with any base currency, and $97 for five-minute updates. Those are intraday updates, with a slower advertised cadence than a one-minute feed. It also provides historical rates; check the needed series and dates rather than assuming every currency has identical coverage.
Sources: pricing, Supporting documentation. Full comparison: Open Exchange Rates vs exchangerate.dev →
6. ExchangeRate-API
- Free tier: 1,500 calls/mo, daily updates
- Updates: daily (free) to 5-minute ($30/mo)
- MCP: not verified in reviewed sources
- Paid from: $10/mo for 30,000 calls, hourly
- History: Paid; 1990 for a few codes
- Coverage: 165 currencies
ExchangeRate-API's free plan has 1,500 calls/month, daily updates. Pro is $10/month for 30,000 calls and hourly updates; Business is $30/month for 125,000 calls and five-minute updates. It lists 165 currencies. Paid history starts 1 January 1990 for a few currencies, 1 January 2021 for all codes. Choose based on the delay your application tolerates. Its separate open-access endpoint is another option, subject to its own usage terms.
Sources: pricing, Supporting documentation. Full comparison: ExchangeRate-API vs exchangerate.dev →
7. XE
- Free tier: none, free trial only
- Updates: daily at entry price; real-time is a paid add-on
- MCP: not verified in reviewed sources
- Paid from: $799/yr (Lite: 10,000 req/mo, daily only)
- History: to 1998
- Coverage: 220+ currencies, metals, and crypto
XE's Currency Data API offers a free trial and annual subscriptions. Lite remains $799/year for 10,000 requests a month with daily rates. Minutely rates are an add-on: $400/year on Lite, $700 on Intermediate, and $1,500 on Prime, with minutely access included in custom Enterprise pricing. The advertised 220+ coverage includes currencies, metals, and crypto; history goes back to 1998. Published plans have self-serve selection links, while custom requirements lead to a sales conversation.
Sources: Currency Data API. Full comparison: XE vs exchangerate.dev →
8. Fixer
- Free tier: 100 calls/mo, base currency restricted
- Updates: hourly (free) to 60s ($99.99/mo)
- MCP: not verified in reviewed sources
- Paid from: $14.99/mo for 10,000 calls
- History: to Jan 1999
- Coverage: 170 currencies
Fixer's free plan allows 100 calls a month with hourly updates; changing the base currency requires a paid plan. Basic costs $14.99/month for 10,000 calls. Professional is $59.99 with ten-minute updates, and Professional Plus is $99.99 with 60-second updates. Its homepage lists 170 currencies and history back to January 1999. That makes it an option for broader coverage, though matching a one-minute cadence requires a higher-priced plan than its entry tier.
Sources: pricing, Supporting documentation. Full comparison: Fixer vs exchangerate.dev →
9. Currencylayer
- Free tier: 100 calls/mo, base currency restricted
- Updates: daily per free plan card; 60s at $99.99/mo
- MCP: not verified in reviewed sources
- Paid from: $14.99/mo for 10,000 calls
- History: to 1999
- Coverage: 168 currencies and precious metals
Currencylayer lists 100 free monthly calls and daily updates on its plan card, although the FAQ on the same page says hourly; confirm the free cadence if it matters. Paid plans list hourly updates at $14.99/month, ten-minute updates at $59.99, and 60-second updates at $99.99. The entry paid quota is 10,000 requests. Its advertised 168-code coverage includes precious metals, and historical rates go back to 1999. Compare the base-currency and endpoint entitlements before migrating.
Sources: pricing. Full comparison: Currencylayer vs exchangerate.dev →
10. ExchangeRatesAPI
- Free tier: 100 requests/mo, base currency restricted
- Updates: daily per free plan card; 60s at $99.99/mo
- MCP: not verified in reviewed sources
- Paid from: $14.99/mo for 10,000 requests
- History: to 1999 on paid plans
- Coverage: 168 currencies and precious metals
ExchangeRatesAPI lists 100 free requests a month with daily updates, although its pricing FAQ also says hourly for Free. Paid tiers list 10,000 hourly requests at $14.99/month, ten-minute updates at $59.99, and 60-second updates at $99.99. Its published coverage is 168 currencies and precious metals, with history back to 1999 on paid plans. Confirm the free update frequency and chosen base currency with the provider before relying on either in production.
Sources: pricing, Supporting documentation. Full comparison: ExchangeRatesAPI vs exchangerate.dev →
11. ExchangeRate.host
- Free tier: 100 requests/mo, signup + key required
- Updates: daily (free) to 60s ($99.99/mo)
- MCP: not verified in reviewed sources
- Paid from: $14.99/mo for 10,000 requests
- History: end-of-day history; verify start date
- Coverage: ~168 currencies
ExchangeRate.host requires an account and key for its 100-request monthly free plan, as several other providers here do. Its pricing page lists daily free updates, hourly updates at $14.99/month for 10,000 requests, ten-minute updates at $59.99, and 60-second updates at $99.99. The homepage advertises roughly 168 currencies. End-of-day describes its historical observations, not a restriction on all live data. Confirm the starting date and required endpoints for your particular historical series.
Sources: pricing, Supporting documentation. Full comparison: ExchangeRate.host vs exchangerate.dev →
No API wins every category. Open Exchange Rates, ExchangeRate-API, and XE cover more currency codes than our catalog, while CurrencyFreaks and XE have longer histories for some series. XE suits an enterprise wanting an annual contract. Pick by your project's pair coverage, data terms and integration needs. exchangerate.dev and Narwhal API are owned and operated by Nusantara Ventures, LLC.
This is a developer-API ranking. For a broader view that also covers consumer sites like XE and Wise, plus what developers say about these APIs on Reddit, see best sites and APIs to get live exchange rates. For a dimension-by-dimension breakdown instead of a ranked list, see the free exchange rate API comparison. To compare two third-party providers without putting exchangerate.dev on either side, use the provider-vs-provider comparison hub. For gold and metals prices alongside currency conversion, see goldprice.dev.
Related comparisons
- Best currency APIs (2026): Currency coverage and amount conversion in apps
- Best forex APIs (2026): Streaming, candles, history, and execution requirements
- Free exchange rate API comparison: A closer look at free-plan limits and trade-offs
- Best free exchange rate APIs (2026): Free quotas, freshness, keyless access, and commercial terms
- Best currency converter APIs (2026): Amount conversion endpoints, plan access, and app integration
- ExchangeRate-API alternatives (2026): Alternatives for daily rates, conversion, history, and MCP
- currencyapi alternatives (2026): Commercial terms, free access, update plans, and conversion
- Fixer alternatives (2026): Base selection, conversion access, and alternatives to Fixer
- Open Exchange Rates alternatives (2026): Free bases, amount endpoints, MCP, and billing periods
- Best historical exchange rate APIs (2026): Archive depth, date ranges, and historical plan access
- Best currency APIs with MCP (2026): MCP connections, tool access, quotas, and rate terms
- Exchange rates in Google Sheets and Excel: Sheets formulas, Apps Script, Excel data, and Power Query
- OANDA API alternatives: Observation types, historical depth, and alternatives to OANDA
- Frankfurter alternatives: Daily rates, newer observations, conversion, and keyless access
- Currencylayer alternatives: Commercial terms, source currencies, conversion, and update plans
- exchangerate.host alternatives: Free access, date ranges, and alternatives to exchangerate.host
- XE API alternatives: Annual billing, update intervals, and alternatives to XE
- XE vs Wise exchange rates: Converter displays, transfer quotes, and rates in code
- Wise API alternatives (2026): Related comparisons of exchange rate API access
- Fixer vs Open Exchange Rates (2026): Related guides to quotas and historical rate access
- Fixer vs Currencylayer (2026): Related comparisons of plan limits and feature access
- currencyapi vs freecurrencyapi (2026): Related guides to free quotas and commercial access
- Frankfurter vs ExchangeRate-API (2026): Related comparisons of free daily currency rate APIs
- XE vs OANDA (2026): Related guides to rate types and historical coverage
Last verified October 3, 2026.