Developer guide/Best currency APIs (2026)

Best currency APIs (2026)

The best currency API makes the conversions your app needs easy to explain and reproduce. These six choices cover shopping estimates, travel budgets, dashboards, and historical lookups. Start with supported currencies and the conversion workflow, then compare price and freshness. None of these recommendations promises the rate a bank will charge.

exchangerate.dev·

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.

Plans, frequency, historical depth, and currency coverage
ProviderPrice fromFree tierUpdate frequencyHistoryCoverage
ExchangeRate-API$10/month Pro; 30,000 requests1,500 requests/monthDaily free; hourly Pro; 5 minutes BusinessOver 30 years advertised on Pro; varies by currency165 circulating currencies in the supported-code list
exchangerate.dev$10/month Basic; 100,000 requests10,000 requests/month; non-commercialAbout 60 seconds for actively traded currencies on trading days; reference cadence otherwiseDaily series from 1999 where available; pair-dependent31 currencies
Open Exchange Rates$12/month Developer; 10,000 requests1,000 requests/month; USD baseHourly free and Developer; 30 minutes Enterprise; 5 minutes UnlimitedDaily archive from January 1, 1999; currency-dependentOver 200 worldwide and digital currencies
currencyapi$9.99/month Small; 15,000 requests300 requests/month; private useDaily free; hourly Small; 60 seconds Medium and aboveHistorical endpoint from 1999; currency-dependent170+ currencies, cryptocurrencies, and precious metals advertised
Fixer$14.99/month Basic; 10,000 calls100 calls/month; non-commercialHourly free and Basic; 10 minutes Professional; 60 seconds Professional PlusFrom January 1, 1999; currency-dependent170 currencies advertised
Frankfurter$0 public API; self-hosting also availableNo key or monthly quota; abuse rate limits applyDaily blended reference ratesSome series back to 1948; provider and currency dependent223 currencies across its historical catalogue

The shortlist

ExchangeRate-API

Best fitBroad everyday app conversion with a small response
Price from$10/month Pro; 30,000 requests
Free tier1,500 requests/month
Update frequencyDaily free; hourly Pro; 5 minutes Business
HistoryOver 30 years advertised on Pro; varies by currency
Coverage165 circulating currencies in the supported-code list
ConversionPair 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 fitConversions that expose source and observation time
Price from$10/month Basic; 100,000 requests
Free tier10,000 requests/month; non-commercial
Update frequencyAbout 60 seconds for actively traded currencies on trading days; reference cadence otherwise
HistoryDaily series from 1999 where available; pair-dependent
Coverage31 currencies
ConversionSingle-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 fitApps that convert locally from a shared rate snapshot
Price from$12/month Developer; 10,000 requests
Free tier1,000 requests/month; USD base
Update frequencyHourly free and Developer; 30 minutes Enterprise; 5 minutes Unlimited
HistoryDaily archive from January 1, 1999; currency-dependent
CoverageOver 200 worldwide and digital currencies
ConversionDedicated 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 fitA conversion app with a modest commercial starting budget
Price from$9.99/month Small; 15,000 requests
Free tier300 requests/month; private use
Update frequencyDaily free; hourly Small; 60 seconds Medium and above
HistoryHistorical endpoint from 1999; currency-dependent
Coverage170+ currencies, cryptocurrencies, and precious metals advertised
ConversionConvert 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 fitConversion plus date-based reference lookups
Price from$14.99/month Basic; 10,000 calls
Free tier100 calls/month; non-commercial
Update frequencyHourly free and Basic; 10 minutes Professional; 60 seconds Professional Plus
HistoryFrom January 1, 1999; currency-dependent
Coverage170 currencies advertised
ConversionConversion 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 fitDaily reference conversions with local arithmetic
Price from$0 public API; self-hosting also available
Free tierNo key or monthly quota; abuse rate limits apply
Update frequencyDaily blended reference rates
HistorySome series back to 1948; provider and currency dependent
Coverage223 currencies across its historical catalogue
ConversionNo 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 amountTry 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 catalogueFetch 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 dateRequest 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 marketCheck 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 launchBudget 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

Frequently asked questions

What is the best currency API for an app?
Start with ExchangeRate-API for broad everyday conversion coverage and a direct pair workflow. Shortlist exchangerate.dev when its smaller currency set covers your markets and source or session information matters. Open Exchange Rates suits apps that already calculate amounts from a rate snapshot. The best fit depends on the currencies and response your application needs, rather than a universal winner.
Can I use a currency API free in a commercial app?
Check permission as well as quota. Frankfurter says commercial use is allowed under the relevant source terms. The free plans listed here for exchangerate.dev, currencyapi, and Fixer have non-commercial or private-use restrictions. A free development integration does not establish production permission. Use the linked free-plan comparison for a fuller evaluation, then confirm the selected provider’s current terms.
Do I need a dedicated currency converter API endpoint?
Not necessarily. An amount can be multiplied by a correctly oriented exchange rate, and a shared snapshot can serve many displays. A dedicated endpoint is convenient when you want the provider to return the converted amount. Either way, preserve the original amount, rate, timestamp, and rounding policy so a later request can explain the same result.
Which world currency API has the widest coverage?
The counts above measure different things. ExchangeRate-API explicitly lists circulating currencies; Open Exchange Rates includes digital currencies; Frankfurter has a historical catalogue containing legacy codes. Compare a list of the exact currencies you need against each provider’s symbols and date availability. A larger advertised total is not proof that more of your current target markets are covered.
Will the converted amount match the card or bank charge?
Do not promise that from an indicative rate. A payment quote can involve a different observation time, spread, and fees. Display conversions as estimates when that is what they are. If your product needs to show an amount a customer can actually accept, integrate the relevant payment or execution quote workflow and follow its validity rules.
ComparisonFixer vs exchangerate.devComparisonOpen Exchange Rates vs exchangerate.devComparisonCurrencylayer vs exchangerate.devComparisonWise vs exchangerate.devComparisonCurrencylayer vs ExchangeRate-APIGuideReading source and market_session in your pipelineGuideIndicative vs executable FX rates: what a rates API actually gives youGuideECB reference rates, explainedLive rateEUR/USDLive rateGBP/USDLive rateUSD/JPY