ezForex
Toggle sidebar
Log in
Convert

Convert an amount between two three-letter currency codes using the latest rate snapshot. Amounts may route through the base currency when a direct pair is unavailable.

Optional query parameter as_of=YYYY-MM-DD selects the nearest retained snapshot at or before the end of that UTC day. The response reports the actual snapshot_at timestamp used.

GET
/api/convert/{from}/{amount}/{to}
Bearer auth

Subject to a daily quota. See Rate limits.

Path parameters
Name Type Description
from string (3 letters) Source currency code, e.g. EUR
amount number > 0 Amount to convert; decimals allowed
to string (3 letters) Target currency code, e.g. ZAR
Successful response

HTTP 200

{
  "from": "EUR",
  "from_amount": 100,
  "to": "ZAR",
  "to_amount": 1913.64,
  "mid_rate": 19.0412,
  "markup_bps": 50,
  "rate": 19.136406,
  "path": {
    "EUR": 100,
    "USD": 116.42,
    "ZAR": 1913.64
  },
  "snapshot_at": "2026-07-18T12:00:00+00:00"
}

mid_rate is the unmarked full-precision market cross-rate. Eligible paid plans may configure markup in basis points; rate and to_amount include that markup. Authenticated API conversion starts with Starter. The path object shows intermediate amounts and its destination agrees with to_amount.

Example
curl https://ezforex.your-developer.co.za/api/convert/EUR/100/ZAR \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"
Errors
  • 401 — Missing or invalid Bearer token.
  • 422 — Invalid parameters, conversion disabled, or a required rate is missing.
  • 429 — Daily convert quota exceeded.