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

GET /api/v1/convert

Convert one amount from one currency to another.

Parameters

PARAM
TYPE
NOTES
from
3-letter code, required
The currency you already hold.
to
3-letter code, required
The currency you want the amount converted into.
amount
numeric string, required
The amount to convert, in the from currency.

Request

GET /api/v1/convert?from=EUR&to=USD&amount=100

Response

{
  "from": "EUR",
  "to": "USD",
  "amount": "100",
  "result": "108.000000",
  "rate": "1.080000",
  "date": "2026-08-06"
}

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"
}
to must be a 3-letter currency code
{
  "statusCode": 400,
  "message": [
    "to 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"
}
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"
}