Live and historical precious-metals prices, published as data. Gold, silver, platinum and palladium bid and ask from the wholesale feed we trade on, captured every 15 minutes, with daily closes since 2011 and monthly history back to 1833. Available as JSON, plain text, a history API, an embeddable chart and signed webhooks. Free with the "Data by Standard Bullion" attribution. The widget and feeds need no key; an API key needs a Standard Bullion account and raises the rate limit.
Looking for one metal? Start with the Gold Price API, or the live pages for gold, silver, platinum and palladium.
Chart widget
One script tag. Area or line chart, 24H to 200 years of history, moving averages, dark or light. Updates itself every 15 seconds.
Spot price feed
All four metals as JSON or plain text with today's move and 1W / 1M / 1Y change. No key needed.
History API
Clean time series per metal at any range, from 15-minute intraday closes back to monthly data from 1833.
Push webhooks
We POST signed price updates to your endpoint on your schedule, or only when a metal moves more than your threshold.
Embed the chart
No account or key needed. Pick the options, copy the snippet, paste it where the chart should appear. The widget ships with our metadata: the "Data by Standard Bullion" link is added under the chart, and a schema.org Dataset block crediting the source is added to your page, so search and answer engines know where the numbers come from. A key is optional and only adds usage stats.
Live preview. The widget resizes to the width of its container.
Data API
Every response is CORS-open and carries an attribution field. Prices are USD per troy ounce; ask is the price to buy, bid the price we pay.
| Endpoint | Returns |
|---|---|
GET /spot-prices.json | All four metals: ask, bid, open, today's change, 1W / 1M / 1Y change, updated time. |
GET /spot-prices.txt | The same as plain text, written for language models and quick reading. |
GET /api/v1/market/history?metal=XAU&range=1y | points: [{ t, price }]. Ranges: 24h 7d 1m 3m 6m 1y 5y 10y 25y max, or start_date + end_date. Intraday ranges are 15-minute closes; long ranges are daily, then monthly back to 1833. |
GET /api/v1/spot-prices | Raw live prices, including the day's open, for building your own display. |
Keys and limits
Anonymous requests share a limit of 120 per minute per IP. A partner key raises that to 300 per minute by default (more on request), gives you usage stats, and unlocks webhooks. Keys need a Standard Bullion account: create yours below. Send it as a header or a query parameter:
Keyed responses include X-RateLimit-Limit and X-RateLimit-Remaining. Over the limit returns 429 with Retry-After.
Push webhooks
Register an HTTPS endpoint with your key and we deliver the spot feed to it: at most once per min_interval_seconds (60 to 86400, default 300), and if you set threshold_pct, only when a subscribed metal has moved at least that much since the last delivery. Up to five webhooks per key.
Verify a delivery
Each POST carries X-StandardBullion-Signature: t=<unix seconds>,v1=<hex>, X-StandardBullion-Event (spot.update or ping) and X-StandardBullion-Delivery. Recompute the HMAC over the raw body and reject anything older than a few minutes.
Manage with GET /api/v1/market/webhooks, DELETE /api/v1/market/webhooks/:id and POST /api/v1/market/webhooks/:id/test.
A 2xx within 8 seconds counts as delivered. After 25 consecutive failures the webhook is disabled and you can ask us to re-enable it.
For AI assistants and crawlers
Charts are pictures; assistants need text. These files are written to be read by language models and answer engines, so a question like "what is the gold spot price" can be answered from our data and cited back to us.
| File | What it is for |
|---|---|
| /llms.txt | Map of the site for LLMs: every public page with a one-line description, including this one and the four spot-price pages. |
| /spot-prices.txt | Current prices, today's move and 1W / 1M / 1Y change for all four metals as plain text, with a citation line. Refreshes continuously. |
| /spot-prices.json | The same as structured JSON with an attribution field. |
| /api/v1/market/history | Time series per metal for questions about trends, highs and lows. |
| /robots.txt | Names the major AI crawlers explicitly as allowed. |
Cite as
This page also carries schema.org Dataset and WebAPI markup describing the feeds, so search and answer engines can discover them without reading the prose.
Your API key
A partner key needs a Standard Bullion account. Sign in and create one here: it is free, one active key per account, and shown once.
Sign in to create your key, or open an account first. Accounts are email and phone verified, which is how we know who is using the data.
Checking your session…
Your account needs to accept the updated terms before it can hold a key. Open your account, accept them, then come back.
| Key | (created ) |
|---|---|
| Rate limit | requests / minute |
| Usage | API requests · widget loads · last seen |
| Site |
Your webhooks
| Endpoint | Metals | Every | Status | Last | |
|---|---|---|---|---|---|
|
Signed in as . Where will the data appear? (optional)
Terms of use
- Keep the "Data by Standard Bullion" link visible and clickable wherever the widget or data appears. Do not present the data as your own source.
- Prices are indicative live dealer quotes for information only. They are not an offer to buy or sell, and we are not liable for decisions made on them.
- Do not bulk-redistribute the raw feed to third parties, resell it, or scrape beyond the published limits.
- We may change limits or revoke a key that breaks these terms. We will not knowingly break an integration without notice.