Compare the options
Prices are monthly paid entry plans in US dollars, except Frankfurter, which is free. Faster updates can require another plan. History dates describe available archives, not complete coverage for every currency. The same facts appear in each provider’s detail table below.
| Provider | Price from | Free tier | Update frequency | History | Coverage |
|---|---|---|---|---|---|
| ExchangeRate-API | $10/month Pro; 30,000 requests | 1,500 requests/month | Daily free; hourly Pro; 5 minutes Business | Over 30 years advertised on Pro; varies by currency | 165 circulating currencies in the supported-code list |
| exchangerate.dev | $10/month Basic; 100,000 requests | 10,000 requests/month; non-commercial | About 60 seconds for actively traded currencies on trading days; reference cadence otherwise | Daily series from 1999 where available; pair-dependent | 31 currencies |
| Open Exchange Rates | $12/month Developer; 10,000 requests | 1,000 requests/month; USD base | Hourly free and Developer; 30 minutes Enterprise; 5 minutes Unlimited | Daily archive from January 1, 1999; currency-dependent | Over 200 worldwide and digital currencies |
| currencyapi | $9.99/month Small; 15,000 requests | 300 requests/month; private use | Daily free; hourly Small; 60 seconds Medium and above | Historical endpoint from 1999; currency-dependent | 170+ currencies, cryptocurrencies, and precious metals advertised |
| Fixer | $14.99/month Basic; 10,000 calls | 100 calls/month; non-commercial | Hourly free and Basic; 10 minutes Professional; 60 seconds Professional Plus | From January 1, 1999; currency-dependent | 170 currencies advertised |
| Frankfurter | $0 public API; self-hosting also available | No key or monthly quota; abuse rate limits apply | Daily blended reference rates | Some series back to 1948; provider and currency dependent | 223 currencies across its historical catalogue |
The shortlist
ExchangeRate-API
| Best fit | Broad everyday app conversion with a small response |
|---|---|
| Price from | $10/month Pro; 30,000 requests |
| Free tier | 1,500 requests/month |
| Update frequency | Daily free; hourly Pro; 5 minutes Business |
| History | Over 30 years advertised on Pro; varies by currency |
| Coverage | 165 circulating currencies in the supported-code list |
| Conversion | Pair endpoint accepts an optional amount |
ExchangeRate-API is the first shortlist choice for a general currency converter: broad circulating-currency coverage and a direct pair request keep the job focused. The conversion response supplies the rate, requested currencies, and update times; adding an amount returns the converted value. That suits a travel estimate or a product detail page that needs one result. Choose the update interval your display actually needs before paying for faster data. For a basket containing many prices, consider fetching a shared rate once rather than converting each item separately. Its published rates are indicative midpoints, and the provider explicitly rules out forex trading and cross-currency settlement. Treat a displayed amount as an estimate, with the payment provider determining the charge.
exchangerate.dev
| Best fit | Conversions that expose source and observation time |
|---|---|
| Price from | $10/month Basic; 100,000 requests |
| Free tier | 10,000 requests/month; non-commercial |
| Update frequency | About 60 seconds for actively traded currencies on trading days; reference cadence otherwise |
| History | Daily series from 1999 where available; pair-dependent |
| Coverage | 31 currencies |
| Conversion | Single-amount and batch conversion endpoints |
exchangerate.dev fits a narrower currency list when explaining the result matters. Conversion responses carry source and market-session information, so an app can distinguish a trading-day observation from a reference rate instead of showing every value as equally fresh. The catalogue is substantially smaller than the broad providers here; check your target markets first. Free allows 10,000 monthly requests for non-commercial work, while Basic permits commercial use at $10 per month. Both use the same REST freshness policy. A batch endpoint can convert several amounts in one request. Rates remain indicative: they are useful for estimates and displays, but they are not executable quotes, bank offers, or settlement prices. Daily history should be checked for the particular pair and date.
Open Exchange Rates
| Best fit | Apps that convert locally from a shared rate snapshot |
|---|---|
| Price from | $12/month Developer; 10,000 requests |
| Free tier | 1,000 requests/month; USD base |
| Update frequency | Hourly free and Developer; 30 minutes Enterprise; 5 minutes Unlimited |
| History | Daily archive from January 1, 1999; currency-dependent |
| Coverage | Over 200 worldwide and digital currencies |
| Conversion | Dedicated conversion requests on $97/month Unlimited |
Open Exchange Rates makes sense when the application already has a conversion layer and wants a reusable set of rates. Its free plan fixes the base to USD; Developer opens other bases. That distinction matters more than a large headline currency count when your catalogue is priced in euros or yen. The dedicated conversion endpoint belongs to Unlimited, so a direct amount-in, amount-out workflow costs more than entry-level rate retrieval. Local multiplication can be a reasonable alternative if your team owns rounding and rate direction. For reproducible historical displays, retain the selected date and original rate with the calculation. Count supported fiat currencies separately from digital assets before deciding whether the advertised coverage matches your customer list.
currencyapi
| Best fit | A conversion app with a modest commercial starting budget |
|---|---|
| Price from | $9.99/month Small; 15,000 requests |
| Free tier | 300 requests/month; private use |
| Update frequency | Daily free; hourly Small; 60 seconds Medium and above |
| History | Historical endpoint from 1999; currency-dependent |
| Coverage | 170+ currencies, cryptocurrencies, and precious metals advertised |
| Conversion | Convert rates included on Small and above |
currencyapi is a practical candidate when a commercial converter needs its own conversion endpoint without starting at a large subscription. Small includes conversion and commercial use, while the free allowance is intended for testing and personal projects. The trade-off is freshness: the entry paid plan is hourly, and the minute-level offer starts at Medium. Choose between those based on the age of a quote your interface can accept. Its historical endpoint accepts a date, a base currency, and a target-currency filter, which makes a historical amount lookup straightforward to describe. Coverage advertising combines currency and other asset categories; inspect the actual symbols you need. A larger headline number alone does not make a better world currency API.
Fixer
| Best fit | Conversion plus date-based reference lookups |
|---|---|
| Price from | $14.99/month Basic; 10,000 calls |
| Free tier | 100 calls/month; non-commercial |
| Update frequency | Hourly free and Basic; 10 minutes Professional; 60 seconds Professional Plus |
| History | From January 1, 1999; currency-dependent |
| Coverage | 170 currencies advertised |
| Conversion | Conversion endpoint and all base currencies on Basic |
Fixer belongs on the shortlist for an app that needs both present-day conversion and historical dates. Basic includes the conversion endpoint and all base currencies, so compare that plan against other paid conversion workflows rather than assuming the small free allowance represents production access. The published plan table also makes the speed ladder clear: faster updates require progressively higher tiers. That can be acceptable for a reporting screen refreshed periodically, but it changes the budget for a price display expected to move throughout the day. Before integrating, try the oldest date and least common currency your product requires. An archive start date is a boundary to investigate, not a guarantee that every requested pair existed or has observations throughout that period.
Frankfurter
| Best fit | Daily reference conversions with local arithmetic |
|---|---|
| Price from | $0 public API; self-hosting also available |
| Free tier | No key or monthly quota; abuse rate limits apply |
| Update frequency | Daily blended reference rates |
| History | Some series back to 1948; provider and currency dependent |
| Coverage | 223 currencies across its historical catalogue |
| Conversion | No conversion endpoint; multiply by the returned rate |
Frankfurter is a good choice when a daily reference observation is enough and the application can perform the arithmetic itself. The current v2 documentation covers a much wider catalogue than older descriptions of its ECB-only service. It offers provider filtering, date lookups, and date ranges; legacy currencies are part of the historical story, not a promise of that many spendable currencies today. Its public service is free for commercial use, subject to the underlying providers’ terms. We place it lower for the amount-conversion workflow because there is no conversion endpoint and it is not designed for live trading. For a daily reference calculator, those may be perfectly acceptable trade-offs. Cache responsibly even though there is no monthly request cap.
Choose around the conversion your app performs
Write down the currencies, date, amount, and acceptable age of a result before comparing subscriptions. A currency converter API saves implementation work only if its response matches that contract. These practical checks reveal more than a long feature list, especially when one cached observation can serve many displayed amounts.
| One amount | Try a direct conversion endpoint with your real base and target. Check whether it returns the applied rate as well as the amount, so the result can be explained later. |
|---|---|
| A price catalogue | Fetch a common snapshot and reuse it for eligible displays. Keep the source amount and currency unchanged; a rounded display amount should not become the starting point for the next conversion. |
| A past date | Request a weekday, weekend, and the earliest date you need. Decide how the interface will show a missing observation or an earlier published fix. Do not silently label either as a fresh quote. |
| A new market | Check the exact currency code rather than a country count. Historical codes, precious metals, and cryptocurrencies can inflate a catalogue that still misses a currency your customers use today. |
| A commercial launch | Budget for the plan that permits your use and includes your required endpoint. A generous free quota can still be a personal-use plan; a low paid price can still have hourly updates. |
How we chose
We ranked these services for application conversion: circulating-currency coverage, direct conversion support, published entry cost, historical access, and implementation effort. Provider-owned pricing and documentation were reviewed on October 3, 2026; sources accompany every entry. This is a documented-feature comparison, not a latency or accuracy benchmark. exchangerate.dev publishes this guide and appears under the same criteria. We did not treat catalogue totals as equivalent or assume a missing feature was unavailable. Free-plan details are only a starting filter here; the separate free-plan guide covers that decision in depth.
Sources checked . Prices and entitlements can change.
Related comparisons
- Best exchange rate APIs for developers: The broader comparison of developer exchange-rate services
- 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