Official rate table for a specific date

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://bump.sh/allratestoday/doc/allratestoday-api/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  " AllRatesToday API MCP server": {
    "url": "https://bump.sh/allratestoday/doc/allratestoday-api/mcp"
  }
}

Close
GET /api/v1/central-bank/{bank}/{date}

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

  • bank string Required

    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}$.

  • date string(date) Required

    Requested date (YYYY-MM-DD)

Query parameters

  • source string

    Pair mode: source currency, 3-letter code (requires target)

    Minimum length is 3, maximum length is 3.

  • target string

    Pair mode: target currency, 3-letter code (requires source)

    Minimum length is 3, maximum length is 3.

  • type string

    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

  • 200 application/json

    Table (or single pair) in force on the date

    One of:
  • 400 application/json

    Invalid or missing parameters

    Hide response attributes Show response attributes object
    • error string Required

      Error message

    • hint string

      Optional remediation hint

  • 401 application/json

    Authentication required — provide an API key via Authorization: Bearer art_live_... (free keys at https://allratestoday.com/register)

    Hide response attributes Show response attributes object
    • error string Required

      Error message

    • hint string

      Optional remediation hint

  • 403 application/json

    Historical central-bank data requires a paid plan; /latest is available on all plans

    Hide response attributes Show response attributes object
    • error string
    • upgrade_url string
  • 404 application/json

    Unknown bank, no data on/before the date, or pair not covered

    Hide response attributes Show response attributes object
    • error string Required

      Error message

    • hint string

      Optional remediation hint

  • 429 application/json

    Monthly request limit exceeded (X-Monthly-Limit / X-Monthly-Used / X-Monthly-Resets headers included)

    Hide response attributes Show response attributes object
    • error string
    • used integer
    • limit integer
    • plan string
    • resets_at string(date-time)
    • upgrade_url string
GET /api/v1/central-bank/{bank}/{date}
curl \
 --request GET 'https://allratestoday.com/api/v1/central-bank/ecb/2026-06-30' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "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."
}
Response examples (400)
{
  "error": "string",
  "hint": "string"
}
Response examples (401)
{
  "error": "string",
  "hint": "string"
}
Response examples (403)
{
  "error": "string",
  "upgrade_url": "https://allratestoday.com/pricing"
}
Response examples (404)
{
  "error": "string",
  "hint": "string"
}
Response examples (429)
{
  "error": "Request limit exceeded",
  "used": 42,
  "limit": 42,
  "plan": "free",
  "resets_at": "2026-05-04T09:42:00Z",
  "upgrade_url": "https://allratestoday.com/pricing"
}