Convert between metals, currencies, and units
Convert an amount between metals, currencies, and units.
- metal → currency: spot price in that currency via FX cross through USD
- currency → metal: inverse of the above
- metal → metal: ratio of USD spot prices
- currency → currency: FX cross through USD (live raw_exchangerate_fx first, raw_frankfurter daily-ECB fallback)
Two-leg source skew: currency → currency conversions resolve EACH leg independently through the live-first/daily-fallback chain, so the two legs can come from different sources and ages (e.g. a live EUR rate crossed with a daily-ECB THB rate). The response timestamp reflects the to leg only — the from leg's timestamp is discarded — so it can understate (or overstate) the age of the other half of the cross. Both legs share the USD anchor, so cross drift is bounded by the staleness of the older leg — never compounded.
The unit param applies to the metal side only (oz / gram / kg). Historical conversion via date is not supported; use /v1/bars + /v1/prices/history for historical spot data.
Query parameters
Source symbol: XAU, XAG, USD, EUR, …
Source symbol: XAU, XAG, USD, EUR, …
Target symbol: USD, EUR, XAU, …
Target symbol: USD, EUR, XAU, …
Amount to convert (default 1).
Amount to convert (default 1).
Unit for the metal side: oz | gram | kg (default oz).
Unit for the metal side: oz | gram | kg (default oz).
Response
Successful Response
Changes
Changed in 1 of the 7 revisions of this API.818
- ▲
the response property
messagebecame optional for the status400response-property-became-optional
- ▲
the response property
messagebecame optional for the status401response-property-became-optional
- ▲
the response property
messagebecame optional for the status429response-property-became-optional
- ▲
the response property
messagebecame optional for the status503response-property-became-optional
- ▲
response property
messagelist-of-types was widened by adding typesnullto media typeapplication/jsonof response400response-property-list-of-types-widened
- ▲
response property
messagelist-of-types was widened by adding typesnullto media typeapplication/jsonof response401response-property-list-of-types-widened
- ▲
response property
messagelist-of-types was widened by adding typesnullto media typeapplication/jsonof response429response-property-list-of-types-widened
- ▲
response property
messagelist-of-types was widened by adding typesnullto media typeapplication/jsonof response503response-property-list-of-types-widened
- ●
removed the optional property
detailfrom the response with the422statusresponse-optional-property-removed
- ○
the endpoint scheme security
ApiKeyAuthwas added to the APIapi-security-added
- ○
the endpoint scheme security
BearerAuthwas added to the APIapi-security-added
- ○
added the non-success response with the status
500response-non-success-status-added
- ○
removed the non-success response with the status
403response-non-success-status-removed
- ○
removed the non-success response with the status
404response-non-success-status-removed
- ○
added the required property
detailsto the response with the422statusresponse-required-property-added
- ○
added the required property
errorto the response with the422statusresponse-required-property-added
- ○
added the required property
messageto the response with the422statusresponse-required-property-added
This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲