Live and historical market rates (Wise-compatible)

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/rates

The main authenticated rates endpoint, parameter-compatible with the Wise /v1/rates API. Refreshed roughly every 60 seconds (responses cached 60s). Omit target for all rates from source; pass comma-separated targets (e.g. target=EUR,GBP,JPY) for multiple pairs in one call; use time for a point-in-time rate or from/to (+ optional group) for a series.

Query parameters

  • source string

    Source currency code (ISO 4217)

  • target string

    Target currency code; comma-separated list allowed (e.g. EUR,GBP,JPY)

  • time string(date-time)

    Historical point-in-time (ISO 8601)

  • from string(date)

    Series start date (YYYY-MM-DD)

  • to string(date)

    Series end date (YYYY-MM-DD, exclusive)

  • group string

    Series granularity when using from/to

    Values are minute, hour, or day.

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

  • amount number

    Convert this amount instead of returning a bare rate. Changes the response to a conversion object and requires exactly one source and one target (400 with a comma-separated target list). Must be non-negative.

    Minimum value is 0.

  • api_key string

    API key as a query parameter, for callers that cannot set a header (browser address bar, spreadsheet IMPORTDATA). Prefer the Authorization header in production.

Responses

  • 200 application/json

    Array of rate objects

    Hide response attributes Show response attributes object
    • rate number(double)
    • source string
    • target string
    • time string(date-time)
  • 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

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

    Server or upstream error

    Hide response attributes Show response attributes object
    • error string Required

      Error message

    • hint string

      Optional remediation hint

GET /api/v1/rates
curl \
 --request GET 'https://allratestoday.com/api/v1/rates' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
[
  {
    "rate": 0.92145,
    "source": "USD",
    "target": "EUR",
    "time": "2026-08-11T09:00:00Z"
  }
]
Response examples (400)
{
  "error": "string",
  "hint": "string"
}
Response examples (401)
{
  "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 (500)
{
  "error": "string",
  "hint": "string"
}