Compare the options
The table compares pricing, free access, updates, history, coverage, conversion and MCP. It does not establish measured performance, unrestricted request access or equal historical coverage across every currency; legacy codes and partial history need separate attention.
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 |
| 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 |
| ExchangeRate-API | $10/month Pro; 30,000 requests | 1,500 requests/month with a key; keyless open endpoint with attribution | Daily on Free; hourly Pro; 5 minutes Business | Paid plans only; from 1990 for a few currencies, all codes from 2021 | About 165 currencies |
The shortlist
exchangerate.dev
- Best fit: Commercial rate displays needing conversion and included MCP
- 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 commercial rate displays needing conversion and MCP. Basic costs $19 per month for 100,000 requests. Free provides 5,000 requests with a visible linked credit for commercial display. Free requires no card. Paid rates update about every 60 seconds across 144 currencies on trading days. Single and batch conversion and nine MCP tools are included. The trade-off is that rates are indicative, not executable or settlement prices; Free and keyless calls are 15 minutes late.
Sources: Plans and limits, API reference, Historical data, MCP server.
Narwhal API
- Best fit: Applications combining FX with commodities and economic data
- 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 applications needing FX alongside commodities, economics and calendars. Basic costs $59 per month for 100,000 requests and live FX across 144 currencies. Free includes 5,000 monthly requests using the previous day's close at 00:00 UTC. It offers decimal-safe conversion and stored observations by date range. Hosted MCP uses the same key and quota. The trade-off is that its live update interval and historical start date are not published.
Sources: FX API documentation, Pricing.
Frankfurter
- Best fit: Keyless daily rates with open source self-hosting
- 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 applications wanting daily rates without a key or quota, subject to abuse rate limits. It is MIT-licensed open source and supports self-hosting with Docker. It blends official and central bank daily rates, covers 223 currencies including legacy codes, and has some series from 1948. MCP is available. The trade-off is daily data that Frankfurter says is not suited to live trading; there is no conversion endpoint, so conversion requires multiplying by the rate.
Sources: Documentation, Source code. Full comparison: Frankfurter vs exchangerate.dev →
ExchangeRate-API
- Best fit: Free pair conversion with optional amount input
- Price from: $10/month Pro; 30,000 requests
- Free tier: 1,500 requests/month with a key; keyless open endpoint with attribution
- Update frequency: Daily on Free; hourly Pro; 5 minutes Business
- History: Paid plans only; from 1990 for a few currencies, all codes from 2021
- Coverage: About 165 currencies
- Conversion: Pair conversion with an optional amount, on Free
- MCP: No MCP server found on its site
ExchangeRate-API suits applications needing free pair conversion with an optional amount. Keyed Free includes 1,500 monthly requests and daily updates across about 165 currencies. Its keyless endpoint permits personal or commercial use with attribution. Pro costs $10 per month for 30,000 requests and hourly updates. The trade-off is that history requires a paid plan, with all codes starting in 2021; keyless access is rate limited and prohibits redistribution, and no MCP server was found on its site.
Sources: Plans, Documentation, Free and open access. Full comparison: ExchangeRate-API vs exchangerate.dev →
Choose by access rules and conversion needs
Compare key requirements, attribution and redistribution terms before choosing free daily rates. Then check conversion, self-hosting and the historical start date for the currencies you need.
| If you need | Start with |
|---|---|
| Access rules | Frankfurter needs no key and has no quotas, with abuse rate limits. ExchangeRate-API Free uses a key for 1,500 monthly requests; its separate keyless endpoint is rate limited. |
| Usage terms | For ExchangeRate-API's keyless endpoint, allow for attribution and the restriction on redistribution. Frankfurter is MIT-licensed open source and can be self-hosted with Docker when that suits your application. |
| Conversion needs | Choose ExchangeRate-API if you need its Free pair conversion with an optional amount. Frankfurter has no conversion endpoint; its documented approach is to multiply the amount by the rate. |
| Historical coverage | Frankfurter has some series from 1948, including legacy currencies. ExchangeRate-API history is paid-only, reaching 1990 for a few currencies and 2021 for all codes; check the relevant currency. |
How we chose
We compared documented access rules, pricing, updates, history, coverage, conversion and MCP. Sources were checked on 18 Oct 2026. This is a documented-feature comparison, not a benchmark. exchangerate.dev publishes this comparison and appears under the same criteria. Partial historical coverage remains qualified. A server not found on a checked site is not assumed to be unavailable everywhere. 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
- 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
- XE vs OANDA (2026): Related guides to rate types and historical coverage