Blog/Developer

Gold price API on Reddit: the developer questions, answered

The gold-price-API questions that come up on Reddit, answered straight: free tier, update frequency, rate limits, auth, where the number comes from, commercial use, and whether it's good enough to build on.

Developer.md

Search Reddit for a gold price API and the thread is nearly always the same shape. Someone is building a dashboard, a price alert, a trading bot, or a storefront that quotes bullion, and they want a live gold price they can pull from code. Before wiring anything in, they ask the same handful of questions in r/algotrading, r/webdev, and r/golang: is there a free tier, how fresh is the number, what are the limits, can I use it commercially, and can I trust the data.

This post answers those questions directly, using goldprice.dev as the worked example. No sign-up is needed to read it, and the first API call below runs without a key.

What goldprice.dev is, and what it isn't

It is a commodity pricing API for developers: gold, silver, and copper, over a single authenticated REST endpoint at https://api.goldprice.dev. Every response carries per-source prices and timestamps, a cross-validated staleness flag, and a divergence figure, so your code can tell when one upstream is lagging instead of failing silently. An MCP server ships on every plan, including the free one.

It is not a brokerage or a settlement feed. The prices are indicative reference data, published for display, analytics, and alerts. If you need an executable dealing quote to settle a trade, no public gold price API is the right tool, this one included.

Is there a free tier?

Yes, and it does not need a card. The free plan gives you 1,000 calls a month at 30 requests a minute, covering the live gold (XAU) spot price. Paid plans add silver and copper, futures settlement data, higher limits, and commercial rights:

PlanPriceCalls / monthWhat it adds
Free$01,000XAU spot, MCP, no card
Basic$10/mo20,000+ gold futures
Pro$30/mo100,000+ silver, copper, commercial use
Realtime$80/mo1,000,000+ WebSocket tick stream

How often does the price update?

The live spot price is a continuously updated oracle, not a once-a-day snapshot. Futures settlement values update on the exchange's settlement schedule. The point of the API is that you never have to guess which one you are looking at: every response stamps each source with its own timestamp and sets is_stale when a value is older than its expected refresh window. You read the freshness off the payload rather than trusting a blanket "real-time" label.

What are the rate limits?

Free is 30 requests a minute; paid plans go to 120 and 500. Every response returns the standard X-RateLimit-Remaining header, so the correct pattern is to read that header and back off when it runs low rather than polling blind and eating 429s. For most apps a short client-side cache, matched to how often the underlying value actually moves, keeps you well inside the free tier.

How do I authenticate?

A bearer token. Keys are prefixed ga_live_ and go in the Authorization header. There is also an anonymous surface, capped at 100 requests an hour per IP, that returns a trimmed shape (price, bid, ask, the karat-gram fan, and the staleness fields) so you can test before you sign up. Authenticating unlocks the full shape: open, high, low, previous close, change, and the cross-source divergence fields.

Can I see where the number comes from?

Yes, and this is the part most APIs hide. Every response includes a sources[] array, one row per upstream, each with its own price and timestamp. When sources disagree the response carries divergence_bps and a divergence_flag, so you can decide your own tolerance instead of trusting a single blended number with no provenance. If you are building anything where a wrong price has a cost, that visibility is the reason to use a structured API over scraping a webpage.

Can I use it commercially?

The free and Basic tiers are for personal and evaluation use. Commercial use, redisplaying the price in a product you ship, starts on the Pro plan and requires attribution. If you are putting a gold price in front of your own users, Pro is the floor.

Can my LLM agent use it?

Yes. The MCP server is included on every plan, including free. You add one config block to Claude, Cursor, or any MCP-capable runtime and the agent fetches the live price directly, with no hand-rolled tool code. The data is the same one the REST API serves. There is a full MCP walkthrough if you want the setup detail.

The shortest call

No key, no dependencies:

curl https://api.goldprice.dev/v1/prices?symbol=XAU-USD-SPOT

You get back JSON with the price, bid, ask, a per-gram breakdown by karat, the contributing sources, and a staleness flag. That single call is enough to put a live, honest gold price into whatever you are building. When you want the full shape and higher limits, a free key takes a minute.

For the language-specific version, Fetch live gold prices in JavaScript covers the REST path end to end, and Caching gold prices and staying inside rate limits covers doing it at volume.

// related guides

// goldprice.dev

Live gold prices, historical OHLC, and multi-source aggregation — available via REST and SSE.