Frankfurter

Central-bank FX rates. MIT-licensed, self-hostable, commercial-safe.

📈 FinanceHEALTHYchecked 2h ago
AUTH NONECORS AGENT HTTPS COMMERCIAL

Frankfurter tracks reference exchange rates from the European Central Bank and friends. It is the rare free API with zero strings attached: MIT-licensed code, self-hostable via Docker, explicit yes to commercial use, and no quotas beyond abuse-prevention rate limiting. The gold standard for what a free API should be.

HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: — · healthy
Uptime history
—%90 days
—%30 days
P50 · ms
P95 · ms
operationalpartialdownno data
Live response samplecaptured by our last successful check
GET https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,GBP,JPY

{
  "amount": 1,
  "base": "USD",
  "date": "2026-07-03",
  "rates": {
    "EUR": 0.9207,
    "GBP": 0.7811,
    "JPY": 158.42
  }
}
Call itcurl · fetch · python
curl "https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,GBP,JPY"
const res = await fetch("https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,GBP,JPY");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,GBP,JPY")
print(res.json())
Endpoints · 3HealthyFULL DOCS ↗
Monitored path responding — GET /latest?base=USD&symbols=EUR,GBP,JPYchecked 2h ago
GET/latest?base=USD&symbols=EUR,GBP,JPYPROBED

Latest reference FX rates from ECB sources — commercial-safe.

GET/2024-01-15?base=USD&symbols=EUR

Historical rates for a specific ISO date.

GET/currencies

List all supported currency codes.

Machine-readable spec

We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.

Response-shape history

Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.

Frankfurter: common questions

Is Frankfurter free to use?

Yes — Frankfurter is a free finance API. Free tier: Unlimited — abuse-rate-limited only. Commercial use is allowed on the free tier.

Does Frankfurter need an API key?

No — Frankfurter needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished, generous).

Can I call Frankfurter from the browser?

Yes — Frankfurter returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.

Is Frankfurter up right now?

As of our last scheduled check, Frankfurter is healthy. We re-probe it every sweep — the status badge and uptime chart above always show the latest.