DEV Community

Chathuranga Basnayaka
Chathuranga Basnayaka

Posted on

Is There a Free API for Currency Conversion? (2026)

Short answer: yes. Several reputable providers offer free plans for currency conversion — but "free" comes in different flavors. Some cap you at 100 requests a month, some restrict the base currency, some only return daily snapshots, and some require a credit card to sign up.

This guide walks through the free currency conversion APIs that actually exist in 2026, what each one gives you for free, and how to pick the right one for your project.

TL;DR — The Best Free Currency Conversion APIs

API Free Tier Base Currency Update Frequency Credit Card
AllRatesToday 300 req/month Any Real-time on paid, daily on free No
ExchangeRate-API 1,500 req/month Any Daily Yes (for upgrades)
Open Exchange Rates 1,000 req/month USD only Hourly Yes
CurrencyLayer 100 req/month USD only Daily Yes
Fixer.io 100 req/month EUR only Hourly Yes
Frankfurter Unlimited Any Daily (ECB) No

What "Free" Actually Means

Before picking a free API, understand the common trade-offs:

  • Request cap — how many API calls per month.
  • Update frequency — daily, hourly, or real-time (60s).
  • Base currency lock — Fixer's free tier is EUR-only, CurrencyLayer's is USD-only. You can convert through the base, but you can't ask for "GBP to JPY" directly.
  • Historical rates — most providers paywall past data. AllRatesToday includes it free.
  • HTTPS — Fixer's free tier is HTTP-only. Browsers on HTTPS will throw mixed-content errors.
  • CORS — without it, you must call the API from your backend, not the browser.

A "free" API that locks out HTTPS and caps you at 100 calls is functionally useless for a real product. Check the fine print before integrating.

AllRatesToday — Free With the Fewest Trade-offs

AllRatesToday offers a free plan with 300 requests/month, access to every endpoint (including historical rates), any base currency, HTTPS, CORS, and no credit card required.

curl -X GET "https://allratestoday.com/api/v1/rates?source=USD&target=EUR" \
  -H "Authorization: Bearer YOUR_API_KEY"
Enter fullscreen mode Exit fullscreen mode

Response:

{
  "source": "USD",
  "target": "EUR",
  "rate": 0.9234,
  "time": "2026-04-14T12:00:00Z"
}
Enter fullscreen mode Exit fullscreen mode

Data is sourced from Reuters/Refinitiv and interbank feeds. Paid plans drop to 60-second updates; the free tier refreshes less often but uses the same feeds.

ExchangeRate-API — Highest Free Quota

ExchangeRate-API's free plan gives you 1,500 requests/month — the highest in this list — with 161 currencies and any base currency. The catch: updates are daily, not real-time, which makes it unsuitable for trading or anything with live pricing.

Good for: internal dashboards, casual currency converters, low-volume accounting scripts.

Open Exchange Rates — Hourly Updates on Free

OER's free tier gives you 1,000 requests/month at hourly update cadence — the fastest update on a free plan among the larger providers. Base is locked to USD; you do cross-rate math in code.

Good for: USD-centric products that need hourly freshness without paying.

Frankfurter — Truly Unlimited But Daily

Frankfurter is an open-source wrapper around the ECB daily reference feed. No API key, no rate limit, but rates update once a day around 16:00 CET and only ~30 currencies are covered.

Good for: accounting, tax reporting, any use case where "end-of-day ECB rate" is the right answer.

Fixer.io and CurrencyLayer — Tight Free Tiers

Both cap at 100 requests/month on free, both restrict the base currency (Fixer: EUR only; CurrencyLayer: USD only), and Fixer's free tier is HTTP-only. They're fine for testing, not for production.

How to Pick

  • Need real-time updates for free: None of the options above give genuine real-time for free. AllRatesToday's paid plans start cheapest if you eventually need 60s updates.
  • Need high request volume: ExchangeRate-API (1,500/mo).
  • Need historical rates for free: AllRatesToday is the only mainstream provider that includes historical on the free tier.
  • Need any-base currency: AllRatesToday, ExchangeRate-API, or Frankfurter.
  • Need HTTPS: Everything except Fixer's free tier.
  • Need no credit card: AllRatesToday or Frankfurter.

A Minimal Integration Example

Here's a complete JavaScript example using AllRatesToday's free tier:

const res = await fetch(
  'https://allratestoday.com/api/v1/rates?source=USD&target=EUR',
  { headers: { Authorization: 'Bearer YOUR_API_KEY' } }
);
const { rate } = await res.json();
const usd = 100;
const eur = (usd * rate).toFixed(2);
console.log(`$${usd} = €${eur}`);
Enter fullscreen mode Exit fullscreen mode

Cache the response for 1 hour on your server. That one call a week keeps you well under any free-tier cap.

FAQ

Is Google Currency Converter API free?

Google retired its public currency conversion API in 2013. Google Finance results on search pages are not officially accessible via an API. For developer use, pick one of the APIs above.

Is Fixer free?

Yes, with 100 requests/month, EUR-only base, HTTP-only, and hourly updates. Usable for prototypes.

Can I get real-time rates for free?

Not genuinely. Free plans across the industry update hourly or daily. "Real-time" (60s) is a paid feature on every major provider. The closest free option is Open Exchange Rates at hourly.

Do I need an API key?

Every provider above except Frankfurter requires a key. Keys are free to generate and take a minute; they're a rate-limiting mechanism, not a commercial barrier.

Which free API is best for e-commerce?

If rates will affect prices customers pay, use a provider with hourly or better updates. AllRatesToday (paid upgrade to 60s) or Open Exchange Rates (hourly free) are the usable options. Daily rates can drift 1–2% during volatile sessions, which comes out of your margin.


Ready to try it? Get your free AllRatesToday API key — 300 requests/month, historical rates included, no credit card required.

Top comments (0)