A free gold price API with live bid and ask, intraday history at 15-minute resolution, daily closes since 2011 and monthly prices back to 1833, in JSON and plain text. No key needed for the feeds; a free key (with a Standard Bullion account) raises the rate limit and enables webhooks. Silver, platinum and palladium use the same endpoints.
Live price
GET /spot-prices.json — ask, bid, open, today's change and 1W / 1M / 1Y change for gold and the other three metals.
History
GET /api/v1/market/history?metal=XAU&range=1y — a clean { t, price } series at any range from 24 hours to 1833.
Plain text for AI
GET /spot-prices.txt — the same prices written for language models, with a citation line.
Push
Signed webhooks deliver the feed on your interval or when gold moves past a threshold you set.
Quick start
Three requests cover most uses. All responses are CORS-open and carry an attribution field.
JavaScript
Python
Endpoints
| Endpoint | Returns | Cache |
|---|---|---|
GET /spot-prices.json | All four metals: ask, bid, open, changeToday, changes.1w/1m/1y, updated, attribution. | 15 s |
GET /spot-prices.txt | Plain-text summary of the same, for assistants and quick reading. | 15 s |
GET /api/v1/market/history | ?metal=XAU|XAG|XPT|XPD and range=24h|7d|1m|3m|6m|1y|5y|10y|25y|max or start_date=YYYY-MM-DD&end_date=YYYY-MM-DD. Returns points: [{ t, price }], grain (tick or daily) and unit. | 60 s |
GET /api/v1/spot-prices | Raw live prices with the day's open, for building your own display. | none |
GET /api/v1/charts/metal-performance?metal=XAU | Price one day, week, month, year and five years ago with the change. | none |
Sample response — /api/v1/market/history?metal=XAU&range=7d
Intraday ranges (24h, 7d, 1m) return 15-minute, hourly and 4-hour closes from our own capture. Longer ranges return daily closes; max reaches 1833 on monthly data.
Where the gold price comes from
The live price is the wholesale bid and ask Standard Bullion trades on itself, which is why the API returns two numbers rather than one indicative mid. It is captured every 15 minutes into our own record, which is the source of the intraday series; the last capture of each day is promoted to that day's close. Daily closes before our capture began, and the monthly series back to 1833, come from published LBMA and USGS data. Prices are USD per troy ounce (31.1035 g).
Freshness
Live feed updates continuously during market hours (Sunday evening to Friday afternoon, U.S. Eastern). Feeds cache for 15 seconds.
Coverage
Gold from 1833 (monthly), 2011 (daily), and 15-minute since 2026. Silver from 1900, platinum from 1911, palladium from 1977.
Format
JSON with a stable shape, plain text, and ISO-8601 timestamps in UTC. Numbers are plain decimals, never strings with symbols.
Keys, rate limits and webhooks
Without a key you get 120 requests per minute per IP. A key raises that to 300 per minute (more on request), adds usage stats, and unlocks webhooks. Keys are free and issued instantly to a Standard Bullion account on the market data page.
Deliveries carry X-StandardBullion-Signature: t=…,v1=HMAC-SHA256(secret, t + "." + body). Full details and a verification snippet are on the market data page.
No code: the gold price chart widget
One script tag renders the live gold chart with range and moving-average controls, and adds the "Data by Standard Bullion" link and Dataset metadata. No key or account needed. The generator builds the snippet for any metal, range and theme.
Gold price API FAQ
Is the gold price API free?
Yes. The feeds and history endpoints work without a key on a shared limit of 120 requests per minute per IP. A free key, issued to a Standard Bullion account, raises the limit and enables webhooks. The one condition is that the "Data by Standard Bullion" attribution stays visible wherever the data is shown.
How often does the gold price update?
The live feed reflects the wholesale market continuously while it is open; responses are cached for 15 seconds. The intraday history is captured every 15 minutes and the daily close is recorded once a day.
Does the API return bid and ask or just one price?
Both. The ask is the price to buy gold from Standard Bullion and the bid is the price we pay to buy it, so the spread is visible. Most free gold price APIs return a single indicative mid price with no spread.
How far back does the historical gold price go?
Monthly to 1833, daily to 2011, and 15-minute intraday from 2026 onward. Use range=max for the full monthly series or start_date and end_date for any window.
Can I get the price in other currencies or per gram?
The API returns USD per troy ounce. Divide by 31.1035 for the price per gram, or multiply by your own FX rate for another currency. Per-gram and per-kilo figures are shown on the gold price page.
Can I use it in a commercial product?
Yes, with attribution, and without bulk-redistributing the raw feed as your own data source. The full terms are on the market data page.
Where does Standard Bullion get its gold price?
From the wholesale pricing feed we buy and sell on ourselves, so the API price is a real dealer price rather than a scraped or delayed quote. Historical series before our own capture come from LBMA and USGS publications.
Also: silver price, platinum price, palladium price, gold/silver ratio, and the AI-readable spot-prices.txt and llms.txt. Prices are indicative live dealer quotes for information only, not an offer to buy or sell.