Try the JSON API without a key for evaluation. Major currencies update about every 60 seconds on trading days; the rest use ECB/FRED reference rates. Every response exposes source and market_session.
The same request works with curl, Python, and JavaScript. No API key is needed for evaluation.
{
"result": "success",
"base": "USD",
"source": "live",
"sources": {
"EUR": "live",
"GBP": "live"
},
"market_session": "open",
"timestamp": "2026-06-15T12:00:00Z",
"data_updated_at": "2026-06-15T12:00:00Z",
"effective_at": {
"EUR": "2026-06-15T12:00:00Z",
"GBP": "2026-06-15T12:00:00Z"
},
"rates": {
"EUR": 0.86207,
"GBP": 0.74627
},
"derived_symbols": [],
"notice": "Indicative rates, not for settlement."
}rates.EUR is the EUR amount for 1 USD. effective_at.EUR is the observation time; sources.EUR identifies its source class. Values and timestamps are illustrative.
No key · 12 req/min · 100 req/hour per IP · for evaluation.
10,000 calls/month · 12 req/min · no card · attributed account use.
REST latest rates cover the currency catalog, with each response labelling its source and observation time. Daily reference history starts in 1999 where the pair is covered. Market observations start with collection on 2026-09-14 and support 1m, 5m, 15m, 1h, 4h on eligible pairs; 1d is daily reference history. Missing market observations remain missing.
The authenticated WebSocket streams eligible market pairs, sends snapshots and updates, and reports stale or unavailable states. A latest REST rate does not establish market-history or streaming eligibility. Explore intraday observations · Check intervals and coverage · Integrate WebSocket updates.
For dollar-basket analysis, compare the independently reconstructed six-currency DXY with our 13-currency USD Strength Index. Both use versioned REST and authenticated WebSocket index subscriptions; missing constituents leave gaps.
Compare the practical trade-offs in our guide to exchange rate APIs.
100,000 calls/mo for production apps.
1,000,000 calls/mo, priority support.
Actively traded currencies update about every 60 seconds on trading days. Other coverage uses ECB/FRED reference rates.
Every rate ships with source, market_session, and timestamp — so you always know if it's live or a daily fix.
A stdio MCP bridge ships on every plan, including Free — no custom REST client to write.
Connect an AI agentFreshness is measured from the API now; sample rates are never substituted when a source is unavailable. Indicative rates only, not for settlement. See live coverage.
EUR, GBP, JPY, CHF, CAD, AUD, and NZD against USD. Each response says whether the rate is live or on a reference cadence.
Non-USD pairs like EUR/GBP, EUR/JPY, and GBP/JPY. Direct and triangulated rates use the same format; derived_symbols identifies calculated crosses.
Coverage includes MXN, ZAR, TRY, BRL, IDR, and BGN. Read the per-currency source field instead of assuming a fixed update cadence.
Free tier, no card. 31 currencies, live intraday for the actively-traded ones.