convert

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.

get/v1/convert

Query parameters

fromstring required

Source symbol: XAU, XAG, USD, EUR, …

Source symbol: XAU, XAG, USD, EUR, …

tostring required

Target symbol: USD, EUR, XAU, …

Target symbol: USD, EUR, XAU, …

amountnumber

Amount to convert (default 1).

Amount to convert (default 1).

unitstring

Unit for the metal side: oz | gram | kg (default oz).

Unit for the metal side: oz | gram | kg (default oz).

Response

Successful Response

fromstring required

Source symbol (e.g. XAU, USD).

tostring required

Target symbol (e.g. USD, EUR).

amountstring required

Input amount.

ratestring required

Conversion rate (1 from-unit = rate to-units).

resultstring required

amount x rate.

unitstring required

Unit applied to the metal side (oz, gram, kg).

timestampstring required

UTC ISO-8601 timestamp of the source data. For currency-to-currency conversions the two FX legs resolve independently (live-first with daily fallback) and may differ in source/age; this reflects one leg only.

Changes

Changed in 1 of the 7 revisions of this API.818

  • b7c4b36e1fa1818See the full diff
    • the response property message became optional for the status 400

      response-property-became-optional

    • the response property message became optional for the status 401

      response-property-became-optional

    • the response property message became optional for the status 429

      response-property-became-optional

    • the response property message became optional for the status 503

      response-property-became-optional

    • response property message list-of-types was widened by adding types null to media type application/json of response 400

      response-property-list-of-types-widened

    • response property message list-of-types was widened by adding types null to media type application/json of response 401

      response-property-list-of-types-widened

    • response property message list-of-types was widened by adding types null to media type application/json of response 429

      response-property-list-of-types-widened

    • response property message list-of-types was widened by adding types null to media type application/json of response 503

      response-property-list-of-types-widened

    • removed the optional property detail from the response with the 422 status

      response-optional-property-removed

    • the endpoint scheme security ApiKeyAuth was added to the API

      api-security-added

    • the endpoint scheme security BearerAuth was added to the API

      api-security-added

    • added the non-success response with the status 500

      response-non-success-status-added

    • removed the non-success response with the status 403

      response-non-success-status-removed

    • removed the non-success response with the status 404

      response-non-success-status-removed

    • added the required property details to the response with the 422 status

      response-required-property-added

    • added the required property error to the response with the 422 status

      response-required-property-added

    • added the required property message to the response with the 422 status

      response-required-property-added

    This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog