# Gold price API on Reddit: the developer questions, answered

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:

| Plan | Price | Calls / month | What it adds |
|------|-------|---------------|--------------|
| Free | $0 | 1,000 | XAU spot, MCP, no card |
| Basic | $10/mo | 20,000 | + gold futures |
| Pro | $30/mo | 100,000 | + silver, copper, commercial use |
| Realtime | $80/mo | 1,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](/blog/gold-prices-llm-agent-mcp) if you want the setup detail.

## The shortest call

No key, no dependencies:

```bash
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](/docs/quickstart) takes a minute.

For the language-specific version, [Fetch live gold prices in JavaScript](/blog/fetch-gold-prices-javascript) covers the REST path end to end, and [Caching gold prices and staying inside rate limits](/blog/gold-price-caching-rate-limits) covers doing it at volume.
