Goldin API & Scraper
The Goldin API turns goldin.co, the auction house for trading cards and collectibles, into JSON in four actions.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
search finds the lots that are live now (weekly, TCG weekly, monthly Elite and themed auctions, plus the fixed-price marketplace): title, lot number, auction, current bid, bid count, minimum bid, buyer's premium, start and end time, the grade and grader named in the title, the main image and the lot link. sold searches Goldin's past results: about 839,000 sold lots back to Goldin's first auction in November 2012, each with the hammer price, the buyer's premium percent, the hammer price with premium, the bid count and the sale date. Both take the same filters: words, category, sub-category (Pokemon, One Piece, Yu-Gi-Oh!, Magic The Gathering, Basketball, Baseball and more), item type (single cards, sealed boxes and packs, sets, comics, memorabilia), grading company, auction, sale format, price and year, and sort by price, bids, end date, newest auction, lot number, recent bids or views. lot returns one lot in full: the description, every image and video, category, grading company, grade, cert number, year, Goldin serial number, views, the previous and next lot, and the public bid history with the amount and time of every bid. auctions lists the running and upcoming auctions or every finished auction back to 2012, with the auction_id that narrows search and sold to one auction. Prices are in US dollars. One ReefAPI key, the standard { ok, data, meta, error } envelope, no Goldin account.
Which Goldin price is which
A Goldin lot carries several dollar amounts; they answer different questions. Field names as the API returns them, measured 2026-10-31.
| field | what it is | example (1996 Pokémon Japanese Basic #6 Charizard PSA 7, sold) |
|---|---|---|
| sold_price_usd | The hammer price: the winning bid, buyer's premium not included | 7,005 |
| buyer_premium_pct | Goldin's buyer's premium for that lot, in percent | 20 |
| price_with_premium_usd | Hammer price × (1 + premium %), computed by the API | 8,406 |
| current_bid_usd | The current high bid of a live auction lot (0 = no bid yet) | — |
| min_bid_usd | The opening bid of the lot | 100 |
| list_price_usd | The asking price of a live fixed-price listing | — |
| bids[].amount_usd | Every bid in the lot's bid history, newest first | 7,005 … (30 bids) |
On the 12 lots checked (6 live, 6 sold, 8 of them Pokémon), the price the API returns matched the price goldin.co publishes on the lot's own page on all 12, the highest bid in the bid history on all 11 lots with bids, and the bid count on all 12. Goldin's terms also set a $19 minimum buyer's premium, which price_with_premium_usd does not apply.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/goldin/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "charizard",
"sub_category": "Pokemon"
}
}{
"ok": true,
"meta": {
"api": "goldin",
"endpoint": "search",
"mode": "live",
"latency_ms": 506.7,
"record_count": 24,
"bytes": 18965,
"cache_hit": false,
"total": 152,
"total_is_approximate": false,
"page": 1,
"limit": 24,
"has_more": true,
"filters_applied": {
"sort": "relevance",
"query": "charizard",
"sub_category": [
"Pokemon"
]
},
"facets": {
"category": [
{
"value": "Non-Sport",
"count": 152
}
],
"certification": [
{
"value": "Ungraded",
"count": 101
},
{
"value": "PSA",
"count": 34
},
{
"value": "CGC",
"count": 9
}
],
"item_type": [
{
"value": "Cases/Boxes/Packs",
"count": 101
},
{
"value": "Single Cards",
"count": 50
},
{
"value": "Sets and Collections",
"count": 1
}
],
"sub_category": [
{
"value": "Pokemon",
"count": 152
}
],
"auction_id": [
{
"value": "202609-1015-3559-5f668df8-4cdf-461d-be0e-aff832344e51",
"title": "2026 TCG Weekly Auction Oct 21 - Nov 1",
"count": 79
},
{
"value": "202610-0719-1832-70e8343a-8d52-4a9f-86a2-83333a40c35f",
"title": "2026 TCG Weekly Auction Oct 28 - Nov 8",
"count": 73
}
]
},
"sort_index": "lots-prod-relevance",
"upstream_requests": 1,
"currency": "USD",
"warnings": [],
"charged_credits": 2,
"version": "1.0.0",
"request_id": "421669e85b1a4e46",
"queue_ms": 31.1,
"fetched_at": "2026-10-31T00:09:15.769Z"
},
"data": {
"rows": [
{
"lot_id": "202610-1311-5932-fc990353-fa9c-488c-a45f-3d4f1f6cc3b2",
"slug": "2016-pokemon-xy-evolutions-factory-sealed-booster-box-36-packs-possiblaeukf",
"url": "https://goldin.co/item/2016-pokemon-xy-evolutions-factory-sealed-booster-box-36-packs-possiblaeukf",
"title": "2016 Pokemon XY Evolutions Factory-Sealed Booster Box (36 Packs) - Possible Holo Charizard, Full Art M Charizard EX, M Blastoise EX Cards",
"lot_number": 1025,
"status": "Live",
"listing_type": "auction",
"auction_type": "Weekly",
"auction_id": "202609-1015-3559-5f668df8-4cdf-461d-be0e-aff832344e51",
"auction_title": "2026 TCG Weekly Auction Oct 21 - Nov 1",
"current_bid_usd": 1550,
"list_price_usd": null,
"sold_price_usd": null,
"buyer_premium_pct": 22,
"price_with_premium_usd": null,
"min_bid_usd": 10,
"reserve_usd": 0,
"bids": 29,
"start_date": "2026-10-21T21:00:00Z",
"end_date": "2026-11-02T03:00:00Z",
"sold_date": null,
"dates_are_placeholders": false,
"sold_price_in_lot_only": false,
"allow_offers": null,
"title_grader": null,
"title_grade": null,
"title_grade_label": null,
"image": "https://d2tt46f3mh26nl.cloudfront.net/public/Lots/202610-1311-5932-fc990353-fa9c-488c-a45f-3d4f1f6cc3b2/a551aaa5-235d-4b15-951e-cf9c91fc3ec5@3x"
},
{
"lot_id": "202610-1415-4435-2348b92e-719e-4c23-87c7-6b71d6b2b57a",
"slug": "2025-pokemon-scarlet-violet-151-factory-sealed-blooming-waters-premiumm3p0o",
"url": "https://goldin.co/item/2025-pokemon-scarlet-violet-151-factory-sealed-blooming-waters-premiumm3p0o",
"title": "2025 Pokemon Scarlet & Violet 151 Factory-Sealed Blooming Waters Premium Collection Case (6 Boxes) - Possible Charizard ex, Zapdos ex, Venusaur ex Special Illustration Rares",
"lot_number": 1079,
"status": "Live",
"listing_type": "auction",
"auction_type": "Weekly",
"auction_id": "202609-1015-3559-5f668df8-4cdf-461d-be0e-aff832344e51",
"auction_title": "2026 TCG Weekly Auction Oct 21 - Nov 1",
"current_bid_usd": 1109,
"list_price_usd": null,
"sold_price_usd": null,
"buyer_premium_pct": 22,
"price_with_premium_usd": null,
"min_bid_usd": 10,
"reserve_usd": 0,
"bids": 45,
"start_date": "2026-10-21T21:00:00Z",
"end_date": "2026-11-02T03:00:00Z",
"sold_date": null,
"dates_are_placeholders": false,
"sold_price_in_lot_only": false,
"allow_offers": null,
"title_grader": null,
"title_grade": null,
"title_grade_label": null,
"image": "https://d2tt46f3mh26nl.cloudfront.net/public/Lots/202610-1415-4435-2348b92e-719e-4c23-87c7-6b71d6b2b57a/85a22588-24f5-438c-a948-2b0684074ce8@3x"
},
{
"lot_id": "202610-1415-4433-f94afbe9-efd8-4366-b4c2-78441a075e26",
"slug": "2025-pokemon-scarlet-violet-151-factory-sealed-blooming-waters-premiumtmund",
"url": "https://goldin.co/item/2025-pokemon-scarlet-violet-151-factory-sealed-blooming-waters-premiumtmund",
"title": "2025 Pokemon Scarlet & Violet 151 Factory-Sealed Blooming Waters Premium Collection Case (6 Boxes) - Possible Charizard ex, Zapdos ex, Venusaur ex Special Illustration Rares",
"lot_number": 1455,
"status": "Live",
"listing_type": "auction",
"auction_type": "Weekly",
"auction_id": "202609-1015-3559-5f668df8-4cdf-461d-be0e-aff832344e51",
"auction_title": "2026 TCG Weekly Auction Oct 21 - Nov 1",
"current_bid_usd": 1107,
"list_price_usd": null,
"sold_price_usd": null,
"buyer_premium_pct": 22,
"price_with_premium_usd": null,
"min_bid_usd": 10,
"reserve_usd": 0,
"bids": 17,
"start_date": "2026-10-21T21:00:00Z",
"end_date": "2026-11-02T03:00:00Z",
"sold_date": null,
"dates_are_placeholders": false,
"sold_price_in_lot_only": false,
"allow_offers": null,
"title_grader": null,
"title_grade": null,
"title_grade_label": null,
"image": "https://d2tt46f3mh26nl.cloudfront.net/public/Lots/202610-1415-4433-f94afbe9-efd8-4366-b4c2-78441a075e26/eb8df43c-918f-40db-9e6c-0aafd9eb53fd@3x"
}
]
}
}What the Goldin API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Goldin's live lots: running and upcoming auction lots and fixed-price listings. Each row has the current bid, bid count, minimum bid, end time, lot number, auction, buyer's premium, grade (from the title) and the main image. Filter by category, sub-category (Pokemon, One Piece, Basketball …), item type, grading company, auction, sale format, price and year; sort by price, bids, end date, lot number or views. | Pricing teams call search to search Goldin's live lots. | query, category, sub_category, item_type, certification, ... |
| sold | Search Goldin's past results: sold auction lots and sold fixed-price listings with the hammer price, buyer's premium %, bid count and sale date — the price-research archive (Goldin's index holds about 839,000 sold lots back to its first auction, November 2012). Same filters and sorts as search. | Marketplace operators call sold to search Goldin's past results. | query, category, sub_category, item_type, certification, ... |
| lot | One lot in full by lot_id, slug, goldin.co URL or Goldin serial number: title, description, status, current bid or hammer price, buyer's premium, minimum bid, reserve, bids, views, start / end / last bid time, auction, category, grading company, grade, cert number, year, set, subject, every image and video, previous / next lot, and the public bid history (amount and time of every bid; bidders are not published). | Catalog enrichment teams call lot to get one lot in full by lot_id, slug, goldin.co URL or Goldin serial number. | lot_id, include_bids |
| auctions | Goldin's auction calendar: running and upcoming auctions, or every finished auction back to 2012, with dates, type, buyer's premium and the auction_id to pass to search / sold. | Retail analysts call auctions to get goldin's auction calendar. | status, auction_type, query, limit |
Call search from your stack
curl -X POST https://api.reefapi.com/goldin/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"charizard","sub_category":"Pokemon"}'import requests
r = requests.post(
"https://api.reefapi.com/goldin/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "charizard",
"sub_category": "Pokemon"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/goldin/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "charizard",
"sub_category": "Pokemon"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.goldin.search with {"query":"charizard","sub_category":"Pokemon"}.Who uses this API and why
- Price research: sold with a card name, sub_category and sort=price_desc gives every Goldin sale with hammer price and date.
- Track a live auction: search with an auction_id returns current bids, bid counts and end times of every lot.
- Watch Pokémon and TCG lots: search with sub_category=Pokemon and sort=ending_soonest for what closes next.
- Check one lot before bidding: lot gives the description, images, cert number and the full bid history.
- Build a sales dataset: sold filtered by grading company, item type, price and year, 100 rows per page.
Questions developers ask before integrating
Is the sold price the hammer price or the price with buyer's premium?
sold_price_usd is the hammer price, the winning bid; it equals the top of the lot's own bid history. The buyer's premium percent of the lot is in buyer_premium_pct (20 % on older lots, 22 % on most current ones), and price_with_premium_usd adds it for you.
How far back do the sold results go?
Goldin's index holds about 839,000 sold lots; the oldest sales are from its first auction, which ended on 18 November 2012. More than 55,000 are in the Pokemon sub-category and about 6,800 match 'charizard'. One search can page through its first 20,000 results; narrow larger searches with sub_category, auction_id, price or year.
Can I find Pokémon and other TCG auctions specifically?
Yes. sub_category=Pokemon (or One Piece, Yu-Gi-Oh!, Magic The Gathering, Dragon Ball …) limits search and sold to that game; item_type separates Single Cards from Cases/Boxes/Packs and Sets and Collections; certification limits to PSA, Beckett, CGC, SGC or Ungraded. On 2026-10-31, 1,056 Pokémon lots were live.
Does it return the bid history?
Yes, for auction lots: lot returns every bid with its amount and time, newest first, and a summary with the count, the high bid and the first and last bid time. Goldin does not publish who placed the bids.
Does Goldin publish estimates?
No. Goldin publishes no pre-sale estimate for its lots, so the API returns none. It returns the opening bid (min_bid_usd), the current bid and, for sold lots, the hammer price.
Where do the grade and cert number come from?
lot returns Goldin's own grading_company, grade and cert_number fields when the lot has them. Search and sold rows carry title_grader and title_grade, read from the end of the lot title (for example '… - PSA MINT 9'); a title without a grader leaves them empty.
Why does a sold row have no price?
A small group of sales shows no price in Goldin's search (they come from its 'eBay Live Inventory' listing). Those rows carry sold_price_in_lot_only = true; lot returns their sale price. Some sold lots also carry placeholder dates (years such as 1935, 2050 or 2235); the API returns those dates empty and sets dates_are_placeholders.
How do I get every lot of one auction?
Call auctions (status active, completed or all), take the auction_id, and pass it to search for a running auction or to sold for a finished one. sold with sort=lot_number then lists the auction in catalogue order.
What is the Goldin API?
Goldin API is a ReefAPI endpoint group for goldin auction data as json: live lots with current bid, bids and end time, the sold-results archive with hammer prices and sale dates, every lot's images, cert and bid history, and the auction calendar. It returns live JSON through POST requests under /goldin/v1.
Is the Goldin API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Goldin calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Goldin login or account?
No login to Goldin is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Goldin data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Goldin API use?
Goldin actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Goldin from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call goldin actions with the same key, credit pool and JSON envelope used by normal REST requests.