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.
/api/convert/{from}/{amount}/{to}
Subject to a daily quota. See Rate limits.
| 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 |
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.
curl https://ezforex.your-developer.co.za/api/convert/EUR/100/ZAR \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"