The Aurum Feed API
Every price the map shows, as JSON: the feed, the history, the exchange rates, and the knowledge graph of the coins and bars, their families, the dealers and who supplies them. One key, three plans, no SDK to install.
https://aurumfeed.live/api
Send your key in the X-Api-Key header. Only that header: the Authorization header belongs to the hosting platform on the way in, and never reaches the API as you sent it. Without a key the feed, the history and the rates still answer — that is what this page itself reads — but with no budget of your own, and without the resources a plan buys.
Keys start with af_live_ on the live site and af_test_ in the sandbox, and each works only where it was issued. Rotate a key from the dashboard the moment it leaks: the old one stops within ten seconds.
prices and history
| path | what it answers | needs |
|---|---|---|
| GET /v1/feed | Every coin and bar with every dealer’s current quote, the dealers with where they are, and the gold spot in euro per gram. ?form=coin or ?form=bar serves one compartment and the dealers that quote it. | open |
| GET /v1/history | The typical price of the coins and bars asked for (?coins=a,b) over one window: ?range=min (an hour by the minute), hour (a day by the quarter), day (a month by six hours). ?by=source splits by dealer; ?form=coin or bar with no ?coins= is every row of that compartment. | open |
| GET /v1/fx | The ECB reference rates the hub converts with: euro-based, one per currency, dated. | open |
coins
| path | what it answers | needs |
|---|---|---|
| GET /v1/coins | The coins’ catalogue, every design in every size: fine gold, fineness, face value, mint and country, melt value, median and how many dealers quote it. | open |
| GET /v1/coins/{id} | One coin with its sizes, its quotes cheapest first, and the titles shops give it. ?format=jsonld for schema.org. | open |
| GET /v1/coins/{id}/quotes | A coin’s quotes now, or as they stood at a past instant with ?asOf= (ISO 8601 or epoch milliseconds). | Pro or Business |
| GET /v1/families | The coins’ families: each design with its lead coin, sizes, mint and country, and the spellings shops use for it. | open |
| GET /v1/families/{id} | One family with its coins, the full coin first. | open |
bars
The bars are a compartment of their own. A maker’s bar is lingotto-pamp-100-g, a bar of no maker on the list lingotto-altre-marche-100-g, and lingotto-100-g is the 100 g of any brand: each shop at its cheapest 100 g, whoever made it. A bar is never listed under /v1/coins nor a coin under /v1/bars; asked in the wrong one, the 404 names the address that answers for it.
| path | what it answers | needs |
|---|---|---|
| GET /v1/bars | The bars’ catalogue: every weight from the gram to the kilo of any brand, then each maker’s bars and the other brands’ that shops have been read selling — maker, fine gold, melt value, median and how many dealers quote it. | open |
| GET /v1/bars/{id} | One bar with its weights, the same weight in every maker quoted (sameWeight) and its quotes cheapest first. On a bar of any brand each quote is a shop’s cheapest bar of the weight, and barId says whose. ?format=jsonld for schema.org. | open |
| GET /v1/bars/{id}/quotes | A bar’s quotes now, or as they stood at a past instant with ?asOf=; a bar of any brand is read off its makers’ rows, with barId. | Pro or Business |
| GET /v1/bars/brands | The thirteen makers whose bars are quoted by name — Argor-Heraeus, C.Hafner, Heraeus, PAMP, Valcambi and the rest — with their seat and the bars of theirs on sale. | open |
| GET /v1/bars/brands/{id} | One maker with its bars, lightest first, each with its median and how many dealers quote it. | open |
dealers
| path | what it answers | needs |
|---|---|---|
| GET /v1/dealers | The dealers in view: host, country, where they stand and whether that is a measurement, reliability over thirty days, who supplies them. | open |
| GET /v1/dealers/{id} | One dealer with its profile (ratings dated, contacts, payments, services, the suppliers it sources from and who says so), its quotes and every page read of it. ?format=jsonld for schema.org. | open |
| GET /v1/dealers/{id}/coins | The coins a dealer covers, each with its standing quote or null. | open |
| GET /v1/dealers/{id}/bars | The bars a dealer covers, each on its maker’s row, with its standing quote or null. | open |
the whole graph
| path | what it answers | needs |
|---|---|---|
| GET /v1/graph | The whole knowledge graph in one answer: every node and edge with its provenance, the shops’ suppliers included. ?types=coin,family keeps only some node types. | Pro or Business |
A coin, a bar or a dealer answers in the schema.org vocabulary too (Product, ProductGroup, Offer, Store) as application/ld+json: add ?format=jsonld.
curl -s "https://aurumfeed.live/api/v1/coins/sterlina" \ -H "X-Api-Key: af_live_…" curl -s "https://aurumfeed.live/api/v1/coins/sterlina/quotes?asOf=2026-10-01T09:00:00Z" \ -H "X-Api-Key: af_live_…" curl -s "https://aurumfeed.live/api/v1/bars/lingotto-c-hafner-100-g" \ -H "X-Api-Key: af_live_…"
A ready-made collection: every endpoint above, one folder per compartment — prices, coins, bars, dealers, the graph — a baseUrl variable and an apiKey variable the key goes into, sent as X-Api-Key on every request. Import the file, paste your key into the variable, and the test on each request prints what is left of the month’s budget.
Each plan has a budget of requests per calendar month (UTC) and a burst limit per minute. Without a key you read what the page reads — the feed, the history, the rates — with a ceiling of requests a minute per address; a key lifts it. Every answer carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (the first of next month, in Unix seconds); X-RateLimit-Burst is the per-minute ceiling. Over either limit the answer is 429 with Retry-After.
errorsAn error is JSON with an error field. 401: no key, or a revoked one. 402: the subscription behind the key is not being served — pending, suspended or cancelled — and the dashboard says why. 403: the plan does not include the resource. 404: an unknown coin, bar, maker, family or dealer — and a bar asked under /v1/coins, or a coin under /v1/bars, with a field naming where it is. 429: over a limit.
freshnessThe feed moves once every thirty seconds, and the history and the graph with it. Ask for what you need and keep it for the interval: a hundred reads a minute of the same feed buy nothing a reader could see.
Paid plans are not open yet: the feed, the history and the exchange rates answer without a key.