The bank's published table in force on a date. Weekends and holidays return the most recent published date on or before the requested one — rate_date says which, and published_on_requested_date is false when they differ (this is the rate compliance users must apply). Optional source+target narrows to one pair. History reaches back to 2000 and earlier for major sources. Paid plans only. JSON 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}$. -
Requested date (YYYY-MM-DD)
Query parameters
-
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.
Responses
-
Table (or single pair) in force on the date
-
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, no data on/before the date, or pair not covered
-
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/2026-06-30' \
--header "Authorization: Bearer $ACCESS_TOKEN"
{
"bank": "cbsl",
"name": "Central Bank of Sri Lanka",
"requested_date": "2026-06-28",
"rate_date": "2026-06-26",
"published_on_requested_date": false,
"source": "USD",
"target": "LKR",
"rate": 298.7654,
"rate_type": "indicative",
"derived": false,
"method": "published",
"disclaimer": "Official rates as published by the named central bank. On weekends/holidays the most recent published rate_date is returned."
}
{
"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"
}