Precious Metals API: Gold, Silver, Platinum & Palladium

One REST endpoint for all four LBMA metals. Live XAU, XAG, XPT and XPD spot prices, 36–58 years of historical daily closes, and conversion to any ISO 4217 currency — built for developers shipping accounting systems, ETF NAV calculators, jewelry storefronts, bullion dealers, mining finance teams and PGM refinery settlement pipelines. $9/mo bundles all four metals with 170+ forex currencies and 420+ cryptocurrencies on one API key.

Single $9/mo plan covers all four metals · No per-symbol upcharge · Cancel anytime

One API, four metals — why that matters

Most precious metals API vendors charge per-metal or per-tier. That makes sense if you only need gold, but it is expensive and operationally awkward the moment you want to track the gold/silver ratio, the platinum/palladium substitution signal, or the PGM basket as a whole.

One API key

Four metals, 170+ forex currencies, 420+ cryptocurrencies on a single key. One dashboard, one rate limit, one billing line.

Single request

Call /api/commodities/rates with no to parameter and all four metals come back in one round-trip.

Ratio math for free

XAU/XAG ratio, XPT/XPD ratio, and basket-value calculations are a client-side divide — not a second paid subscription.

Shared historical archive

XAU/XAG 1968+ and XPT/XPD 1990+ in the same /historical/timeseries endpoint. Same shape, same pagination, same response format.

No metal upsell

Competitors charge extra for platinum or palladium on top of gold/silver. We don’t. $9/mo is everything.

Forex-aware

Pass from=XAU&to=EUR and the API converts through our live forex cache. No secondary FX-conversion call, no date-mismatch bugs on historical queries.

Precious metals API endpoint reference

Four endpoints cover every precious metals integration pattern: current spot price, single-date historical, time-series ranges, and symbol metadata. All require api_key either as a query param or Authorization: Bearer header, and require the Pro tier. Full OpenAPI spec lives in the Swagger console.

GET /api/commodities/rates Current spot Pro

Returns live USD-per-troy-ounce prices for gold (XAU), silver (XAG), platinum (XPT) and palladium (XPD). Pass to=XAU for a single metal, or omit it for all four. Refreshed every 15 minutes from the LBMA-blended cache.

Parameters
  • api_key — required (Pro plan)
  • from — base (USD by default, or any ISO 4217)
  • to — optional target (XAU/XAG/XPT/XPD)
  • amount — optional multiplier
  • format — json (default), xml, jsonp
Example
GET /api/commodities/rates
  ?from=USD&to=XAU
→ { "amount": 1, "base": "USD",
    "to": "XAU",
    "rate": 0.000413,
    "result": 0.000413 }
GET /api/commodities/convert Convert amount Pro

Converts between metals and currencies in a single call — commodity-to-commodity, commodity-to-currency, or currency-to-commodity. Use this when you want a pre-calculated amount, not rate metadata.

Parameters
  • amount — required, float
  • from, to — any of XAU/XAG/XPT/XPD or ISO 4217 code
  • format — json / xml / jsonp
Example
GET /api/commodities/convert
  ?amount=10&from=XAU&to=USD
→ { "amount": 10, "from": "XAU",
    "to": "USD", "result": 24287.50 }
GET /api/commodities/historical/rates Historical (single date) Pro

Precious metals price for any specific date. Use for accounting, tax reporting, ETF NAV backdating, or jewelry-inventory revaluation. Set to to a fiat currency (e.g. EUR) and we convert through the matching historical FX rate for that same date — which is what auditors require.

Parameters
  • date — required, YYYY-MM-DD
  • from, to, amount — same shape as /rates
Example
GET /api/commodities/historical/rates
  ?date=2020-03-20&from=XAU&to=USD
→ { "date": "2020-03-20",
    "rate": 1479.25, ... }
GET /api/commodities/historical/timeseries Range query Pro

Date-range queries up to 5 years per call. Ideal for drawing charts, running backtests, or bulk-loading a metal series into a data warehouse. Combine with the forex time-series endpoint to get a dated, FX-correct valuation sequence.

Parameters
  • start_date, end_date — required
  • base — USD default, any ISO 4217
  • symbols — comma-separated (e.g. XAU)
Example
GET /api/commodities/historical/timeseries
  ?start_date=2024-01-01
  &end_date=2024-12-31
  &symbols=XAU

How the precious metals price is sourced

Precious metals spot and historical rates are blended from institutional and market sources, weighted by reliability and recency. When a source returns an outlier tick (fat-finger, feed glitch) it is automatically excluded from the published rate. Each scraper in the list below is a real module in our pipeline — not a marketing claim — and you can cross-reference them in the pipeline itself via app/scrapers/.

LBMA
London Bullion Market Association

The authoritative benchmark — twice-daily auction-based fixings for gold, silver, platinum and palladium. Used by ETFs, central banks, and bullion banks worldwide to settle contracts.

Kitco
Kitco Metals

Retail / wholesale bullion market data from Montreal. Cross-check source for the LBMA blend — useful during off-hours when London and New York are both closed.

World Gold Council
goldorg scraper

Supplementary gold pricing and demand metadata from the WGC / gold.org. Used for recency verification against the LBMA fix.

goldprice.org
goldpriceorg scraper

Public consensus bullion quotes in multiple currencies — used to sanity-check the FX-converted rates on the metals endpoints.

pricez feed
cfworker_pricez scraper

Edge-cached tick feed covering all four metals — used when LBMA and Kitco are both mid-update to avoid stale prices.

Swissquote
FX + metals feed

Market-hours metal quotes from a regulated Swiss dealer. Third leg of the outlier-rejection check on XAU/XAG, minor contributor on XPT/XPD.

The weighted-blend algorithm decays older observations and favours the LBMA fix during its publication windows. Full source code for each scraper is in app/scrapers/ in the UniRateAPI repo.

UniRateAPI vs GoldAPI.io, metals-api.com, MetalpriceAPI and Alpha Vantage

Pricing and feature data verified against each vendor’s public pricing page in 2026. All five providers ultimately read from the LBMA fix for the authoritative reference rate — the meaningful differences are packaging, historical depth, bundled features, and price.

Feature UniRateAPI GoldAPI.io metals-api.com MetalpriceAPI Alpha Vantage
Entry price $9/mo Free tier then on request $19.99/mo (Copper) $8.99/mo (Basic) $49.99/mo
Requests / month (entry) 750,000 ~100 (free tier) 2,500 10,000 75 req/min (no daily cap)
Metals covered XAU, XAG, XPT, XPD XAU, XAG All four + rhodium All four XAU, XAG
Historical depth 58 yrs (XAU/XAG), 36 yrs (XPT/XPD) Historical available 30 days on entry, 365 on top tier Yes (paid) Yes (paid)
Forex + crypto bundled 170+ FIAT · 420+ crypto No FIAT only, no crypto FIAT + metals, no crypto FIAT + crypto + stocks
Currency conversion Any ISO 4217, server-side USD only Yes (limited) Yes USD only
Free tier 6,000/mo (forex + crypto) ~100/mo None on entry 100/mo 25 req/day
Response formats JSON, XML, JSONP JSON JSON JSON JSON, CSV
Time-series included Yes, at $9 Paid tier Paid tier (Gold+) Paid tier Premium

Pricing accurate as of 2026-04. Verify each vendor’s current plans before committing — metals-api.com in particular has been raising prices regularly since 2024.

Who uses a multi-metal API

Integrations that need more than one metal are almost always in one of these six domains. The metal-specific pages drill into narrower industrial use-cases on top.

💵

Portfolio & wealth tech

Display multi-metal allocations (physical bars, ETFs, mining equities) in a unified portfolio view. One API call refreshes every metal exposure on every page load.

💎

Jewelry & bullion e-commerce

Gold, silver, platinum engagement rings each priced at live spot plus fabrication. Nightly batch update or server-rendered per-request; both patterns fit the 15-minute refresh cadence.

🏭

Central bank reserve reporting

Sovereign reserves and SWFs revalue gold holdings monthly at LBMA. A single historical call per month per metal replaces a spreadsheet process.

🚗

Autocatalyst procurement

Gasoline cars use palladium or platinum; diesel uses platinum. OEMs pull both daily to optimise catalyst loadings and flag substitution opportunities.

📊

PGM mining finance

Sibanye-Stillwater, Impala Platinum, Anglo American PGM baskets are priced off XPT + XPD + rhodium. Forecast revenue weekly off a live feed, not monthly from spreadsheets.

💳

Gold-backed stablecoins & collateral

PAXG, XAUT and cross-chain gold-backed tokens need live XAU for peg calculations and collateral margining. Cache with a 60-second TTL to stay responsive without exhausting the rate limit.

Precious metals API FAQ

Cross-metal questions answered here; metal-specific detail lives on the individual pages.

What is a precious metals API? +
A precious metals API is an HTTP endpoint that returns live spot and historical prices for gold, silver, platinum and palladium in JSON. Instead of scraping a bullion dealer's website or integrating four separate broker feeds, you call one URL with a symbol (XAU, XAG, XPT, XPD) and get the current USD-per-troy-ounce price or a historical range back. UniRateAPI's precious metals API also converts to any ISO 4217 currency server-side, bundles forex and crypto in the same plan for $9/mo, and covers 58 years of gold/silver history and 36 years of platinum/palladium — from LBMA fixings cross-checked against Kitco and goldprice.org.
Which metals does the API cover? +
Gold (XAU), Silver (XAG), Platinum (XPT) and Palladium (XPD) — the four ISO 4217 precious-metal currency codes. These are the four metals LBMA maintains official fixing prices for, and they are the same four covered by every mainstream institutional market data feed. Rhodium, ruthenium, iridium and osmium are not in scope — they trade OTC with no standardised public benchmark.
What is the difference between spot and futures prices? +
Spot is the reference price for immediate delivery of a standardised bar (LBMA good-delivery for gold/silver, Platts quality spec for platinum/palladium). Our API returns spot. Futures contracts trade on COMEX and NYMEX for delivery at a fixed future date, with a basis premium or discount to spot. Use spot for accounting, inventory, ETF NAV and e-commerce pricing. Use futures via a broker for hedging or speculation.
How far back does the historical data go? +
Gold (XAU) and Silver (XAG) archives start on 1–2 April 1968 — 58 years of LBMA daily closes. Platinum (XPT) and Palladium (XPD) start on 2 April 1990 — roughly 36 years. This is the same institutional-grade history that central banks, ETFs and sovereign funds calibrate against. Accessed via /api/commodities/historical/rates for single dates or /api/commodities/historical/timeseries for ranges up to 5 years per call.
How do you source the data? +
LBMA fixings are the authoritative benchmark and the primary input. We cross-check against Kitco and goldprice.org (retail/wholesale market feeds), and run outlier rejection so a fat-finger tick on one source cannot distort the published rate. Between LBMA fixes the blend re-computes every 15 minutes; outside market hours the last published rate holds. This is the same methodology institutional treasury desks use.
Can I get prices in EUR, GBP, JPY, INR or other currencies? +
Yes — pass from=XAU&to=EUR (or any ISO 4217 code) and the API converts the spot USD price through our live forex cache. Historical endpoints work the same way using the matching historical FX rate, so your back-priced gold valuation on 2020-03-20 uses the 2020-03-20 EUR/USD rate. This is critical for multi-currency accounting, tax reporting and audit.
What are the rate limits for the metals endpoints? +
Pro plan ($9/mo) gives you 25,000 req/day for current rates (including metals) and 1,000 req/day for historical endpoints. That's 750,000 total req/month — comfortably enough for a dashboard that polls every 30 seconds, a production jewelry pricing widget, an ETF NAV service, or a bullion dealer's inventory-revaluation job. Enterprise limits are available on request.
Is there a free tier for precious metals? +
The metals endpoints are Pro-only because LBMA-grade data costs real money to license and maintain. But you can register for a free API key and immediately use the forex and crypto endpoints (200 req/day) to prototype your integration end-to-end. Upgrade to Pro once you're ready to flip metals on — monthly billing with cancel-anytime, no contract.
How does UniRateAPI compare to GoldAPI.io, metals-api.com or MetalpriceAPI? +
The underlying LBMA data is largely the same across vendors. The meaningful differences are packaging and pricing: most metals-only APIs charge $20–80/mo for just gold/silver/platinum/palladium with 30–90 days of history. UniRateAPI bundles all four metals with 58 years of gold/silver history and 36 years of platinum/palladium, plus 170+ forex currencies and 420+ crypto, for $9/mo on one API key. If you only need metals and nothing else you might still prefer a metals-specialist — the comparison table on each single-metal page has the full breakdown.
Can I get WebSocket streaming of metals prices? +
No — we are a reference-rate API, not a trading-execution feed. WebSocket streaming matters for order routing and HFT where every millisecond counts. For accounting, dashboards, ETF NAV, jewelry pricing, inventory valuation and portfolio tracking — the actual use cases for metals price data in 98% of integrations — a 15-minute refresh REST call is the correct primitive and costs 100× less than a streaming feed.

All four precious metals on one API key

Register free, upgrade to $9/mo Pro to unlock gold, silver, platinum and palladium together — plus 27 years of forex history and 420+ cryptocurrencies. Cancel anytime, no annual contract.