Daily series over a date range (defaults to the last year; capped at 5000 rows — narrow the range if truncated is true). Use symbol for every published pair involving one currency, or source+target for a single resolved pair per date (cross-computed via the home currency when needed, flagged derived). Archives reach back to 2000 and earlier for major sources. Paid plans only.
Path parameters
-
Source code from /api/v1/central-banks (e.g. ecb, boc, cbsl, banxico, ustreasury)
Format should match the following pattern:
^[a-z0-9_-]{2,20}$.
Query parameters
-
3-letter currency code matching either side of the pair. Required unless source+target are given.
-
Pair mode: source currency, 3-letter code (requires target)
Minimum length is
3, maximum length is3. -
Pair mode: target currency, 3-letter code (requires source)
Minimum length is
3, maximum length is3. -
Rate type to return when the pair is requested with source+target on a two-sided table (buy/sell banks such as TCMB, BCB, BI, CBN). Values are the bank's own type labels as shown in its full table, e.g. buy or sell. Without it the pair resolves reference, mid, import, buy, sell in that order and rate_type says which side was used. A type the bank does not publish returns 404 listing the available types.
-
Range start (YYYY-MM-DD; default: one year before
to) -
Range end (YYYY-MM-DD; default: today)
-
Response format (default json). csv is UTF-8 with a BOM; xlsx is a real Excel workbook with typed dates and numbers; xml mirrors the JSON fields.
Values are
json,csv,xml, orxlsx. Default value isjson.
Responses
-
Ascending daily series
-
Invalid or missing parameters
-
Authentication required — provide an API key via
Authorization: Bearer art_live_...(free keys at https://allratestoday.com/register) -
Historical central-bank data requires a paid plan; /latest is available on all plans
-
Unknown bank or pair not covered in range
-
Monthly request limit exceeded (X-Monthly-Limit / X-Monthly-Used / X-Monthly-Resets headers included)
curl \
--request GET 'https://allratestoday.com/api/v1/central-bank/ecb/history' \
--header "Authorization: Bearer $ACCESS_TOKEN"
{
"bank": "ecb",
"name": "European Central Bank",
"symbol": "USD",
"source": "USD",
"target": "LKR",
"from": "2026-05-04",
"to": "2026-05-04",
"count": 254,
"truncated": true,
"rates": [
{
"rate_date": "2026-05-04",
"date": "2026-05-04",
"base": "string",
"quote": "string",
"type": "string",
"value": 42.0,
"rate": 42.0,
"derived": true,
"method": "published"
}
],
"disclaimer": "string"
}
{
"error": "string",
"hint": "string"
}
{
"error": "string",
"hint": "string"
}
{
"error": "string",
"upgrade_url": "https://allratestoday.com/pricing"
}
{
"error": "string",
"hint": "string"
}
{
"error": "Request limit exceeded",
"used": 42,
"limit": 42,
"plan": "free",
"resets_at": "2026-05-04T09:42:00Z",
"upgrade_url": "https://allratestoday.com/pricing"
}