MetalAPI
XAU3,997.89−1.54%XAG53.936−1.51%XPT1,554.47−0.83%XPD1,047.03−0.44%XCU6.5080+2.29%WTI103.27+3.82%BRENT111.70−1.30%EUR1.120400−0.01%GBP1.337500−0.01%JPY0.0063761+0.14%CHF1.213445−0.25%TRY0.020125−0.12%BTC80,636.70−0.17%ETH2,348.01−0.33%
All articles
GoldPrecious MetalsGuide

XAU/USD Meaning: What XAU, XAG, XPT and XPD Stand For

XAU/USD meaning explained: why gold has an ISO 4217 currency code, what XAG, XPT and XPD stand for, and how to read quote direction in prices and API data.

By MetalAPI Team··10 min read

What does XAU/USD mean?

XAU/USD is the price of one troy ounce of gold in US dollars. That is the whole XAU/USD meaning in one sentence: XAU is the code for gold, USD is the US dollar, and the number next to the pair tells you how many dollars one ounce of gold costs. If a chart shows XAU/USD at 3,997.89, an ounce of gold costs 3,997.89 dollars. That figure is the example value used throughout the MetalAPI documentation, not a live price.

The notation comes from the foreign exchange market, where every price is written as a pair of codes:

  • The base (the first code) is the thing being priced, here one troy ounce of gold.
  • The quote currency (the second code) is what the price is expressed in, here US dollars.
  • The rate is the number of quote units that one unit of the base is worth.

EUR/USD works the same way: it is the price of one euro in dollars. Brokers and trading platforms often drop the slash and write XAUUSD, and charting sites label the same series as gold spot. All of these names refer to the spot price of gold in dollars per troy ounce, usually the midpoint between the bid and ask quotes of the wholesale market. Spot, bid and ask explained covers how that midpoint relates to the prices dealers actually charge.

What do XAU, XAG, XPT and XPD stand for?

Four precious metals have their own codes in ISO 4217, the international standard for currency codes. Each code stands for one troy ounce of the metal, which is 31.1034768 grams:

CodeMetalWhere the letters come fromISO 4217 number
XAUGoldAu, from the Latin aurum959
XAGSilverAg, from the Latin argentum961
XPTPlatinumPt, its chemical symbol962
XPDPalladiumPd, its chemical symbol964

The pattern is an X followed by the metal's chemical symbol. Gold and silver have symbols derived from Latin, which is why gold is XAU rather than anything starting with G, and silver is XAG rather than anything starting with S.

Silver, platinum and palladium are read exactly like gold. XAG/USD is the price of one troy ounce of silver in dollars (53.94 in the documentation's example), XPT/USD the price of an ounce of platinum (1,612.35) and XPD/USD the price of an ounce of palladium (1,475.80).

ISO 4217 defines no minor unit for the metals. A dollar has 100 cents, but there is no official hundredth of an ounce of gold, so quantities and prices of metals are written with as many decimals as the use requires.

Why does gold have a currency code?

ISO 4217 codes have three letters. For national currencies, the first two letters are the country's ISO 3166 code and the third usually comes from the currency's name: US plus D for the US dollar, JP plus Y for the Japanese yen. Codes that belong to no single country start with X. Besides the four metals, that group includes the IMF's special drawing right (XDR), regional currencies such as the West African CFA franc (XOF) and the East Caribbean dollar (XCD), and two technical codes: XTS for testing and XXX for transactions that involve no currency.

Gold is not the currency of any country, so why is it on a list of currencies? Because in the wholesale market precious metals behave much like currencies. Banks hold them in metal accounts, quote them spot against the US dollar around the clock on weekdays, and settle trades between accounts in a similar way to foreign exchange. A standard code lets payment, accounting and trading systems book an ounce of gold the same way they book a euro.

For developers this has a practical upside: gold fits into any field, table or library that expects a three-letter currency code. The catch is that an amount in XAU is a quantity of metal measured in troy ounces, not a sum of money. Formatting it with a currency symbol, or rounding it to two decimals like cents, goes wrong quickly: 0.00025 XAU rounded like cents becomes 0.00.

XAU/USD vs USD/XAU: which way round?

Every pair can be written in two directions, and both carry the same information. XAU/USD is dollars per ounce of gold. USD/XAU is ounces of gold per dollar, which is simply 1 divided by the XAU/USD rate. With the example prices from the documentation:

PairReads asExample value
XAU/USDUS dollars per troy ounce of gold3,997.89
USD/XAUTroy ounces of gold per US dollar0.0002501319
XAG/USDUS dollars per troy ounce of silver53.94
USD/XAGTroy ounces of silver per US dollar0.0185391175
XAU/EUREuros per troy ounce of gold3,434.02
XAU/XAGTroy ounces of silver per troy ounce of gold74.12

The market convention puts the metal first, so the quoted number is a price people can read. USD/XAU rarely appears on screens, but it is common inside software, where a rate table lists how much of each currency one unit of a common base buys. Both directions have their uses; the bugs come from mixing them up.

The last two rows show that the quote side does not have to be the dollar. XAU/EUR prices gold in euros (the example uses 1.1642 dollars per euro), and XAU/XAG prices gold in ounces of silver, which is the gold/silver ratio. The gold/silver ratio explains what that number tells you and how to track it.

A quick sanity check catches almost every direction mistake. The price of one troy ounce of gold in a national currency is far larger than 1, so if the number you are about to show as a gold price is a small fraction, you are looking at the inverse rate.

How MetalAPI returns XAU and USDXAU

MetalAPI uses the same codes and returns both directions for every symbol you ask for. This request asks for the four precious metals in US dollars:

bash
curl "https://metalapi.com/api/v1/latest?base=USD&currencies=XAU,XAG,XPT,XPD" \
  -H "X-API-Key: $METALAPI_KEY"

The rates object contains two keys per symbol. These are the example values from the documentation:

Example response
{
  "success": true,
  "timestamp": 1792713600,
  "date": "2026-10-23",
  "base": "USD",
  "rates": {
    "XAU": 0.0002501319446,
    "USDXAU": 3997.89,
    "XAG": 0.01853911754,
    "USDXAG": 53.94,
    "XPT": 0.000620212733,
    "USDXPT": 1612.35,
    "XPD": 0.0006775985906,
    "USDXPD": 1475.8
  }
}

The rule behind the keys: rates.<BASE><SYMBOL> is the price of one unit of the symbol in the base currency, and the plain rates.<SYMBOL> key is its inverse, kept for compatibility with forex-style APIs. Mapped to market notation:

Market notationKey with base=USDExample value
XAU/USD, dollars per ounce of goldUSDXAU3997.89
USD/XAU, ounces of gold per dollarXAU0.0002501319446
XAG/USD, dollars per ounce of silverUSDXAG53.94
XPT/USD, dollars per ounce of platinumUSDXPT1612.35
XPD/USD, dollars per ounce of palladiumUSDXPD1475.8

The letters in the key run the other way from the market pair. The price that traders call XAU/USD or XAUUSD is the key USDXAU, because API keys start with the base you requested. If you set base=XAU, the API does return a key called XAUUSD, but it is the price of one dollar in ounces of gold, about 0.00025. Map broker symbols to API keys by meaning, never by matching letters.

To translate any pair into a request, use the quote currency as base and the first code as the symbol, then read the key that joins them. This helper does that for pairs written as XAU/USD, XAG/EUR, XAU/XAG or even USD/XAU. Save it as pair.mjs and run it with Node.js 18 or later:

pair.mjs
// Translate a pair such as "XAU/USD" into a MetalAPI request and read the matching key.
async function pairRate(pair) {
  const [symbol, quote] = pair.toUpperCase().split("/");
  const params = new URLSearchParams({ base: quote, currencies: symbol });
  const res = await fetch(`https://metalapi.com/api/v1/latest?${params}`, {
    headers: { "X-API-Key": process.env.METALAPI_KEY },
    signal: AbortSignal.timeout(10_000),
  });
  const data = await res.json();
  if (!data.success) throw new Error(`MetalAPI ${data.error.code} (${data.error.type}): ${data.error.info}`);

  return { pair, rate: data.rates[`${quote}${symbol}`], asOf: new Date(data.timestamp * 1000).toISOString() };
}

console.log(await pairRate("XAU/USD")); // rate 3997.89 at the example prices
console.log(await pairRate("USD/XAU")); // rate 0.0002501319446, the inverse
console.log(await pairRate("XAU/XAG")); // rate about 74.12, the gold/silver ratio

Each call is one request. When several pairs share a quote currency, such as XAU/USD, XAG/USD and XPT/USD, ask for all the symbols in one call with currencies=XAU,XAG,XPT instead; it still counts once. The data formats guide shows the same rule for currencies and for bid and ask prices.

Is XAU always one troy ounce?

In ISO 4217 and in market quotes, yes: one unit of XAU is one troy ounce of gold, and XAU/USD is a price per troy ounce. The troy ounce is 31.1034768 grams, about 9.7% heavier than the everyday avoirdupois ounce of 28.35 grams, so a gold price is never a price per ordinary ounce.

MetalAPI uses troy ounces by default too, and the unit parameter changes the weight that a price refers to: troy_oz, gram, kilogram, ounce (avoirdupois), pound, metric_ton or short_ton. With unit=gram, EURXAU becomes the price of one gram of gold in euros, and the response repeats the unit in a top-level unit field so the two can't be confused:

bash
curl "https://metalapi.com/api/v1/latest?base=EUR&currencies=XAU&unit=gram" \
  -H "X-API-Key: $METALAPI_KEY"

In the documentation's example this returns "EURXAU": 110.4064149, euros per gram, against 3,434.02 euros per troy ounce. Store the unit next to every price you save, and be careful with unit=ounce and its short form oz, which mean the avoirdupois ounce. Troy ounces, grams and kilograms has the exact factors and the rounding rules.

Other symbols: copper, energy and crypto

Only gold, silver, platinum and palladium have ISO 4217 codes. Other commodities are quoted with symbols that follow trading conventions instead. MetalAPI covers 83 symbols in five groups, and all of them follow the same base, currencies and key rules:

  • Precious metals: XAU, XAG, XPT and XPD, the ISO 4217 codes.
  • Industrial metals: XCU copper, ALU aluminium, ZNC zinc and HRC hot-rolled coil steel. XCU borrows the X-plus-chemical-symbol pattern, but it is not an ISO code.
  • Energy: WTI, BRENT, NATURALGAS, GASOLINE and HEATINGOIL, priced per barrel, MMBtu or gallon.
  • Currencies: 57 ISO 4217 currencies, such as USD, EUR, GBP, JPY and INR.
  • Crypto: 13 coins, including BTC and ETH. Their tickers come from exchanges, not from ISO 4217.

Because any symbol can be the base, the same request shape can price gold in bitcoin or value a currency in gold. The symbols page lists every code with its name and live price, and GET /api/v1/symbols?details=1 returns each symbol's category and unit without counting towards your quota.

To try the codes yourself, create a free account. The Free plan needs no credit card and includes 100 requests per month with daily price updates, which is plenty to explore every symbol and both directions of every rate.

FAQ

What does XAU stand for?

XAU is the ISO 4217 code for one troy ounce of gold. The X marks a code that belongs to no country, and AU is the chemical symbol for gold, from the Latin aurum. Silver is XAG, platinum XPT and palladium XPD.

Is XAU/USD the same as the gold spot price?

Yes. XAU/USD is the usual notation for the spot price of gold in US dollars per troy ounce. Most websites and APIs show the mid price between bid and ask. Dealers buy below it and sell above it, so a retail coin or bar costs more than XAU/USD.

What is the difference between XAUUSD and XAU/USD?

In trading there is none: XAUUSD is the same pair with the slash removed, as many brokers and charting platforms write it. In MetalAPI responses, however, that price is the key USDXAU, because API keys put the base currency first. A key named XAUUSD only appears with base=XAU and means the inverse, the price of one dollar in ounces of gold.

Why is the XAU value in my API response so small?

Because the plain XAU key is the inverse rate: troy ounces of gold per unit of the base currency, such as 0.00025 ounces per dollar. The price per ounce is in the prefixed key, USDXAU with base USD or EURXAU with base EUR. If you only have the inverse, the price is 1 divided by it.

Is XAU a currency?

Not in the sense of money issued by a country. ISO 4217 assigns codes to gold, silver, platinum and palladium because banks hold and trade them much like currencies, so systems built for exchange rates can handle metals with the same notation and the same three-letter fields.

Try it with your own data

Create a free account and make your first request in under two minutes. 100 requests a month, no credit card.

Keep reading