Platinum Price API: Live and Historical XPT and XPD Prices
Platinum price API guide: live and historical platinum (XPT) and palladium (XPD) prices per ounce or gram in 57 currencies, with code and gold comparisons.
Platinum and palladium prices via API
A platinum price API delivers the current and historical price of platinum as structured data, usually JSON over HTTPS, so a recycler's quoting tool, a jeweller's price list or an investor's portfolio tracker can use it without copying numbers from a website. Palladium, platinum's closest relative, usually comes with it. MetalAPI quotes both through the same endpoints and response format as gold and silver.
Platinum and palladium belong to the six platinum group metals (PGMs), together with rhodium, ruthenium, iridium and osmium. MetalAPI covers platinum and palladium; the other four are not in its symbol list.
| Symbol | Metal | Default quote | Bid / ask | Daily history |
|---|---|---|---|---|
XPT | Platinum | USD per troy ounce | Standard plan and above | Since 2000 |
XPD | Palladium | USD per troy ounce | Standard plan and above | Since 2000 |
XPT and XPD are the ISO 4217 codes for one troy ounce of each metal, in the same family as XAU for gold. The live price is the spot price: the midpoint between interbank bid and ask quotes. Every plan includes both symbols, Free included.
Platinum price per ounce via API
Like gold and silver, platinum and palladium are priced per troy ounce (31.1034768 g) in the wholesale market, and that is the API's default unit. Request both metals from /latest, plus gold if you want to compare. One request costs the same however many symbols it returns:
curl "https://metalapi.com/api/v1/latest?currencies=XPT,XPD,XAU" \
-H "X-API-Key: $METALAPI_KEY"Each metal appears twice. USDXPT is the price of one troy ounce of platinum in US dollars, the number to display; XPT is its inverse, troy ounces per dollar, kept for compatibility with forex-style APIs. These are the example values from the docs, not live prices:
{
"success": true,
"timestamp": 1792713600,
"date": "2026-10-23",
"base": "USD",
"rates": {
"XPT": 0.000620212733,
"USDXPT": 1612.35,
"XPD": 0.0006775985906,
"USDXPD": 1475.8,
"XAU": 0.0002501319446,
"USDXAU": 3997.89
}
}For another currency, set base: base=EUR returns EURXPT and EURXPD. With the docs' example rate of 1.1642 USD per euro, platinum comes to 1,384.94 EUR and palladium to 1,267.65 EUR per troy ounce. All 57 supported currencies work, and the metal price and exchange rate always come from the same snapshot.
Platinum and palladium price per gram
Jewellers and recyclers usually work in grams, industrial buyers often in kilograms. unit converts on the server and accepts gram, kilogram, ounce, pound, metric_ton and short_ton besides the default troy_oz:
curl "https://metalapi.com/api/v1/latest?currencies=XPT,XPD&unit=gram" \
-H "X-API-Key: $METALAPI_KEY"{
"success": true,
"timestamp": 1792713600,
"date": "2026-10-23",
"base": "USD",
"unit": "gram",
"rates": {
"XPT": 0.01929077235,
"USDXPT": 51.83825623,
"XPD": 0.02107567204,
"USDXPD": 47.44807179
}
}That is 51.84 USD per gram of platinum and 47.45 USD per gram of palladium, or 51,838.26 and 47,448.07 USD per kilogram. unit applies to every metal in the request, and ounce means the 28.35-gram avoirdupois ounce, so leave unit out, or pass troy_oz, for the bullion ounce.
Bid and ask prices for platinum and palladium
On the Standard plan and above, add -BID and -ASK symbols to currencies to receive both sides of the quote next to the mid price, under keys such as USDXPT-BID and USDXPT-ASK:
curl "https://metalapi.com/api/v1/latest?currencies=XPT,XPT-BID,XPT-ASK,XPD,XPD-BID,XPD-ASK" \
-H "X-API-Key: $METALAPI_KEY"Platinum and palladium trade in much smaller volumes than gold, so their spreads are typically wider in percentage terms. If you quote buy and sell prices, base them on the real bid and ask rather than on the mid plus a fixed margin. Bid and ask are part of the latest quote only; historical endpoints return mid prices. Spot, bid, ask and spread explains how dealers build quotes on top of them.
Historical platinum and palladium prices
Daily history for both metals goes back to 2000, and every plan can query all of it. Four endpoints cover historical work:
/historical, or the date as the path, for one day's closing prices./timeframefor daily closes over a range: up to 30 days per request on Free and 365 days on paid plans./changefor the start price, end price, absolute change and percentage change between two dates./ohlcfor a day's open, high, low and close.
For budgets and supply contracts an average is often more useful than a single day. On paid plans one /timeframe request returns up to 365 daily closes, enough for a monthly or quarterly average in one call.
# Closing prices on one day, per gram
curl "https://metalapi.com/api/v1/2024-01-15?currencies=XPT,XPD&unit=gram" \
-H "X-API-Key: $METALAPI_KEY"
# Change since the start of the year (a range longer than 30 days needs a paid plan)
curl "https://metalapi.com/api/v1/change?currencies=XPT,XPD&start_date=2026-01-02&end_date=2026-10-23" \
-H "X-API-Key: $METALAPI_KEY"Weekends and market holidays have no closing price and can be missing from a series, so don't assume one entry per calendar day. For longer histories, loop over the range year by year. Metal prices before October 2026 are derived from front-month futures, so they can differ slightly from the spot price on the same day. The historical data guide covers ranges, OHLC bars and paging in detail.
Comparing platinum and palladium with gold
Price ratios are the simplest way to compare the metals: divide one price per ounce by another. When both prices come from the same response, the ratio is the same in every currency and unit. With the example prices from the docs:
| Ratio | Formula | Example value |
|---|---|---|
| Gold to platinum | USDXAU ÷ USDXPT | 2.48 |
| Gold to palladium | USDXAU ÷ USDXPD | 2.71 |
| Platinum to palladium | USDXPT ÷ USDXPD | 1.09 |
At those prices one ounce of gold buys about 2.48 ounces of platinum, and platinum costs about 40% of gold per ounce. These relationships are not stable: over the history available in the API, the order of the three metals has changed more than once. Don't hard-code assumptions such as "platinum is cheaper than gold" into pricing logic; pull the series and look. Ratios also make a cheap data check: a ratio far outside its recent range usually means two prices in different units or currencies, not a market event.
This script fetches 30 days of daily closes, which fits the Free plan's range limit, and prints the three ratios for each trading day:
const url = new URL("https://metalapi.com/api/v1/timeframe");
url.search = new URLSearchParams({
currencies: "XAU,XPT,XPD",
start_date: "2026-09-24",
end_date: "2026-10-23", // 30 days: within the Free plan's range limit
});
const res = await fetch(url, { headers: { "X-API-Key": process.env.METALAPI_KEY } });
const data = await res.json();
if (!data.success) throw new Error(`${data.error.code}: ${data.error.info}`);
const ratio = (a, b) => (a / b).toFixed(3);
for (const [date, r] of Object.entries(data.rates)) {
if (!r.USDXAU || !r.USDXPT || !r.USDXPD) continue; // skip incomplete days
console.log(date, "Au/Pt", ratio(r.USDXAU, r.USDXPT), "Au/Pd", ratio(r.USDXAU, r.USDXPD), "Pt/Pd", ratio(r.USDXPT, r.USDXPD));
}
// With the example prices: Au/Pt 2.480, Au/Pd 2.709, Pt/Pd 1.093Run the same calculation over several years of /timeframe data and you have a ratio chart. The gold-silver ratio applies the same idea to silver.
Who uses a platinum and palladium price API
Catalytic-converter recyclers. Vehicle exhaust catalysts are one of the main uses of platinum and palladium, and spent converters are an important source of recycled PGMs. A converter's value depends on how much platinum, palladium and rhodium its substrate contains, which varies by model, so recyclers rely on assays and pay a share of the metal value after refining and processing charges. A price API supplies the metal side of that calculation. MetalAPI does not quote rhodium, so take it from another source if your model needs it:
import os
from decimal import Decimal
import requests
# Assayed PGM content of one lot, in grams, and the share of metal value you pay.
# Placeholders: use your own assay results and refining contract terms.
LOT_GRAMS = {"XPT": Decimal("120"), "XPD": Decimal("310")}
PAYABLE = Decimal("0.80")
resp = requests.get(
"https://metalapi.com/api/v1/latest",
params={"currencies": ",".join(LOT_GRAMS), "unit": "gram", "base": "EUR"},
headers={"X-API-Key": os.environ["METALAPI_KEY"]},
timeout=10,
)
data = resp.json(parse_float=Decimal)
if not data["success"]:
raise RuntimeError(data["error"])
total = Decimal("0")
for symbol, grams in LOT_GRAMS.items():
price = data["rates"]["EUR" + symbol] # EUR per gram
value = grams * price * PAYABLE
total += value
print(f"{symbol}: {grams} g x {price:.4f} EUR/g x {PAYABLE} = {value:.2f} EUR")
print(f"Payable Pt + Pd: {total:.2f} EUR at prices of {data['date']} (rhodium priced separately)")With the docs' example prices and euro rate, the placeholder lot comes to 14,382.06 EUR. The quantities and the payable share are illustrations; yours come from assays and your refining contract.
Jewellers. Platinum jewellery is commonly made in high fineness, such as 950 parts per thousand, and palladium is used both in its own jewellery and as an alloying metal in white gold. The /carat endpoint is for gold only, so price platinum by fineness yourself: metal value per gram = price per gram × fineness ÷ 1,000. At the example price, 950 platinum is worth 49.25 USD per gram in metal, before making charges and taxes.
Industrial buyers. Besides vehicle catalysts, platinum and palladium go into chemical and refining catalysts, glass production, electronics, dental alloys and fuel cells. Procurement teams use /change for period moves and /timeframe averages for budgets and contract checks. Price alerts, available on paid plans for any symbol including XPT and XPD, flag when a price crosses a level; webhook delivery starts at the Advanced plan.
Investors. Platinum and palladium coins, bars and exchange-traded products are valued from the same spot price. /convert?from=XPT&to=EUR&amount=10 values ten troy ounces in one call, base puts a portfolio in its owner's currency, and from the Pro plan the realtime stream pushes updates instead of you polling.
Practical tips
- Batch the metals.
currencies=XAU,XAG,XPT,XPDcosts one request; four separate calls cost four. - Poll at your plan's interval. Free updates daily, Lite every 30 minutes, Standard every 10 minutes, Advanced and Pro every 60 seconds, Ultra and Business every 15 seconds and Enterprise every 5 seconds. Requests in between return the same snapshot and still count.
- Respect market hours. Spot precious metals close on Friday at 17:00 New York time and reopen on Sunday at 17:00. Over the weekend the API keeps returning the last price.
- Store context with every price: symbol, unit, base currency and
timestamp. A number without its unit cannot be reused safely. - Check that keys exist. If a bid or ask side isn't available, it is left out of
ratesrather than set to zero. - No code for a public price board. An embeddable widget shows live platinum and palladium prices on a website without exposing your API key, and the Free plan includes one.
Start using platinum and palladium prices
Register for a free key and request currencies=XPT,XPD to see both metals within minutes. The Free plan includes 100 requests a month with daily updates and the full history. When you need fresher prices, bid and ask, alerts or streaming, the pricing page shows which plan includes what, and the symbols page lists live prices for every metal, currency and cryptocurrency the API covers.
FAQ
What are the symbols for platinum and palladium?
XPT for platinum and XPD for palladium, the ISO 4217 codes for one troy ounce of each metal. In responses, USDXPT and USDXPD hold the prices in US dollars per troy ounce.
Can I get the platinum price per gram?
Yes. Add unit=gram to /latest or to any historical endpoint. At the example price of 1,612.35 USD per troy ounce, that is 51.84 USD per gram. kilogram and the other units work the same way.
How far back does historical platinum and palladium data go?
Daily closing prices go back to 2000 on every plan. A single /timeframe request covers up to 30 days on Free and 365 days on paid plans, so loop over longer ranges.
Does MetalAPI provide rhodium prices?
No. Among the platinum group metals, MetalAPI quotes platinum and palladium only. The /api/v1/symbols endpoint returns the current symbol list and does not count towards your quota.
Is platinum included in the Free plan?
Yes. Every plan includes every symbol and the full history. Paid plans add fresher updates, longer ranges per request and karat prices for gold, and from Standard upward bid and ask prices.
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
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.
Free Gold Price API: What 100 Requests a Month Can Do
A free gold price API, honestly explained: what MetalAPI's Free plan includes, how to stretch 100 requests a month with caching and batching, when to upgrade.
Silver Price API: Live and Historical XAG Prices in JSON
Use a silver price API to get live and historical XAG prices per ounce, gram or kilogram in 57 currencies, with code examples, caching tips and real use cases.