1. Request two rates
This asks for the euro and British pound against the US dollar. Change the base in the path or the comma-separated symbols list to get different currencies.
Use it with your stack
The same request works with curl, Python, and JavaScript. No API key is needed for evaluation.
Example response
{
"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.
2. Read the response
The response uses this JSON shape. The rates below are an example, so your numbers and timestamps will be different.
Use rates.EUR and rates.GBP in your code. If you show freshness to users, keep source, market_session, and effective_at for each displayed currency.
3. Add a key when you need account quota
Anonymous requests are for evaluation and are limited by IP. A free account gives you an account-attributed monthly quota. Keep the key on your server, not in public browser JavaScript.
Create a free key, then replace YOUR_KEY. The X-API-Key header also works when a connector cannot set an Authorization header.
Where to go next
- Convert an amount with a GET or batch POST request.
- Pull historical data for one day or a date range.
- Understand source and freshness before putting a rate in production.