The silver standard for real-time metal prices.
Bid and ask prices for nine metals over REST or WebSocket. Four precious metals plus copper, aluminum, nickel, lead, and zinc. Historical candles included.
Free tier, no card needed. Your first call takes about a minute.
Connecting…
A price feed you can build on.
Scanned multiple times a second
We poll several times a second, so a price change reaches you in about half a second. Every response includes an ageMs and a stale flag, so you know how fresh each number is.
Nine metals, one format
Four precious metals in troy ounces and five base metals in pounds, all in the same response shape.
Stream it or poll it
Subscribe over WebSocket to get every change pushed to you, or poll the REST endpoint. Same data either way.
Your first request is a couple of lines.
Responses are plain JSON. No SDK to install, just curl or a fetch call.
curl https://api.<DOMAIN>/v1/spot/gold \
-H "X-API-Key: ag_live_yourkeyhere"
const res = await fetch("https://api.<DOMAIN>/v1/spot/gold", {
headers: { "X-API-Key": "ag_live_yourkeyhere" },
});
const gold = await res.json();
console.log(gold.bid, gold.ask);
import requests
resp = requests.get(
"https://api.<DOMAIN>/v1/spot/gold",
headers={"X-API-Key": "ag_live_yourkeyhere"},
)
gold = resp.json()
print(gold["bid"], gold["ask"])
Example response · 200 OK{
"metal": "gold",
"symbol": "AU",
"currency": "USD",
"unit": "OUNCE",
"bid": 4124.10,
"ask": 4126.10,
"mid": 4125.10,
"high": 4136.10,
"low": 4053.60,
"change": 48.70,
"changePercent": 1.2,
"sourceTimestamp": "Jul 09, 2026 10:35",
"fetchedAt": 1783607991505,
"ageMs": 177,
"stale": false
}
Pricing comes down to requests per minute.
No monthly request caps and no overage charges. You pick a rate limit, and you can change or cancel it anytime.
- 60 req/min
- WebSocket (1 concurrent conn)
- Terminal dashboard +$10/mo addon
- 1,000 req/min
- WebSocket (10 concurrent conns)
- Terminal dashboard included
Add the live dashboard to Starter or Pro. Included with Business.
Common questions
How fresh is the data?
We poll the market multiple times a second, pulled from public spot market sources. When a bid or ask changes, WebSocket subscribers see it right away.
What do bid, ask, and spread mean?
Bid is what buyers offer; ask is what sellers want. The spread is the gap between them, normal for any market. Mid is the midpoint, and it's what the candles, change, and ticker above use.
How do I keep my API key safe?
Send it in the X-API-Key header (or as a Bearer token) from your server, never from client-side JavaScript or a public repo. We don't accept keys in the query string, since those end up in logs and browser history. If a key leaks, rotate it from your client area and the old one stops working right away.
What happens if I cancel or a payment fails?
Your key keeps working until your plan lapses. If a renewal payment fails, the key is suspended and API calls return 403 payment_required until you reactivate. You won't lose any data or need a new key, it just turns back on once you pay.
Where do I get help?
Email support@<DOMAIN> or use the contact link in your client area. A real person will get back to you.