The best free currency APIs

Four free ways to get exchange rates into your app, and when each one is the right choice. Spoiler: if you only need a handful of currencies once a day, all of them work.

We make freecurrencyapi, so we are not neutral. The details below come from each provider’s own website or repository in October 2026; check them before you build on one.

Overview

APIAPI keyFree quotaCurrenciesUpdates
freecurrencyapiYes (free)1,000 requests / month, 10 / minute33Daily (end of day)
ExchangeRate-APIYes (free)1,500 requests / month160+Daily
FrankfurterNoNo monthly cap, rate-limited against abuse219 (v2)Daily
fawazahmed0/exchange-apiNoNo rate limits stated200+, incl. crypto and metalsDaily

freecurrencyapi

A JSON REST API with four endpoints: latest, historical (daily rates back to 1999-01-01), currencies and status. It covers 33 major currencies, any of them can be the base currency, and there are official SDKs for PHP, Python, JavaScript, Ruby, Go, Rust and R. The free plan is meant for hobby projects; failed and invalid requests do not count against the quota.

Choose it if you want a simple keyed API with history and SDKs, and 33 currencies are enough.

ExchangeRate-API

A long-running commercial API with a free plan of 1,500 requests a month and daily updates for more than 160 currencies. You sign up for a key; paid plans start at $10 a month for 30,000 requests.

Choose it if you need more currencies than freecurrencyapi covers and a daily update is fine.

Frankfurter

An open-source API that needs no key and has no monthly cap. According to its documentation, the current v2 API tracks rates from 104 central banks and official sources for 219 currencies, with history back to 1948; the older v1 API remains available. You can also self-host it with Docker.

Choose it if you do not want to manage API keys, prefer official central bank rates, or want to run the service yourself.

fawazahmed0/exchange-api

Daily exchange rates for 200+ currencies, including common cryptocurrencies and metals, published as static JSON files on the jsDelivr CDN with a Cloudflare Pages fallback. There is no key and no rate limit, rates for past dates are available by date in the URL, and the data is released under CC0. It is a community project without a stated support or uptime commitment.

Choose it if you need many currencies with zero setup, for example in a client-side app or a prototype.

When you outgrow a free API

Free APIs update once a day. If you need rates that move during the day, more currencies or time series, currencyapi.com is our paid upgrade: 171 fiat currencies, 16 cryptocurrencies and 4 precious metals, updates every 60 seconds on the Medium plan and above, and intraday and historical time series by minute, hour or day. It also has a free plan to try it; see currencyapi pricing.

To get started with freecurrencyapi, create a free API key and follow the documentation.

Daily rates for 33 currencies, free.

Get a free API key