Fanatics Collect API & Scraper
The Fanatics Collect API turns fanaticscollect.com, the marketplace formerly known as PWCC, 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 lots and listings across Weekly auctions, Premier auctions and Buy Now — open now or sold since 2022 — by keyword, category (Pokémon English, Japanese and other languages, One Piece, Magic, Yu-Gi-Oh!, basketball, baseball, football, soccer, hockey, sealed wax and more), grading company, grade, card year, price and auction. Each row carries the current bid and bid count or the Buy Now price, the auction's end time, and for sold lots the price the buyer paid including the 20 % buyer's premium next to the hammer price, plus grade, grader, cert number, estimated value, images and the link. item returns one listing in full: lot, auction and timer, bids, sold price and date, grade, cert and graded population, card year, set, subject and number, Fanatics' estimated value, the Card Ladder estimate, the recent sales of the same card in the same grade, description and every image. sales_history reads the site's public sales archive — about 5.5 million sales back to March 2012, including the PWCC Monthly and Flash auctions — filtered by title words, kind of sale, category, grader, eye appeal, year and price. auctions lists the current, upcoming and last closed auction events. Prices are in US dollars. One ReefAPI key, the standard { ok, data, meta, error } envelope, no Fanatics account.
Which Fanatics Collect price is which
A lot carries several prices; they answer different questions. Field names as the API returns them, measured 2026-10-31.
| field | what it is | example |
|---|---|---|
| price_usd | The price the site shows and sorts by: current bid (opening bid while there are no bids), Buy Now asking price, or hammer price once sold | 4,900.00 on a live Weekly lot with 32 bids |
| current_bid_usd / bid_count | The high bid on a live auction lot and how many bids it has | 4,900.00 / 32 |
| sold_price_usd | What the buyer paid: hammer price plus the 20 % buyer's premium on auctions | 34.80 for a 29.00 hammer |
| hammer_price_usd | The winning bid without the premium | 29.00 |
| sold_price_is_computed | true when the source keeps no sale record for the lot and the price is hammer × 1.20 — the number the lot's own page shows | 1,770.00 for a 1,475.00 hammer |
| buy_now_price_usd / last_asking_price_usd | Asking price of a live / sold Buy Now listing | 900.00 |
| estimated_value_usd | Fanatics' own estimated market value of the item | 930.00 |
On a sold Buy Now listing that accepted offers, the buyer may have paid less than the asking price (6 of 20 sales checked), so search leaves sold_price_usd empty there and item and sales_history give the price actually paid.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/fanaticscollect/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "charizard",
"category": "pokemon"
}
}{
"ok": true,
"meta": {
"api": "fanaticscollect",
"endpoint": "search",
"mode": "live",
"latency_ms": 460.5,
"record_count": 24,
"bytes": 90997,
"cache_hit": false,
"total": 7439,
"total_is_estimate": true,
"total_reachable": 2399,
"page": 1,
"limit": 24,
"has_more": true,
"filters_applied": {
"query": "charizard",
"status": "live",
"category": "pokemon",
"sort": "relevance"
},
"dropped_rows": 0,
"upstream_requests": 1,
"warnings": [],
"currency": "USD",
"charged_credits": 2,
"version": "1.0.0",
"request_id": "ff04897f74044434",
"fetched_at": "2026-10-31T00:09:15.685Z"
},
"data": {
"rows": [
{
"listing_id": "ee35da70-ce51-11f1-ac06-0afffb541911",
"integer_id": 6769348,
"object_id": "WEEKLY6769348",
"type": "weekly",
"status": "live",
"title": "2006 Pokemon EX Crystal Guardians Reverse Holo Charizard #4 CGC 10 GEM MINT",
"subtitle": null,
"lot": "WA250 Lot: 18559F2",
"auction_id": "36c51e0a-3e32-11f1-bb5e-0a58a9feac02",
"auction_name": "Weekly Sunday Auction #250",
"price_usd": 1000,
"current_bid_usd": 1000,
"buy_now_price_usd": null,
"last_asking_price_usd": null,
"starting_bid_usd": 5,
"bid_count": 16,
"sold_price_usd": null,
"sold_price_is_computed": null,
"hammer_price_usd": null,
"sold_at": null,
"starts_at": "2026-10-23T02:00:00Z",
"ends_at": "2026-11-02T03:00:00Z",
"estimated_value_usd": 15000,
"allow_offers": null,
"has_offers": null,
"great_price": false,
"fanatics_authentic": false,
"flash": true,
"eye_appeal": null,
"favorited_count": 44,
"grader": "CGC",
"grade": 10,
"cert": "6253026015",
"year": 2006,
"card_number": "4",
"subject": "Charizard δ",
"category": "Pokémon",
"category_group": "Trading Card Games",
"subcategory": "Trading Card Games > Pokémon (English)",
"teams": null,
"certified_seller": null,
"seller_id": "f2b0040a-561d-11ed-8bf6-0a64dc3196dd",
"ships_internationally": null,
"listed_at": "2026-10-23T02:00:00Z",
"created_at": "2026-10-22T19:51:10Z",
"updated_at": "2026-10-31T00:06:06Z",
"image": "https://dilxwvfkfup17.cloudfront.net/eyJpdiI6IjF5TUtzdzlzWkRBRjJmb1U3YVVvTlE9PSIsInZhbHVlIjoiSzY3dW5yMmszYUlDTXhVNEx5dkdxRzZxdHhuWGVlK1ZNaWFIVUpHTmxYSVZXblhBL0xjbnVJeXQwU3l0WTRBK0s2M0g3RDYvMW9GWWdqS0RVTGtnZWc9PSIsIm1hYyI6IjAwYWFmOWE2MzVmM2E5ZTNjYjMyZWMxNWExOGE4MGE2MWEzODE0NTIxZWE3MWRiOTBlZjk0Y2RhYTMzYTYxYmEiLCJ0YWciOiIifQ==",
"images": [
{
"large": "[trimmed-depth]",
"medium": "[trimmed-depth]",
"small": "[trimmed-depth]",
"thumbnail": "[trimmed-depth]"
},
{
"large": "[trimmed-depth]",
"medium": "[trimmed-depth]",
"small": "[trimmed-depth]",
"thumbnail": "[trimmed-depth]"
}
],
"url": "https://www.fanaticscollect.com/weekly/ee35da70-ce51-11f1-ac06-0afffb541911"
},
{
"listing_id": "9f5ddc76-cdc6-11f1-aa58-0a58a9feac02",
"integer_id": 6765055,
"object_id": "WEEKLY6765055",
"type": "weekly",
"status": "live",
"title": "2006 Pokemon EX Crystal Guardians Reverse Holo Charizard #4 CGC 10 PRISTINE",
"subtitle": "CGC Population 1 of 5",
"lot": "WA250 Lot: 18560F1",
"auction_id": "36c51e0a-3e32-11f1-bb5e-0a58a9feac02",
"auction_name": "Weekly Sunday Auction #250",
"price_usd": 4900,
"current_bid_usd": 4900,
"buy_now_price_usd": null,
"last_asking_price_usd": null,
"starting_bid_usd": 5,
"bid_count": 32,
"sold_price_usd": null,
"sold_price_is_computed": null,
"hammer_price_usd": null,
"sold_at": null,
"starts_at": "2026-10-23T02:00:00Z",
"ends_at": "2026-11-02T03:00:00Z",
"estimated_value_usd": 50000,
"allow_offers": null,
"has_offers": null,
"great_price": false,
"fanatics_authentic": false,
"flash": true,
"eye_appeal": null,
"favorited_count": 85,
"grader": "CGC",
"grade": 10,
"cert": "4136721184",
"year": 2006,
"card_number": "4",
"subject": "Charizard δ",
"category": "Pokémon",
"category_group": "Trading Card Games",
"subcategory": "Trading Card Games > Pokémon (English)",
"teams": null,
"certified_seller": null,
"seller_id": "f25d26d6-561d-11ed-a759-0a64dc3196dd",
"ships_internationally": null,
"listed_at": "2026-10-23T02:00:00Z",
"created_at": "2026-10-22T03:13:58Z",
"updated_at": "2026-10-30T23:59:44Z",
"image": "https://dilxwvfkfup17.cloudfront.net/eyJpdiI6IkRpTVpmdFBEVjlvZ2c2OTQ4N0lZTkE9PSIsInZhbHVlIjoiYXJWQjlRZWwwMmVZU0pJaXQ0ZDBydUw2NlcwczVhekNqWmNBemVPcGp4dmQrVXExR2V5Mm9UcUdRc1hoUTJNajBNM1dJYUJqYWNvSFBGQlJ3M2V5Q2c9PSIsIm1hYyI6ImVjM2NjMmI1YTZiZGMyM2VhZDM0N2JmZGQ2MjE0ZTFiYjAxZWE3ZjZmYWMxMDgxZTc2NzI3NWY5YmVjMWM2NDUiLCJ0YWciOiIifQ==",
"images": [
{
"large": "[trimmed-depth]",
"medium": "[trimmed-depth]",
"small": "[trimmed-depth]",
"thumbnail": "[trimmed-depth]"
},
{
"large": "[trimmed-depth]",
"medium": "[trimmed-depth]",
"small": "[trimmed-depth]",
"thumbnail": "[trimmed-depth]"
}
],
"url": "https://www.fanaticscollect.com/weekly/9f5ddc76-cdc6-11f1-aa58-0a58a9feac02"
},
{
"listing_id": "37d7a6d0-cbb5-11f1-beea-0affcb444c7f",
"integer_id": 6743869,
"object_id": "WEEKLY6743869",
"type": "weekly",
"status": "live",
"title": "2003 Pokemon EX Dragon National Championships Holo Charizard #100 PSA 10 GEM MINT",
"subtitle": null,
"lot": "WA250 Lot: 17881",
"auction_id": "36c51e0a-3e32-11f1-bb5e-0a58a9feac02",
"auction_name": "Weekly Sunday Auction #250",
"price_usd": 2000,
"current_bid_usd": 2000,
"buy_now_price_usd": null,
"last_asking_price_usd": null,
"starting_bid_usd": 5,
"bid_count": 9,
"sold_price_usd": null,
"sold_price_is_computed": null,
"hammer_price_usd": null,
"sold_at": null,
"starts_at": "2026-10-23T02:00:00Z",
"ends_at": "2026-11-02T03:00:00Z",
"estimated_value_usd": 21000,
"allow_offers": null,
"has_offers": null,
"great_price": false,
"fanatics_authentic": false,
"flash": false,
"eye_appeal": null,
"favorited_count": 53,
"grader": "PSA",
"grade": 10,
"cert": "41776885",
"year": 2003,
"card_number": "100",
"subject": "Charizard-Holo",
"category": "Pokémon",
"category_group": "Trading Card Games",
"subcategory": "Trading Card Games > Pokémon (English)",
"teams": null,
"certified_seller": null,
"seller_id": "2ea58242-4a73-11ee-a343-0a58a9feac02",
"ships_internationally": null,
"listed_at": "2026-10-23T02:00:00Z",
"created_at": "2026-10-19T12:04:21Z",
"updated_at": "2026-10-30T23:37:32Z",
"image": "https://dilxwvfkfup17.cloudfront.net/eyJpdiI6ImdJRFZVcm94KzdabThnc3RQSnhGM0E9PSIsInZhbHVlIjoiNUliVEF6blRBZVp1VU5tOHdaaUQ3ejYyVUlTL0RWcW1SM3JVUHhsNTFXYmZrVHc4R0I5M2ZoaE96N0dpYnN2OWJSY1JqdS9HRXIzeUFjU2NiUXIzZmc9PSIsIm1hYyI6Ijk2Y2VjMjQyNTVhOGVlODFiNGU3NGQxOTNjMzBhNzllZWM2NzhlZDhmNTYxMDRmZGMzM2U1YTZlZTQzMzhjMTEiLCJ0YWciOiIifQ==",
"images": [
{
"large": "[trimmed-depth]",
"medium": "[trimmed-depth]",
"small": "[trimmed-depth]",
"thumbnail": "[trimmed-depth]"
},
{
"large": "[trimmed-depth]",
"medium": "[trimmed-depth]",
"small": "[trimmed-depth]",
"thumbnail": "[trimmed-depth]"
}
],
"url": "https://www.fanaticscollect.com/weekly/37d7a6d0-cbb5-11f1-beea-0affcb444c7f"
}
]
}
}What the Fanatics Collect API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Fanatics Collect lots and listings — live now (default) or sold since 2022 — across Weekly auctions, Premier auctions and Buy Now. Each row carries the current bid and bid count (or the Buy Now price), the auction's end time, or for sold lots the sold price with the buyer's premium and the hammer price, plus grader, grade, cert number, category, estimated value, images and the listing link. | Pricing teams call search to search Fanatics Collect lots and listings. | query, status, type, category, category_group, ... |
| item | One listing in full by its listing_id or URL: title, lot, the auction and its timer, current bid, starting price and bid count (auctions) or Buy Now price and offers, sold price and date, grader, grade, cert and graded population, card year / set / subject / number, Fanatics' estimated market value, the Card Ladder estimate, this listing's sales, the recent sales of the same card in the same grade, description and every image. | Marketplace operators call item to get one listing in full by its listing_id or URL. | listing_id, type |
| sales_history | Fanatics Collect's public sales archive (its 'Sales History' page): about 5.5 million sales since 2012, including the PWCC Monthly and Flash auctions — sold price and date, marketplace, category, grader, grade, eye appeal, year, cert and images. Filter by title words, kind of sale, category, grader, eye appeal, year and price; newest, oldest, highest or lowest first. | Catalog enrichment teams call sales_history to get fanatics Collect's public sales archive (its 'Sales History' page). | query, type, category, grader, eye_appeal, ... |
| auctions | The Weekly and Premier auction events the site lists now — the live ones, the upcoming one and the last closed ones — with start and end times, status and payout date. Pass a row's auction_id to `search` to list that auction's lots. | Retail analysts call auctions to get the Weekly and Premier auction events the site lists now. | none |
Call search from your stack
curl -X POST https://api.reefapi.com/fanaticscollect/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"charizard","category":"pokemon"}'import requests
r = requests.post(
"https://api.reefapi.com/fanaticscollect/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "charizard",
"category": "pokemon"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/fanaticscollect/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "charizard",
"category": "pokemon"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.fanaticscollect.search with {"query":"charizard","category":"pokemon"}.Who uses this API and why
- Price a Pokémon slab: search status=sold with the card's name and grade returns what it sold for on Fanatics, with and without the premium.
- Track a weekly auction: auctions gives the live event, search with its auction_id lists every lot with current bid and bid count.
- Build comps across marketplaces: next to eBay and Card Ladder data, sales_history adds Fanatics and PWCC sales back to 2012.
- Watch for deals: Buy Now listings sorted by price or filtered by grade and price, with Fanatics' estimated value on each row.
- Check one lot in full: item gives the cert, population, recent sales of the same card and grade, and every image.
Questions developers ask before integrating
Does the sold price include the buyer's premium?
Yes. sold_price_usd on auction lots is what the buyer paid, the hammer price plus Fanatics' 20 % buyer's premium — the figure the lot's own page shows. hammer_price_usd is the winning bid alone. The ratio was exactly 1.20 on all 436 sold lots checked. Buy Now sales have no premium.
How far back do sold prices go?
search with status=sold covers lots sold on Fanatics Collect since 2022. sales_history reads the site's sales archive, which goes back to March 2012 and includes the PWCC Monthly and Flash auctions: about 5.5 million sales.
Can I search Pokémon card auctions only?
Yes. category=pokemon covers English, Japanese and other-language Pokémon cards together; pokemon_english, pokemon_japanese and pokemon_other_languages narrow it. Add type=weekly or premier for auctions, buy_now for fixed-price listings, and grader, grade_min, year and price filters.
How do I see the lots of one auction?
auctions lists the current, upcoming and last closed Weekly and Premier auction events with their start and end times. Pass a row's auction_id to search to get that auction's lots.
What does item add to a search row?
The graded population, the grader's cert lookup link, card year, set, subject, number and parallel, the Card Ladder estimate, the sales of this listing, the ten most recent sales of the same card in the same grade on Fanatics Collect, the description and every image. It takes the listing_id of a search or sales_history row, or the listing's fanaticscollect.com link.
How many results can I page through?
search returns up to 50 rows per page and the first 2,399 results of a query; meta.total says how many matched and is an estimate on very large result sets. sales_history returns up to 50 rows per page and the first 999 sales of a query. Narrow with filters to reach the rest.
Is there bid history or seller information?
Fanatics Collect does not publish the bid history, reserve or watcher counts to logged-out visitors. Rows carry the bid count, and Buy Now listings the certified seller's name where the site shows one.
Why is sold_at empty on some sold lots?
The source has no sale timestamp for some whole auctions (for example 19 of 48 One Piece sold rows sampled). The lot still carries the auction's end time in ends_at and the sold price.
What is the Fanatics Collect API?
Fanatics Collect API is a ReefAPI endpoint group for fanatics collect (formerly pwcc) as json: live and sold weekly, premier and buy now lots with bids, end times and sold prices, full lot detail with grade, cert and population, and the public sales archive back to 2012. It returns live JSON through POST requests under /fanaticscollect/v1.
Is the Fanatics Collect API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Fanatics Collect calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Fanatics Collect login or account?
No login to Fanatics Collect 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 Fanatics Collect 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 Fanatics Collect API use?
Fanatics Collect actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Fanatics Collect from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call fanaticscollect actions with the same key, credit pool and JSON envelope used by normal REST requests.