CurrencyRateDocs
Docs › API reference › Rates/api/v1/convert/bulk

GET /api/v1/convert/bulk

Convert one amount into up to 25 target currencies in a single request.

Parameters

PARAM
TYPE
NOTES
from
3-letter code, required
The currency you already hold.
amount
numeric string, required
The amount to convert, in the from currency.
to
comma-separated codes, required
1–25 currency codes to convert into.

Request

GET /api/v1/convert/bulk?from=EUR&to=USD,GBP,ILS&amount=100

Response

{
  "from": "EUR",
  "amount": "100",
  "date": "2026-08-06",
  "conversions": [
    { "to": "USD", "result": "108.000000", "rate": "1.080000" },
    { "to": "GBP", "result": "85.000000", "rate": "0.850000" }
  ]
}

Errors

400 Bad Request

from, to, or amount failed validation, or referenced a currency the API does not track.

from must be a 3-letter currency code
{
  "statusCode": 400,
  "message": [
    "from must be a 3-letter currency code"
  ],
  "error": "Bad Request"
}
amount must be a numeric string
{
  "statusCode": 400,
  "message": [
    "amount must be a numeric string"
  ],
  "error": "Bad Request"
}
amount must be a positive number
{
  "statusCode": 400,
  "message": "amount must be a positive number",
  "error": "Bad Request"
}
to must be a comma-separated list of 3-letter currency codes
{
  "statusCode": 400,
  "message": [
    "to must be a comma-separated list of 3-letter currency codes"
  ],
  "error": "Bad Request"
}
to must contain at least 1 currency code
{
  "statusCode": 400,
  "message": [
    "to must contain at least 1 currency code"
  ],
  "error": "Bad Request"
}
to must contain at most 25 currency codes
{
  "statusCode": 400,
  "message": [
    "to must contain at most 25 currency codes"
  ],
  "error": "Bad Request"
}
Unknown currency: XYZ
{
  "statusCode": 400,
  "message": "Unknown currency: XYZ",
  "error": "Bad Request"
}
401 Unauthorized

The Authorization header is missing, malformed, or the key is wrong.

Missing or malformed Authorization header
{
  "statusCode": 401,
  "message": "Missing or malformed Authorization header",
  "error": "Unauthorized"
}
Invalid API key
{
  "statusCode": 401,
  "message": "Invalid API key",
  "error": "Unauthorized"
}
404 Not Found

The ingestion job hasn't run yet, so there is nothing to serve.

No exchange rate data has been ingested yet
{
  "statusCode": 404,
  "message": "No exchange rate data has been ingested yet",
  "error": "Not Found"
}
429 Too Many Requests

Your plan's request quota for the current period is used up.

Rate limit exceeded: 1000 requests per 30-day period
{
  "statusCode": 429,
  "message": "Rate limit exceeded: 1000 requests per 30-day period"
}