Docs › API reference › Rates › /api/v1/rates/latest
GET /api/v1/rates/latest
Today's rates for every tracked currency against a base, or a subset via symbols.
Parameters
base
3-letter code, optional
Defaults to EUR.
symbols
comma-separated codes, optional
Defaults to every currency.
Request
GET /api/v1/rates/latest?symbols=USD,GBPResponse
{
"base": "EUR",
"date": "2026-08-06",
"rates": { "USD": "1.080000", "GBP": "0.850000" }
}Errors
400 Bad Request
base or symbols failed validation, or referenced a currency the API does not track.
—base must be a 3-letter currency code
{
"statusCode": 400,
"message": [
"base must be a 3-letter currency code"
],
"error": "Bad Request"
}—symbols must be a comma-separated list of 3-letter currency codes
{
"statusCode": 400,
"message": [
"symbols must be a comma-separated list of 3-letter currency codes"
],
"error": "Bad Request"
}—Unknown currency: XYZ
{
"statusCode": 400,
"message": "Unknown currency: XYZ",
"error": "Bad Request"
}401 Unauthorized
The Authorization header is missing, malformed, or the key is wrong.
—Missing or malformed Authorization header
{
"statusCode": 401,
"message": "Missing or malformed Authorization header",
"error": "Unauthorized"
}—Invalid API key
{
"statusCode": 401,
"message": "Invalid API key",
"error": "Unauthorized"
}404 Not Found
The ingestion job hasn't run yet, so there is nothing to serve.
—No exchange rate data has been ingested yet
{
"statusCode": 404,
"message": "No exchange rate data has been ingested yet",
"error": "Not Found"
}429 Too Many Requests
Your plan's request quota for the current period is used up.
—Rate limit exceeded: 1000 requests per 30-day period
{
"statusCode": 429,
"message": "Rate limit exceeded: 1000 requests per 30-day period"
}