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
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=100Response
{
"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"
}