Compare the options
Prices show monthly USD paid entry plans, except XE, billed yearly, and Frankfurter, which is free. Columns compare free allowances, update frequency, history, and coverage. A latest indicative rate does not establish support for OANDA’s bid, ask, or period-average workflows.
Plans, frequency, historical depth, and currency coverage
| Provider | Price from | Free tier | Update frequency | History | Coverage |
|---|---|---|---|---|---|
| exchangerate.dev | $19/month Basic; 100,000 requests | 5,000 requests/month; commercial use with a visible credit link | About 60 seconds for all 144 currencies on trading days, 15 minutes late on Free; ECB daily fallback | Free 30 days; Basic 1 year; Plus/Pro to 1999 where available | 144 currencies |
| Narwhal API | $59/month Basic; 100,000 requests | 5,000 requests/month; previous day close | Free: end of day (00:00 UTC); paid: live; interval not published | Stored observations by date range; start date not published | 144 currencies |
| XE Currency Data API | $799/year Lite; 10,000 requests/month | Free trial only | Daily Lite; hourly Intermediate; 15 minutes Prime; minutely add-on | Back to 1998 | Count stated two ways on its page |
| Open Exchange Rates | $12/month Developer; 10,000 requests | Up to 1,000 requests/month; USD base only | Hourly on Free and Developer; 30 minutes Enterprise; 5 minutes Unlimited | End-of-day rates back to 1 January 1999 | Over 200 currencies |
| currencyapi | $9.99/month Small; 15,000 requests | 300 requests/month; personal use only | Daily on Free; hourly Small; 60 seconds Medium and up | Daily history back to 1999 | 171 fiat currencies, 16 crypto, 4 precious metals |
| Fixer | $14.99/month Basic; 10,000 requests | 100 requests/month; non-commercial; fixed base currency | Hourly on Free and Basic; 10 minutes Professional; 60 seconds Professional Plus | Back to January 1999 | 170 currencies |
| Frankfurter | Free; no paid plans; self-hosting with Docker | No key and no quota; abuse rate limits only | Daily | Some series from 1948 | 223 currencies, including legacy codes |
The shortlist
exchangerate.dev
- Best fit: Indicative app rates with a free starting plan
- Price from: $19/month Basic; 100,000 requests
- Free tier: 5,000 requests/month; commercial use with a visible credit link
- Update frequency: About 60 seconds for all 144 currencies on trading days, 15 minutes late on Free; ECB daily fallback
- History: Free 30 days; Basic 1 year; Plus/Pro to 1999 where available
- Coverage: 144 currencies
- Conversion: Single-amount and batch conversion endpoints
- MCP: Yes, nine tools, every plan including Free
exchangerate.dev suits an application needing currency rates, amount conversion, and MCP on a free starting plan. Free includes 5,000 monthly requests across 144 currencies, with commercial display allowed through visible linked credit. Basic provides live rates for $19 per month and 100,000 requests. The trade-off is Free freshness: rates are fifteen minutes late, with 30 days of daily history. Plus extends daily history from 1999-01-04 where available, with later starts for some currencies. Rates remain indicative rather than executable or settlement prices.
Sources: Plans and limits, API reference, Historical data, MCP server.
Narwhal API
- Best fit: FX alongside commodities and economic context
- Price from: $59/month Basic; 100,000 requests
- Free tier: 5,000 requests/month; previous day close
- Update frequency: Free: end of day (00:00 UTC); paid: live; interval not published
- History: Stored observations by date range; start date not published
- Coverage: 144 currencies
- Conversion: Decimal-safe conversion endpoint
- MCP: Yes, hosted, same key and quota as REST
Narwhal API suits an application combining FX with commodities, economics, and release calendars. Its broader data API provides decimal-safe conversion and stored historical observations through REST, alongside hosted MCP under the same key and quota. Free includes 5,000 successful requests per UTC month. The trade-off is that Free FX uses the previous day’s close; live FX requires Basic at $59 per month. The FX page publishes neither an update interval nor a universal archive start date. Check the required observations before migrating a historical workflow.
Sources: FX API documentation, Pricing.
XE Currency Data API
- Best fit: Annual plans with history and period queries
- Price from: $799/year Lite; 10,000 requests/month
- Free tier: Free trial only
- Update frequency: Daily Lite; hourly Intermediate; 15 minutes Prime; minutely add-on
- History: Back to 1998
- Coverage: Count stated two ways on its page
- Conversion: Not mentioned on its page
- MCP: Not found
XE Currency Data API suits an application considering annual data plans with historical rates, monthly averages, and time-frame queries. Lite costs $799 per year for 10,000 monthly requests and daily rates, with history back to 1998. Higher packages add hourly or fifteen-minute updates, and minutely add-ons are available. The trade-off is the annual commitment and trial-only free access. A conversion endpoint is not mentioned on the page, so confirm the amount workflow separately rather than assuming it replaces a direct conversion call.
Sources: Plans and features. Full comparison: XE Currency Data API vs exchangerate.dev →
Open Exchange Rates
- Best fit: Hourly rate tables with selectable paid bases
- Price from: $12/month Developer; 10,000 requests
- Free tier: Up to 1,000 requests/month; USD base only
- Update frequency: Hourly on Free and Developer; 30 minutes Enterprise; 5 minutes Unlimited
- History: End-of-day rates back to 1 January 1999
- Coverage: Over 200 currencies
- Conversion: Convert endpoint documented; plan page lists conversion on Unlimited
- MCP: No official MCP server found
Open Exchange Rates suits an application that can retrieve a rate table and calculate amounts locally. Free provides up to 1,000 monthly requests with hourly updates and a USD-only base. Developer adds other bases for $12 per month, and daily history extends to January 1999. The trade-off is direct conversion access: its plan page lists conversion requests on Unlimited at $97 per month. Time-series requests also require higher plans. Check the endpoint and historical query pattern separately from the hourly rate-retrieval workflow.
Sources: Plans, API documentation. Full comparison: Open Exchange Rates vs exchangerate.dev →
currencyapi
- Best fit: Commercial conversion and multi-asset MCP tools
- Price from: $9.99/month Small; 15,000 requests
- Free tier: 300 requests/month; personal use only
- Update frequency: Daily on Free; hourly Small; 60 seconds Medium and up
- History: Daily history back to 1999
- Coverage: 171 fiat currencies, 16 crypto, 4 precious metals
- Conversion: Convert endpoint
- MCP: Yes, official, 16 tools; calls count against the plan quota
currencyapi suits an application needing currency conversion alongside crypto or precious metals. Small permits commercial use at $9.99 per month with hourly updates and 15,000 requests. Its official MCP server documents 16 tools that count against the plan quota. The trade-off is Free access: it is private use only, with 300 monthly requests and daily updates, and MCP eligibility is not stated. Sixty-second updates start at Medium for $39.99 per month. Compare the plan that meets the application’s freshness and usage requirements.
Sources: Pricing, Homepage, MCP documentation. Full comparison: currencyapi vs exchangerate.dev →
Fixer
- Best fit: Paid base selection and daily historical lookups
- Price from: $14.99/month Basic; 10,000 requests
- Free tier: 100 requests/month; non-commercial; fixed base currency
- Update frequency: Hourly on Free and Basic; 10 minutes Professional; 60 seconds Professional Plus
- History: Back to January 1999
- Coverage: 170 currencies
- Conversion: Basic and up
- MCP: No official MCP server found
Fixer suits an application prepared to pay for selectable bases and amount conversion. Basic includes both at $14.99 per month with hourly updates and 10,000 requests. Its catalogue covers 170 currencies, with history back to January 1999. The trade-off is that Free is non-commercial, fixes the base, and excludes conversion, so it does not reproduce the paid workflow. Time series require Professional at $59.99 per month, while sixty-second updates start at Professional Plus for $99.99. Check historical and conversion entitlements as separate requirements.
Sources: Pricing and plan features. Full comparison: Fixer vs exchangerate.dev →
Frankfurter
- Best fit: Keyless daily rates with self-hosting available
- Price from: Free; no paid plans; self-hosting with Docker
- Free tier: No key and no quota; abuse rate limits only
- Update frequency: Daily
- History: Some series from 1948
- Coverage: 223 currencies, including legacy codes
- Conversion: No conversion endpoint; multiply by the rate
- MCP: Yes
Frankfurter suits an application that can use daily rates and calculate converted amounts itself. It blends central-bank and official sources, requires no key, and applies abuse rate limits rather than a monthly quota. MCP and Docker self-hosting are documented. The trade-off is that it has neither an intraday feed nor an amount conversion endpoint. Its 223-currency catalogue includes legacy codes, with some series from 1948, but coverage varies by pair. Test the required currencies and historical dates before treating that archive start as complete coverage.
Sources: Documentation, Source code. Full comparison: Frankfurter vs exchangerate.dev →
Check the observations you need
Write down the rate type, averaging period, and historical depth the application uses. Compare a replacement against those requirements before focusing on its entry price.
| If you need | Start with |
|---|---|
| Rate type | Confirm whether the application uses bid, ask, or mid observations. A provider’s conversion endpoint does not establish support for all three. |
| Period averages | Check daily, weekly, or custom averages independently of latest rates. Preserve the existing averaging definition when evaluating a replacement workflow. |
| Historical depth | Request the oldest required currency and interval. A headline archive length does not establish that those observations exist on the selected plan. |
| Access and billing | Distinguish a trial from a permanent free tier. Compare annual subscriptions and monthly plans over the same period and required usage. |
How we chose
We compared alternatives for application rate retrieval, amount conversion, historical lookups, observation types, billing periods, and MCP access. Sources were checked on 18 Oct 2026. This is a documented-feature comparison, not a benchmark of accuracy, speed, or availability. OANDA Exchange Rates API is the reference service and is not ranked. exchangerate.dev publishes this comparison and appears under the same criteria. Unstated historical depth and unsupported observation types are not assumed. exchangerate.dev and Narwhal API are owned and operated by Nusantara Ventures, LLC.
Sources checked October 18, 2026. Prices and entitlements can change.
Related comparisons
- Best exchange rate APIs for developers: The broader comparison of developer exchange-rate services
- 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
- 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