9 Best Currency Exchange APIs

A comparison of the top exchange rate APIs: where each one's data comes from, how often it refreshes, base-currency limits on the free tier, historical depth, and current US pricing, from a free open-source option to a trading-grade streaming feed.

A currency exchange API returns the current or historical rate between two currencies, and usually converts an amount for you in the same call. You send a request with a base currency and one or more target currencies and get back JSON your app can use to price a cart, an invoice, or a dashboard.

The catch is that most of these products draw on the same handful of upstream feeds. The European Central Bank publishes euro reference rates once each working day; a few dozen other central banks publish their own, and a smaller set of vendors blend interbank and commercial quotes on top. So the real choice is rarely about whose numbers are more accurate. It is about how often the data refreshes, whether the free tier lets you pick your own base currency, how far back the history goes, and what you pay once you outgrow the free plan.

The APIs below are compared on where their data comes from, how fresh it is, the size and limits of the free tier, historical depth, and current US pricing. They range from a free, no-key, open-source option to a streaming feed made for trading screens.

What a currency exchange API gives you

Almost every provider here exposes the same core endpoints: a latest call for current rates, a historical call for a single past date, a time-series or range call for a span of dates, and a convert call that applies a rate to an amount. If you only need to show a price in the visitor’s currency, the latest endpoint is the whole job.

You need to look at data behind those endpoints.

  • Reference-rate APIs pass through central-bank rates: accurate, free or cheap, but quoted against one base currency and refreshed about once a day.
  • Aggregated APIs blend interbank and commercial sources, which lets them refresh every few minutes and quote against any base you ask for.
  • Streaming APIs carry live tick data from trading venues and are priced for that.

One limit trips people up on the free plans. Central-bank data is published against a fixed base (euro for the ECB, and most APIs anchor their free tier to USD), so changing the base currency is almost always a paid feature. If your app needs rates quoted from GBP or AUD, check that the free tier allows it before you build against it.

Currency exchange APIs at a glance

APIData typeFree tierBase currency (free)Updates (free / paid)Published price
FrankfurterCentral-bank referenceUnlimited, no keyAny~DailyFree, open source
ExchangeRate-APIBlended, 3+ sources per currency1,500 req/moAnyDaily / to 5 minFrom $10/mo
Open Exchange RatesBlended commercial1,000 req/moUSD onlyHourly / to 5 minFrom $12/mo
FixerECB + 16 sources100 req/moEUR onlyHourly / to 60 sFrom $14.99/mo
CurrencyFreaksForex + crypto exchanges, banks1,000 req/moUSD onlyDaily / to 60 sFrom $9.99/mo
currencyapi.comProviders + banks300 req/moAnyDaily / to 60 sFrom $9.99/mo
Abstract APICentral banks, fiat + crypto500 req totalAny45-60 min / to 60 sFrom $12/mo (annual)
FinageTrading venues, streaming3-day trialAnyReal-timeFrom $599/mo
XE100+ sources, Rate BlenderTrial onlyAnyDaily / minutelyFrom $799/yr

I have checked each provider for its documented data sources, the endpoints it exposes, the size of its free tier and whether that tier allows base-currency switching, how often rates refresh on free and paid plans, how far back historical data goes, and its current pricing as published for US customers.

Pure trading terminals, money-transfer APIs that only serve approved partners, and unbranded marketplace listings with no vendor behind them have been left out.

Frankfurter

Frankfurter costs nothing, needs no API key or signup, and serves reference rates from the European Central Bank plus about 84 other central banks. It’s a good starting point for SaaS billing, e-commerce in major currencies, and accounting or reporting tools. Its documentation says plainly that it is not meant for live trading.

Key Features

  • Endpoints for the latest rate, a single past date, a date range, and a one-pair lookup.
  • Any currency can be the base; the response recalculates from the source data.
  • Rates for 201 currencies, with history that the project says reaches back to 1948.
  • A Docker image for self-hosting, backed by a small SQLite database.
  • Responses can be pinned to one named central bank when you need an auditable source.

Pros & Cons

PROS

Wider currency coverage than a feed carrying only the ECB's own roughly 30 rates.
Self-hosting drops the outside dependency and the shared rate limit in one move.

CONS

Rates refresh roughly once per working day, with nothing on weekends or holidays.
A community project with no company, support desk, or uptime guarantee behind it.

Pricing

Free. Open source under the MIT license, so you can also run your own copy.
– Public instance at api.frankfurter.dev: no key, no signup, no monthly quota (rate-limited only to curb abuse)

ExchangeRate-API

ExchangeRate-API blends central-bank and commercial data, and adds a currency only when it has at least three independent sources for it. For a straightforward integration that has outgrown a once-a-day rate, it is the commercial option with the least setup.

ExchangeRate-API

Key Features

  • A plain-JSON response from the latest, past-date, and pair-conversion endpoints.
  • A separate open-access endpoint serves current rates with no key for basic use.
  • About 161 currencies across 200 countries.
  • Country codes and currency symbols are added to responses on the paid plans.

Pros & Cons

PROS

No client library to install; a single HTTP call does the work in any language.
The free tier allows any base currency, which Fixer, Currencylayer, and Open Exchange Rates all gate to a paid plan.
The same endpoints have worked unchanged since 2010, and the vendor commits to keeping it that way.

CONS

Free-tier rates update only once a day, so a converter will show yesterday's number.
The dataset is rates and conversion only, with no crypto and no market-depth data.

Pricing

A free key covers light use; paid plans add faster refresh and higher volume.
– Free: 1,500 requests per month, once-daily updates, historical data included
– Pro: $10/month or $100/year, 30,000 requests per month, hourly updates
– Business: $30/month or $300/year, 125,000 requests per month, five-minute updates

Open Exchange Rates

Open Exchange Rates has served blended currency data since the early 2010s, covering more than 200 fiat and digital currencies from several providers through a plain JSON API, with time-series and conversion endpoints on top of the basics. That makes it a sound pick for a product that starts small and might need to scale.

Open Exchange Rates API

Key Features

  • One consistent JSON schema across the latest, historical, time-series, and convert calls.
  • A dashboard with usage analytics and per-app IDs for tracking calls.
  • Refresh cadence rises with the plan, from hourly on the free tier to every five seconds.

Pros & Cons

PROS

The plan ladder runs from a hobby-scale free tier to unmetered volume with no API change on the way up.
The free plan's hourly refresh is enough for most price-display use cases.
One response shape across every endpoint, so adding time-series or conversion later is not a re-integration.
The top tier adds bid and ask prices if you later need a spread, not just a mid rate.

CONS

The free plan is locked to a USD base, so any other base means a paid plan.
No streaming; the fastest cadence is a five-second poll.

Pricing

The free plan is USD-only and hourly; paid plans unlock all base currencies and faster refresh. Annual billing includes two months free.
– Free: 1,000 requests per month, hourly updates, USD base only
– Developer: $12/month, 10,000 requests per month, all base currencies
– Enterprise: $47/month, 100,000 requests per month, 30-minute updates
– Unlimited: $97/month, unmetered requests, five-minute updates

Fixer

Fixer anchors its rates to European Central Bank data, so output is quoted against the euro by default. It covers 170 currencies from 16 sources, with history to 1999. apilayer sells near-identical APIs under other names: currencylayer is the USD-anchored version, and exchangerate.host is a lighter one that used to be free and now needs a key. Choose whichever default base currency saves you a conversion step.

Fixer

Key Features

  • Conversion, time-series, and fluctuation calls join the latest and historical basics on higher plans.
  • A quickstart tool in the dashboard fires a test call against each endpoint before you write code.
  • The currencylayer sibling adds gold and silver as XAU and XAG.

Pros & Cons

PROS

Euro-based output saves a conversion step if your books are already in euros.
Thorough documentation and copy-paste examples make setup quick.
Six-decimal precision and sub-50ms responses, finer and faster than several rivals expose.

CONS

The free tier is a fraction of what ExchangeRate-API or Open Exchange Rates give away.
The overlapping apilayer brands make it easy to sign up for the wrong product.

Pricing

The free plan is euro-base and hourly. Paid plans add base-currency switching and the conversion endpoint. Prices are close across the apilayer currency brands.
– Free: 100 requests per month, hourly updates
– Basic: $14.99/month, or $13.99/month billed yearly, 10,000 requests per month
– Professional: $59.99/month, 100,000 requests per month, 10-minute updates
– Professional Plus: $99.99/month, 500,000 requests per month, 60-second updates

CurrencyFreaks

CurrencyFreaks covers 166 fiat currencies, 860 cryptocurrencies, and four precious metals, and the free tier includes all of them, far more than any other free plan here. Rates come from forex exchanges, crypto exchanges, and national banks, normalized into one response that returns JSON or XML.

Currencyfreaks

Key Features

  • Latest, historical, range, and conversion calls under one API.
  • End-of-day historical rates go back to November 1984.
  • An IP-to-currency endpoint on mid tiers picks a currency from the visitor’s location.
  • No hourly or per-second throttle; the only limit is the monthly quota.
  • Usage alerts fire at 80, 90, and 100 percent of the monthly allowance.

Pros & Cons

PROS

One provider for fiat, a large crypto list, and metals, so there is no second API to add for crypto.
The cheapest paid entry here, and it opens every base currency and historical data.
Request examples in eight languages stand in for the missing official SDKs.

CONS

The free plan updates once a day and quotes against USD only.
A smaller, younger operation than XE or apilayer, with a shorter public track record.

Pricing

The free Developer plan is USD-base and daily; historical data and base-currency switching start on the first paid tier. Annual billing gives two months free.
– Developer: free, 1,000 requests per month, 24-hour updates
– Starter: $9.99/month, 15,000 requests per month, hourly updates
– Growth: $49.99/month, 150,000 requests per month, 10-minute updates
– Professional: $99.99/month, 550,000 requests per month, 60-second updates

currencyapi.com

currencyapi.com covers more than 170 currencies including major cryptocurrencies, refreshes every 60 seconds on paid plans, and reports 99.99 percent uptime over the past year. Its dashboard and predictable limits suit small teams shipping a converter or a pricing feature.

CurrencyAPI.com

Key Features

  • Endpoints for status, currency list, latest, historical, range, and conversion.
  • A request playground in the dashboard builds and fires a call without code.
  • Multiple API keys per account, so staging and production stay separate.
  • The same team also operates freecurrencyapi.com, with a larger free quota and fewer endpoints.

Pros & Cons

PROS

Any currency can be the base, including on the free plan.
The range endpoint returns a whole date span in one request, which suits charting.
Paid plans drop the per-minute rate limit, so short bursts are not a problem.

CONS

The free allowance is small enough that it suits testing more than a running integration.
Free-tier rates update once a day, so a live converter needs a paid plan.

Pricing

Every plan includes latest and historical rates. Annual billing is 20 percent off.
– Free: 300 requests per month, daily updates
– Small: $9.99/month, 15,000 requests per month, hourly updates, conversion endpoint
– Medium: $39.99/month, 600,000 requests per month, 60-second updates, range endpoint
– Large: $79.99/month, 1,700,000 requests per month, 60-second updates

Abstract API

Abstract API’s exchange rates endpoint draws on several central banks, including the European Central Bank and the Bank of Japan, and returns fiat and major crypto from one call: more than 150 currencies and 10,000 pairs, plus Bitcoin, Ethereum, Litecoin, gold, and silver. Historical data goes back decades, and every response uses 256-bit SSL.

Abstract API

Key Features

  • Conversion works fiat-to-crypto and crypto-to-crypto, not only between fiat pairs.
  • Data refreshes every 60 seconds on paid plans, and every 45 to 60 minutes on the free tier.
  • SOC 2 Type II and GDPR, with a public status page.
  • Prebuilt connectors for Zapier, AWS, Google Cloud, and others.

Pros & Cons

PROS

One account and one API style across Abstract's exchange-rate, geolocation, and validation products.
Any base currency is allowed, including on the free tier.
The prebuilt connectors drop rates into Zapier or a warehouse without custom glue.

CONS

The free tier is a fixed batch of calls at one request per second, not a renewing monthly quota.
Abstract's own pages disagree on the currency count, quoting both 60-plus and 150-plus.
Historical data is described only as reaching back decades, with no stated start date.

Pricing

Free access is a one-time batch of calls; the Standard plan is much cheaper billed annually.
– Free: 500 requests total, one request per second
– Standard: $19/month, or $12/month paid annually, with the annual plan allowing 120,000 requests per year
– Enterprise: custom, adds an uptime SLA, SSO, and a dedicated account manager

Finage

Finage streams live data for more than 3,500 currency pairs over WebSocket with millisecond latency, and carries the last price, OHLCV bars, aggregates, and level 1 and level 2 market depth a trading screen needs. Priced as a market-data feed, it is far more than a converter or a checkout calls for.

Finage API

Key Features

  • A REST forex endpoint alongside the stream, on public, VPS, or dedicated servers.
  • Around 12 to 13 years of historical OHLCV data for backtesting.
  • Separate real-time trade, daily, changes, and tick data feeds.
  • A three-day free trial covering real-time and delayed data across every market.

Pros & Cons

PROS

Unlimited API calls on the paid feeds, so request budgeting is not a concern.
One vendor if you also need streaming stock or crypto data.
The same feed carries 12-plus years of history, so a strategy backtests and runs live on one source.

CONS

The public pricing page leads with stock-data plans, and forex specifics often go through sales.
Standing up a streaming client is real work if all you needed was a daily number.
The entry price is many times a REST rates API's top tier, for data most apps will not touch.

Pricing

Priced as a market-data feed, not a per-call API.
– Real-Time Forex Data Feed: from $599/month
– Forex and Crypto bundle: from $949/month
– Free trial: three days across all markets

XE

XE is a platform I have personally used for a long time. Its Currency Data API pulls from more than 100 sources through the Rate Blender, covers 220-plus currencies including selected cryptocurrencies, and has history to 1998. Finance and operations teams reach for it because they already know the XE brand, and it goes behind an ERP, a billing system, or an accounting workflow.

XE.com api

Key Features

  • Latest and historical rates, plus a monthly average rate field.
  • The Rate Blender filters out anomalous quotes before they reach the response.
  • Official SDKs for Java, Node.js, PHP, and Python.
  • Plans are sized by request volume and by the number of business entities on the key.

Pros & Cons

PROS

Any base currency on every tier, with no paid gate on it.
Monthly average rates are a built-in field, so period reporting needs no separate calculation.
A rate source a finance or audit team will accept without a debate.

CONS

Billing is annual only, so the smallest commitment is a full year up front.
Hourly and faster refresh start at the second tier, not the entry plan.
Live minutely rates and alternative source data are paid add-ons on top of the plan.

Pricing

Annual billing only. The entry plan is daily rates; hourly and faster refresh start one tier up.
– Lite: $799/year, 10,000 requests per month, one entity, daily rates
– Intermediate: $1,799/year, 50,000 requests per month, up to five entities, hourly and daily rates
– Prime: $4,499/year, 150,000 requests per month, up to 10 entities, 15-minute rates
– Add-ons: live minutely rates and alternative source rates are priced separately

Other options worth knowing

A few more are worth a look if your situation is narrower or your budget is different.

The fawazahmed0 exchange-api project is the most generous free option after Frankfurter: static JSON served from a public CDN, no key, no rate limits, 200-plus currencies including crypto and metals, updated once a day, released into the public domain. It has no company or support behind it, so treat it as you would any free CDN dependency.

Xignite, long a fixture in FX-data roundups, is now part of QUODD after a 2023 acquisition. Its FX catalog lives on inside QUODD’s enterprise market-data suite, sold through sales conversations rather than a signup form, so it no longer fits a developer who wants to start today.

Wise exposes a mid-market rate endpoint and a transfer-cost comparison feed, which is the right data if you are showing users what a real transfer would cost. Access is gated: you apply to the Wise Platform or affiliate program, and Wise issues credentials after a review.

If you already pull equities or fundamentals data, Financial Modeling Prep and multi-asset market-data APIs such as Twelve Data and Polygon.io include forex quotes and a conversion endpoint in their plans. They make sense when currency data is a small part of a larger market-data need, not when it is the whole requirement.

How to choose

Start with what the data is for. Displaying a localized price, billing a subscription, or booking an invoice needs an accurate daily rate and nothing more, so a free reference-rate API like Frankfurter or a low-tier commercial plan covers it. A currency converter that users watch move wants a 60-second refresh, which puts you on a mid-paid tier. Only a trading or treasury screen needs the live tick data that Finage or an enterprise feed provides.

Check the base-currency limit on the free tier before you write any code. If your app quotes in USD, most free plans work as they are. If it quotes from euros, sterling, or anything else, either budget for the paid plan that unlocks base switching or pick one of the few that allow it for free: Frankfurter, ExchangeRate-API, currencyapi.com, and Abstract API.

Then weigh history and support. Backtesting or trend analysis rewards the deep archives at CurrencyFreaks and XE. A production system that cannot tolerate a silent outage is worth a paid plan with a named contact rather than a community project. And since so many of these resell the same central-bank and interbank data, the quota, the refresh rate, the support, and the price are usually what actually separate them.

Frequently Asked Questions

Is there a genuinely free currency exchange API?

Yes. Frankfurter and the fawazahmed0 exchange-api project are free with no API key and no monthly cap, both serving reference rates that refresh about once a day. Most commercial providers also have a free tier, typically 300 to 1,500 requests a month with once-daily updates and the base currency locked to USD.

Why can’t I change the base currency on the free plan?

Central-bank data is published against one base: the European Central Bank quotes against the euro, and most APIs anchor their own free tier to USD. Recalculating rates against an arbitrary base is a paid feature on Fixer, currencylayer, Open Exchange Rates, and CurrencyFreaks, though a handful of others allow it for free.

How often do exchange rate APIs update?

Reference-rate feeds from central banks update roughly once per working day and skip weekends and holidays. Commercial APIs refresh anywhere from every 60 minutes down to every 60 seconds, depending on the plan. Only streaming APIs such as Finage carry live tick data.

Can I use one of these for currency conversion in a trading app?

Not the reference-rate APIs. They give you an official daily or hourly rate, not the live bid and ask a trade executes against. For that you need a streaming feed like Finage, an enterprise provider that offers bid-ask pricing, or your broker’s own data.

Where does the exchange rate data actually come from?

Most of it traces back to the European Central Bank and several dozen other central banks, which publish official reference rates. Vendors like Open Exchange Rates, XE, and CurrencyFreaks blend those with interbank and commercial quotes to refresh more often and cover more currencies.

Thanks to Our Partners

Geekflare Guides

© 2026 Geekflare. All rights reserved. Geekflare® is a registered trademark.

All Systems Operational →