Data Formats & Units
How rates are expressed, choosing a base currency and mass unit, bid/ask and karat prices, timestamps and market hours.
Two directions for every rate
For each symbol you request, rates contains two numbers. For gold (XAU) with base USD:
USDXAU: the price of one troy ounce of gold in US dollars, such as3997.89. This is the number to show to people.XAU: the inverse, troy ounces of gold per one US dollar, such as0.0002501319446. This format is kept for compatibility with forex-style APIs.
Currencies follow the same rule. With base USD, USDEUR is the price of one euro in dollars and EUR is euros per dollar.
{
"success": true,
"timestamp": 1792765800,
"date": "2026-10-23",
"base": "USD",
"rates": {
"XAU": 0.0002501319446,
"USDXAU": 3997.89,
"EUR": 0.8589589418,
"USDEUR": 1.1642
}
}Choosing a base currency
base sets the currency of every price in the response. It defaults to USD and accepts any supported symbol: EUR, GBP, JPY, or even BTC or XAU if you want to value things in bitcoin or gold. Cross rates are calculated from the same snapshot, so they are always consistent with each other.
This request returns EURXAU, the price of gold in euros per troy ounce:
GET /api/v1/latest?api_key=YOUR_API_KEY&base=EUR¤cies=XAU,XAGMass units
Metal prices are per troy ounce (31.1035 g) unless you pass unit. Supported values:
troy_oz(default),gram,kilogram,ounce(avoirdupois, 28.35 g),pound,metric_tonandshort_ton
Short forms such as g, kg, lb and tonne are accepted too. Note that oz means the avoirdupois ounce. Use troy_oz, or leave unit out, for the troy ounce that bullion is priced in.
unit applies to precious and industrial metals only. Energy stays per barrel, MMBtu or gallon, and currencies and crypto are unaffected. When a non-default unit is used, the response includes a unit field. For GET /api/v1/latest?base=EUR¤cies=XAU,XAG&unit=gram:
{
"success": true,
"timestamp": 1792765800,
"date": "2026-10-23",
"base": "EUR",
"unit": "gram",
"rates": {
"XAU": 0.009057444725,
"EURXAU": 110.4064149,
"XAG": 0.6713138244,
"EURXAG": 1.489616277
}
}Industrial metals and energy
Industrial metals (XCU copper, ALU aluminium, ZNC zinc and HRC hot-rolled coil steel) are quoted per troy ounce by default like every other metal, so all metals can be compared directly. To get the unit each market trades in, pass unit=pound for copper, unit=metric_ton for aluminium and zinc, and unit=short_ton for steel.
Energy prices are per contract unit: WTI and BRENT per barrel, NATURALGAS per MMBtu, and GASOLINE and HEATINGOIL per gallon.
GET /api/v1/latest?api_key=YOUR_API_KEY¤cies=XCU&unit=poundSupported symbols
- Precious metals:
XAUgold,XAGsilver,XPTplatinum,XPDpalladium - Industrial metals:
XCUcopper,ALUaluminium,ZNCzinc,HRCsteel - Energy:
WTI,BRENT,NATURALGAS,GASOLINE,HEATINGOIL - Currencies: around 55 ISO 4217 currencies, including
USD,EUR,GBP,JPY,CHF,CAD,AUD,CNYandINR - Crypto:
BTC,ETH,SOL,XRP,BNB,ADA,DOGE,DOT,LINK,LTC,TRX,USDT,USDC
The full, current list is on the symbols page and available from /api/v1/symbols.
Bid and ask prices
On the Standard plan and above, add -BID or -ASK to a symbol in currencies to receive the bid and ask prices next to the mid price. They are available for symbols quoted from interbank feeds, which are the precious metals and major currencies. For currencies=XAU,XAU-BID,XAU-ASK:
"rates": {
"XAU": 0.0002501319446,
"USDXAU": 3997.89,
"XAU-BID": 0.0002501488386,
"USDXAU-BID": 3997.62,
"XAU-ASK": 0.0002501150529,
"USDXAU-ASK": 3998.16
}Karat gold prices
/carat returns gold prices at jewellery purities, where purity is karat ÷ 24, in any currency and unit. It is available on paid plans. For GET /api/v1/carat?carat=all&unit=gram (abbreviated):
{
"success": true,
"carat": "all",
"date": "2026-10-23",
"base": "USD",
"timestamp": 1792765800,
"rates": {
"XAU24K": { "price": 128.53515, "unit": "gram", "carat": "24", "purity": 1 },
"XAU22K": { "price": 117.82389, "unit": "gram", "carat": "22", "purity": 0.916667 },
"XAU18K": { "price": 96.401361, "unit": "gram", "carat": "18", "purity": 0.75 },
"XAU14K": { "price": 74.978836, "unit": "gram", "carat": "14", "purity": 0.583333 }
}
}Timestamps and dates
timestamp is the Unix time in seconds (UTC) of the prices returned. date is the same day as YYYY-MM-DD in UTC. Historical responses are stamped at 00:00 UTC of the requested day and contain that day’s closing prices.
const date = new Date(data.timestamp * 1000);
console.log(date.toISOString()); // 2026-10-23T14:30:00.000ZPrecision
Rates are JSON numbers with up to 10 significant digits, which is enough for inverse rates such as 0.0002501319446. Round only when you display a value, not before you calculate with it.
Market hours and weekends
Spot metals and currencies trade around the clock on weekdays. Markets close on Friday at 17:00 New York time and reopen on Sunday at 17:00. Over the weekend prices freeze at the last quote and the API keeps returning Friday’s closing price (the symbol pages show “Market closed”).
Crypto trades 24/7 and keeps updating at weekends. Industrial metals and energy follow the trading hours of their futures exchanges.
Related guides
Ready to start building?
Create a free account to get your API key, or explore every endpoint in the API reference.