Most products don’t need a trading terminal – they need a reliable, current exchange rate to show next to a price, use in a checkout or store with a transaction. The fxapi foreign exchange rates API gives you exactly that: market rates for 190+ currencies, refreshed every 60 seconds on paid plans and delivered as compact JSON over HTTPS. No WebSockets to keep alive, no FIX sessions, no exchange licences – one GET request returns every rate you need.
The /v1/latest endpoint
| Parameter | Required | Description |
|---|---|---|
apikey | yes | Your API key – send it as an HTTP header |
base_currency | no | Currency all values are relative to, default USD |
currencies | no | Comma-separated list such as EUR,GBP,JPY – default: all 190+ |
type | no | fiat, metal or crypto |
The response contains meta.last_updated_at (ISO 8601, UTC) and a data object keyed by currency code. Each value is the amount of the target currency you get for one unit of the base currency. Full reference: latest endpoint docs.
Update frequency by plan
| Plan | Live rate updates | Requests / month | Price |
|---|---|---|---|
| Free | daily | 300 | $0 |
| Basic | hourly | 15,000 | $9.99 |
| Professional | every 60 seconds | 600,000 | $34.99 |
| Enterprise | every 60 seconds | 1,700,000 | $74.99 |
Compare everything on the pricing page. If daily rates are enough, the free exchange rate API plan covers you.
What teams build with live exchange rates
Localized prices in e-commerce and SaaS
Show prices in the visitor’s currency, refresh them hourly or every minute, and lock the rate at checkout. Store last_updated_at with the order so finance can trace exactly which rate was used. See multi-currency pricing.
Payments, wallets and payouts
Display an indicative conversion before a user confirms a transfer, or check what your payment provider charges against the market rate. To get converted amounts directly, use the currency converter API.
Dashboards and treasury monitoring
Feed live rates into Grafana, Retool, Power BI or an internal dashboard, and combine them with historical exchange rates and fluctuation to show trends.
AI assistants and agents
Give Claude, Cursor or your own agent direct access to live rates through the hosted fxapi MCP server.
Integration best practices
- Keep your key on the server. Send it in the
apikeyheader from your backend; never ship it in a website or mobile app bundle. - Cache by update interval. Store the latest response for as long as your plan’s refresh interval and serve all users from that cache – see caching exchange rates.
- Ask for what you need.
currencies=EUR,GBPkeeps payloads small and parsing fast. - Watch the quota headers.
X-RateLimit-Remaining-Quota-Monthshows what’s left; HTTP 429 means a limit was reached. - Fail gracefully. If a request fails, fall back to your last cached rate so checkout keeps working.
Node.js: refresh rates every minute with an in-memory cache
let cache = { rates: null, fetchedAt: 0 };
export async function getRates() {
if (cache.rates && Date.now() - cache.fetchedAt < 60_000) return cache.rates;
const res = await fetch("https://api.fxapi.com/v1/latest?base_currency=USD", {
headers: { apikey: process.env.FXAPI_KEY },
});
if (!res.ok) {
if (cache.rates) return cache.rates; // serve the last known rates instead of failing
throw new Error(`fxapi error ${res.status}`);
}
const { data } = await res.json();
cache = { rates: data, fetchedAt: Date.now() };
return data;
}
More languages: Python, JavaScript, PHP, Go (Golang) and all guides.
Frequently asked questions
How real-time are fxapi's exchange rates?
meta.last_updated_at, the exact UTC timestamp of the data.Is this a forex trading feed?
Can I get live rates relative to EUR, GBP or another currency?
base_currency to any supported code – EUR, GBP, CHF, JPY, even BTC or XAU – and every value is returned relative to that currency, on every plan.How often should my application call the latest endpoint?
Are crypto and gold prices included?
/v1/latest includes precious metals (XAU, XAG, XPT, XPD) and 16 major cryptocurrencies such as BTC, ETH and SOL. Filter with type=crypto or type=metal.