Latest official rate table for a bank

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

The bank's most recent published table (e.g. ecb, boc, cbsl, banxico). Pass source+target to get a single pair — cross-computed via the bank's home currency when not directly published and flagged derived. Available on all plans.

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

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

  • 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

    Latest published table (or single resolved pair when source+target given)

    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

  • 404 application/json

    Unknown bank, or the bank does not publish the requested pair

    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
  • 503 application/json

    No rates ingested yet for this bank

    Hide response attributes Show response attributes object
    • error string Required

      Error message

    • hint string

      Optional remediation hint

GET /api/v1/central-bank/{bank}/latest
curl \
 --request GET 'https://allratestoday.com/api/v1/central-bank/ecb/latest' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "bank": "ecb",
  "name": "European Central Bank",
  "rate_date": "2026-08-10",
  "rates": [
    {
      "base": "EUR",
      "quote": "USD",
      "type": "reference",
      "value": 1.0853
    }
  ],
  "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 (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"
}
Response examples (503)
{
  "error": "string",
  "hint": "string"
}