Compare the options
Prices show monthly USD paid entry plans; Frankfurter and fawazahmed0 are free. UniRateAPI counts requests per day. The other columns compare free allowances, update frequency, history, and coverage. Faster updates and deeper history can require payment.
| 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; over 30 years advertised on Pro | About 165 currencies |
| UniRateAPI | $9/month Pro; 25,000 requests/day | 200 requests/day; 30 requests/minute; key required | 15 minutes | A Pro feature per its pricing page | Fiat and crypto currencies; count stated differently across its pages |
| 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 |
| fawazahmed0 currency-api | Free; no paid plans | No key; the project states no rate limits | Daily | Dated daily files; start date not published | 339 codes, including crypto and metals |
| freecurrencyapi | No own paid plan; paid use through currencyapi from $9.99/month | 1,000 requests/month; personal use only | Once a day, end of day | Daily from 1 January 1999 | 33 currencies |
The shortlist
exchangerate.dev
| Best fit | Free commercial displays with linked credit |
|---|---|
| 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 app that needs free amount conversion and recent daily history. Free includes 5,000 requests per month across 144 currencies, with commercial display allowed when a visible linked credit accompanies the rates. Keyless calls follow Free rules at 10 requests per minute and 100 per hour per IP. The trade-off is delay: Free rates are 15 minutes late and daily history covers 30 days. Rates are indicative, not executable or settlement prices. MCP access is included.
Narwhal API
| Best fit | Free FX alongside 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 is the broader data API for projects combining FX with commodities, economics, and release calendars. Its free allowance is 5,000 successful requests per UTC month, shared by REST and hosted MCP under one key. That makes it worth considering when currency data is one part of a larger dashboard. The trade-off is freshness: Free FX uses the previous day’s close as of 00:00 UTC. Live FX requires Basic at $59 per month; the FX update interval is not published.
Frankfurter
| Best fit | Daily official-source rates without keys or quotas |
|---|---|
| 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 daily reference lookups when avoiding key management and monthly quotas matters. It blends central-bank and official sources, has no key requirement, and applies abuse rate limits rather than a request quota. Its catalogue includes legacy currencies, with some series extending to 1948. It also offers MCP and Docker self-hosting. The trade-off is daily frequency: there is no intraday feed. There is no conversion endpoint either, so an amount conversion requires retrieving a rate and multiplying in your application.
Full comparison: Frankfurter vs exchangerate.dev →ExchangeRate-API
| Best fit | Daily conversion with free keyed or open access |
|---|---|
| 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; over 30 years advertised on Pro |
| Coverage | About 165 currencies |
| Conversion | Pair conversion with an optional amount, on Free |
| MCP | No MCP server found on its site |
ExchangeRate-API fits a small converter that can work with daily updates. The keyed Free plan includes 1,500 monthly requests and a Pair Conversion endpoint accepting an optional amount. A separate keyless open endpoint provides daily rates with an attribution link and permits personal or commercial use, subject to its terms. The trade-off is historical access: that needs a paid plan. The open endpoint is rate limited and permits caching but not redistribution. Pro adds hourly updates at $10 per month.
Full comparison: ExchangeRate-API vs exchangerate.dev →UniRateAPI
| Best fit | Daily request allowance with fifteen-minute updates |
|---|---|
| Price from | $9/month Pro; 25,000 requests/day |
| Free tier | 200 requests/day; 30 requests/minute; key required |
| Update frequency | 15 minutes |
| History | A Pro feature per its pricing page |
| Coverage | Fiat and crypto currencies; count stated differently across its pages |
| Conversion | Convert endpoint |
| MCP | Not mentioned |
UniRateAPI suits a project whose requests fit a daily allowance rather than a monthly pool. Free provides 200 requests per day, requires a key, and has a 30-request-per-minute limit. The homepage states fifteen-minute updates, and a conversion endpoint is available. The trade-off is historical access: history is a Pro feature per its pricing page. Currency totals differ across its pages, so check individual codes rather than relying on one count. Its terms forbid redistribution and describe data as unsuitable for trading or investing.
Full comparison: UniRateAPI vs exchangerate.dev →Open Exchange Rates
| Best fit | Hourly rates for USD-based applications |
|---|---|
| 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 a free app built around a USD rate table. Free offers up to 1,000 monthly requests with hourly updates, while its currency catalogue covers over 200 currencies. The trade-off is the fixed USD base. A different base requires Developer at $12 per month, and the plan page lists conversion requests on Unlimited at $97. For a free amount display, plan to calculate from retrieved rates rather than assume the documented conversion endpoint is part of Free.
Full comparison: Open Exchange Rates vs exchangerate.dev →fawazahmed0 currency-api
| Best fit | Daily static JSON without an API key |
|---|---|
| Price from | Free; no paid plans |
| Free tier | No key; the project states no rate limits |
| Update frequency | Daily |
| History | Dated daily files; start date not published |
| Coverage | 339 codes, including crypto and metals |
| Conversion | No conversion endpoint |
| MCP | Not mentioned |
fawazahmed0 currency-api suits a project that can consume daily static JSON rather than a conversion service. Files are available through jsDelivr with a Cloudflare Pages fallback, and the base currency is selected in the path. The project advertises no rate limits and requires no key. Its catalogue includes crypto and metals. The trade-off is operational: there is no SLA, maintainers advise a fallback host, and the interface has changed before. Dated files exist, but a history start date is not published.
freecurrencyapi
| Best fit | Personal projects using a compact currency list |
|---|---|
| Price from | No own paid plan; paid use through currencyapi from $9.99/month |
| Free tier | 1,000 requests/month; personal use only |
| Update frequency | Once a day, end of day |
| History | Daily from 1 January 1999 |
| Coverage | 33 currencies |
| Conversion | No conversion endpoint |
| MCP | Yes, 4 tools |
freecurrencyapi fits a personal converter that needs daily rates and a choice of base currency. It offers 1,000 monthly requests across 33 currencies, with any supported currency usable as the base. Daily history starts in January 1999. The trade-off is permitted use: the free service is for hobby and personal projects; commercial use needs a paid currencyapi plan. There is no conversion endpoint, so calculate amounts locally. MCP documentation lists four tools, but Free eligibility for MCP is not stated.
Full comparison: freecurrencyapi vs exchangerate.dev →Check what free includes
Choose the free plan against the way your application will run. A monthly allowance, a daily allowance, and keyless access solve different problems. Check usage rights and rate age before treating any of them as interchangeable.
| Permitted use | Confirm whether your actual display is commercial and where any required credit link will appear. Check redistribution separately from permission to show a converted amount. |
|---|---|
| Request pattern | Estimate a busy day and a busy hour as well as the monthly total. Compare anonymous IP limits with keyed quotas before choosing how the app will call the API. |
| Rate age | Decide whether daily, hourly, or delayed observations fit the screen. Check the timestamp in a representative response rather than assuming free access means live data. |
| Dates and currencies | Request your least common currency and oldest required date. A catalogue total or archive start date does not replace checking the specific data your app needs. |
How we chose
We compared free quotas, refresh rules, keyless access, currency coverage, history, conversion support, and commercial terms. Sources were checked on 17 Oct 2026 and accompany each entry. This is a documented-feature comparison, not a benchmark of speed, accuracy, or availability. The order reflects fit for free application use. exchangerate.dev publishes this comparison and appears under the same criteria. Unpublished limits and conflicting counts are not treated as verified features. exchangerate.dev and Narwhal API are owned and operated by Nusantara Ventures, LLC.
Sources checked . 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 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