5,000 free requests per month. $5 entry plan. Native MCP server on day one. Every response labeled with its source — ECB, FRED, or market aggregate.
{
"data": {
"USD": 1.000,
"EUR": 0.923,
"JPY": 152.14
},
"source": "ECB",
"source_timestamp": "2026-04-17T14:00Z",
"served_at": "2026-04-19T09:22:14Z",
"cache": "HIT"
}
Why FXRATE-API
Three things today's exchange rate APIs get wrong — and how we fix them.
5,000 requests/month free — with any base currency, not just EUR. Paid plans start at $5/mo, half the competition's entry price.
One JSON block plugs FXRATE-API into Claude, ChatGPT, or Cursor. Tool descriptions guide the agent to pick reference vs. market rates correctly.
Every rate carries its origin — ECB, FRED, or market aggregate — with the exact timestamp. Finance and compliance teams love this.
Powered by Cloudflare Workers + Turso. p99 under 150ms in every major region, 0ms cold start.
Typed TS & Python SDKs ship from day one. Clear error codes, every one with a how_to_fix.
Hit your cap? We return 429 — never a silent charge. Dashboard alerts at 80% and 100%.
MCP · Model Context Protocol
Drop one JSON block into Claude Desktop, Cursor, or ChatGPT and your agents get five carefully described tools —
get_latest_rate, convert_amount,
get_historical_rate, get_timeseries,
list_sources. Every description tells the model when to use reference vs. market rates.
npx @fxrateapi/mcp or uvx fxrateapi-mcp{
"mcpServers": {
"fxrateapi": {
"url": "https://mcp.fxrateapi.com",
"headers": {
"Authorization": "Bearer fxr_live_..."
}
}
}
}
Side by side
Better free tier, lower paid entry, and features the incumbent just doesn't ship.
| Dimension | exchangerate-api | FXRATE-API |
|---|---|---|
| Free monthly requests | 1,500 | 5,000 · 3.3× |
| Lowest paid plan | $8.33 / mo (annual) | $5 / mo |
| Free-tier base currency | Locked to EUR | Any currency |
| Native MCP server | Not supported | Hosted + npm/PyPI |
| Per-response source attribution | Not shown | ECB / FRED / Market |
| Pro plan (~250K req/mo) | $29+ / mo | $15 / mo |
| Overage behavior | Silent upgrade / charge | 429 with 10% soft grace |
Pricing benchmarks as of 2026-04. exchangerate-api remains a fine tool — we just think developers deserve more for less.
Pricing
Annual plans save two months. Cancel any time from the dashboard.
For side projects and first tries.
Enough for a shipping SaaS.
1-minute rates, WebSocket, team keys.
Scale without renegotiating.
All plans include any base currency · source-attributed responses · 99.9% uptime target · cancel anytime.
Docs
Register with a magic link, copy your API key, paste our one-liner, hit the endpoint from your browser, terminal, or the in-page playground.
why + how_to_fix{ "EUR": 0.923, "JPY": 152.14, "GBP": 0.791, "source": "ECB" }
Reference rates come from ECB (via Frankfurter + direct SDMX) and FRED. Market rates on paid plans come from licensed aggregators. Every response is labeled with its exact source and timestamp.
No. FXRATE-API provides reference and indicative market rates for display, accounting, reporting, and AI agent use. It is not a trading venue and not financial advice.
We email you at 80% and 100% of quota. Up to 110% you get a soft grace with a warning header. Above that, we return HTTP 429 — no silent overage charges, ever.
No. One fxr_* key works for both. Pro and Business plans can issue scoped private keys for team members and agents.
Our archive covers euro-area currencies from 1999 and the rest of the world from 2000. How far back you can query depends on plan: Free gets the last 30 days, Hobby gets 5 years, Pro & Business get full depth. Business also includes a 30-day minute-level intraday archive with CSV / Parquet bulk export. Tick-level historical market data is on the V2 roadmap.
No credit card. 5,000 calls a month included. Upgrade only when you outgrow it.