Official rate time series

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}/history

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

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

Query parameters

  • symbol string

    3-letter currency code matching either side of the pair. Required unless source+target are given.

  • 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.

  • from string(date)

    Range start (YYYY-MM-DD; default: one year before to)

  • to string(date)

    Range end (YYYY-MM-DD; default: today)

  • format string

    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, or xlsx. Default value is json.

Responses

  • 200 application/json

    Ascending daily series

    Hide response attributes Show response attributes object
    • bank string
    • name string
    • symbol string
    • source string

      Present in pair mode

    • target string

      Present in pair mode

    • from string(date)
    • to string(date)
    • count integer
    • truncated boolean

      True when the 5000-row cap was hit

    • rates array[object]
      Hide rates attributes Show rates attributes object
      • rate_date string(date)
      • date string(date)

        Used instead of rate_date in pair mode

      • base string
      • quote string
      • type string
      • value number(double)
      • rate number(double)

        Pair mode

      • derived boolean

        Pair mode: true when not directly published

      • method string

        Pair mode

        Values are published, inverse, or cross.

    • disclaimer string
  • 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 or pair not covered in range

    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}/history
curl \
 --request GET 'https://allratestoday.com/api/v1/central-bank/ecb/history' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "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"
}
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"
}