# Fanatics Collect Scraper: Auction Prices, Sold Comps & Sellers (`getascraper/fanaticscollect-scraper`) Actor

Scrape Fanatics Collect (FanaticsCollect) weekly, premier and Buy Now listings: bids, sold prices, PSA/BGS/CGC grades, cert numbers, seller IDs, bid and watch counts. Search many keywords or paste lot links, and get new-listing and price-drop alerts. No login needed.

- **URL**: https://apify.com/getascraper/fanaticscollect-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Sports, E-commerce, Automation
- **Features:** Limited permissions
- **Stats:** 7 total users, 1 monthly users, 97.4% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.85 / 1,000 listing records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🏒 Fanatics Collect Scraper: Auction Prices, Sold Comps & Sellers

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;margin-bottom:0">
<tr>
<td colspan="4" style="padding:14px 18px;background:#EAF0FB;border:none;border-top:3px solid #0033A0;border-left:1px solid #C3D2F0;border-right:1px solid #C3D2F0;color:#1C1917;border-radius:10px 10px 0 0">
<span style="font-size:16px;font-weight:700;color:#1C1917">Fanatics Collect is one source. This suite covers four.</span> <span style="font-size:15px;color:#57534E">Cross-reference certified seller listings against Goldin's sold archive, MySlabs peer-to-peer slabs, and GoCollect's population census.</span>
</td>
</tr>
<tr>
<td colspan="4" style="padding:10px 14px;background:#0033A0;border:none;border-left:1px solid #C3D2F0;border-right:1px solid #C3D2F0;color:#FFFFFF">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">GRADED TRADING-CARD &amp; SPORTS-COLLECTIBLE AUCTION DATA</span>
<span style="color:#FFFFFF;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Cross-source pricing, population, and auction data for graded cards</span>
</td>
</tr>
<tr>
<td style="padding:10px 12px;border:none;border-left:1px solid #C3D2F0;border-bottom:1px solid #C3D2F0;vertical-align:top;width:25.0%;background:#EAF0FB;color:#1C1917">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-QOAEPBxX2HDBDhgef-SksCi2T4B2-images_%2838%29.jpeg" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/fanaticscollect-scraper" style="color:#0033A0;text-decoration:none;font-weight:700;font-size:13px">Fanatics Collect</a></span><br>
<span style="color:#0033A0;font-size:11px;font-weight:700">&#10148; You are here</span>
</td>
<td style="padding:10px 12px;border:none;border-left:1px solid #C3D2F0;border-bottom:1px solid #C3D2F0;vertical-align:top;width:25.0%;background:#FFFFFF;color:#1C1917">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-lRtfGL99F2efhBgnj-FmqdMv0Sal-ChatGPT_Image_Sep_6__2026__09_44_04_AM.png" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/goldin-auctions-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Goldin Auctions</a></span><br>
<span style="color:#57534E;font-size:11px">800K+ sold comps archive</span>
</td>
<td style="padding:10px 12px;border:none;border-left:1px solid #C3D2F0;border-bottom:1px solid #C3D2F0;vertical-align:top;width:25.0%;background:#FFFFFF;color:#1C1917">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-BqYTE2ws5K9MUMeHG-vAN90SQjuv-images_%2830%29.jpeg" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/myslabs-graded-cards-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">MySlabs</a></span><br>
<span style="color:#57534E;font-size:11px">Peer-to-peer slab listings &amp; comps</span>
</td>
<td style="padding:10px 12px;border:none;border-left:1px solid #C3D2F0;border-right:1px solid #C3D2F0;border-bottom:1px solid #C3D2F0;vertical-align:top;width:25.0%;background:#FFFFFF;color:#1C1917">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-F7tcXhLLqUnyU9kz1-E2yx4NpQwc-FjawCyVq_400x400.jpg" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/gocollect-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">GoCollect</a></span><br>
<span style="color:#57534E;font-size:11px">CGC/PSA/BGS population census</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0;margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#EAF0FB;border:1px solid #C3D2F0;border-top:none;color:#1C1917">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">See who's actually selling the card, not just what it costs</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Scrape Fanatics Collect's Weekly Auction, Premier Auction, and Buy Now marketplaces with the seller or consignor on every listing, a keyword watchlist in one run, and alerts when a price drops or bids climb.</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C3D2F0;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 0 10px">
<span style="font-size:15px;font-weight:800;color:#0033A0">🏷️ Seller identity on every listing</span><br>
<span style="font-size:12px;color:#57534E">See the certified seller, consignor, and shop behind a card, not just its price and grade.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C3D2F0;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#0033A0">🔔 Price-drop & new-listing alerts</span><br>
<span style="font-size:12px;color:#57534E">Turn on Monitor Mode and get only what changed since the last run: new listings, price drops, rising bid counts.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C3D2F0;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#0033A0">🗂️ Many keywords, one run</span><br>
<span style="font-size:12px;color:#57534E">Search a watchlist of players or sets across all three marketplaces, or paste lot links to pull exact listings.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C3D2F0;border-left:none;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 10px 0">
<span style="font-size:15px;font-weight:800;color:#0033A0">💰 Sold prices & guide value</span><br>
<span style="font-size:12px;color:#57534E">Pull realized sale history and Card Ladder guide-price comparisons to spot a genuine deal.</span>
</td>
</tr>
</table>

Point this scraper at Fanatics Collect (the PWCC successor, owned by Fanatics) and pull structured listing data across its Weekly Auction, Premier Auction, and Buy Now marketplaces. No login required.

### 🔍 What does this actor do?

Fanatics Collect is one of the largest sports and trading card auction and marketplace platforms, home to the former PWCC lot volume plus Fanatics's own Buy Now storefronts. This scraper pulls structured listing data so you can track prices, grading, and sellers at scale, instead of clicking through lot pages by hand.

Search by one or more keywords, paste specific lot links, or browse by marketplace, category, sub-category, grading service, grade range, and price range. Every result carries the seller or consignor identifiers behind the listing, plus bid counts, watch counts, the price the buyer paid including the buyer's premium on sold lots, and the grading certification number. Turn on Monitor Mode to get a running feed of what changed, on a schedule, instead of re-downloading the same listings every time.

### 💡 Who uses this?

- **I am a card dealer building relationships with consignors.** I need to know who is actually listing premium cards so I can find sellers who consistently carry what I buy, not just chase whichever price looks lowest today.
- **I am a collector hunting one specific card.** I don't want to refresh the site all day. I want to know the moment a PSA 10 of my card gets listed or marked down.
- **I am building my own price-comp or market-intelligence tool.** I need consistent, structured sold-price and guide-price data across every Fanatics Collect marketplace to feed my own pricing models.
- **I am an arbitrage buyer.** I want to catch a price drop or a fresh listing the second it happens, not the next time I happen to check the site.

### 🚀 How to use

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:16px 14px;width:33%;background:#EAF0FB;border:1px solid #C3D2F0;border-radius:10px 0 0 10px;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#0033A0;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick your search</span><br>
<span style="font-size:12px;color:#57534E">Keyword, marketplace, category, grading service, grade, and price range.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EAF0FB;border:1px solid #C3D2F0;border-left:none;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#0033A0;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Get seller-level data</span><br>
<span style="font-size:12px;color:#57534E">Every listing lands with its certified seller or consignor identity attached.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EAF0FB;border:1px solid #C3D2F0;border-left:none;border-radius:0 10px 10px 0;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#0033A0;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Track what changes</span><br>
<span style="font-size:12px;color:#57534E">Turn on Monitor Mode to see only new listings, price drops, and bid increases on repeat runs.</span>
</td>
</tr>
</table>

### 📥 Input

| Field | Type | Required | Description |
|---|---|---|---|
| `lotUrls` | array of string | No | Paste specific Fanatics Collect lot or Buy Now links to get exactly those listings, live or sold. When set, the search and filters are ignored. |
| `keyword` | string | No | Free-text search across title, player/brand, and card set. Leave blank to browse everything in your selected marketplaces and categories. |
| `searchQueries` | array of string | No | Extra keywords searched in the same run. Results are merged and a listing that matches several keywords is returned once. |
| `marketplaceTypes` | array of enum | No | Which marketplaces to include: Weekly Auction, Premier Auction, Buy Now. All three by default. |
| `status` | enum | No | Restrict to `live` listings, `sold` listings, or `any`. Default: `any`. |
| `categories` | array of enum | No | Limit to one or more categories (Baseball, Basketball, Football, Hockey, Pokémon, Comics, and more). Empty means every category. |
| `subcategories` | array of enum | No | Finer sub-categories such as Soccer, One Piece, Magic The Gathering, wax boxes, or Nintendo games. Works together with Categories. |
| `gradingServices` | array of enum | No | Limit to cards certified by specific graders (PSA, BGS, CGC, SGC, CBCS, and more). Empty includes every grader, including raw cards. |
| `minGrade` | integer | No | Only include cards graded at or above this number. |
| `maxGrade` | integer | No | Only include cards graded at or below this number. |
| `minPrice` | number | No | Only include listings priced at or above this amount in USD. |
| `maxPrice` | number | No | Only include listings priced at or below this amount in USD. |
| `includeSalesHistory` | boolean | No | Fetch each listing's own past realized sale(s). Off by default to keep runs fast; turn on when you need historical sold comps. |
| `maxItems` | integer | No | Maximum listings to return. Default: 15, kept low so a default run finishes in minutes. Fanatics Collect returns at most 1,000 listings per search. |
| `monitorMode` | enum | No | `off` returns a plain snapshot. `changes` compares this run against the last run with the same filters and adds a change type to every emitted row. |
| `monitorStateName` | string | No | Optional label so you can run this actor on a schedule with several different filter combinations, each tracked as its own independent change history. |
| `proxyConfiguration` | proxy | No | Keep the datacenter default; it reaches Fanatics Collect's listing data without issue and costs far less than residential. |

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `listingId` | string | Fanatics Collect's own listing identifier. |
| `marketplace` | string | null | `WEEKLY`, `PREMIER`, or `FIXED` (Buy Now). |
| `status` | string | null | `Live` or `Sold`. |
| `certifiedSeller` | string | null | The certified seller or house behind the listing, when published. |
| `sellerId` | string | null | The underlying seller account identifier. |
| `sellerTenantId` | string | null | The seller's tenant identifier, when the listing belongs to a distinct storefront. |
| `shopId` | string | null | The consignor shop identifier, when the listing is part of a named shop. |
| `title` | string | null | Listing title. |
| `brand` | string | null | Card brand/manufacturer, when published. |
| `category` | string | null | Top-level category, for example Baseball. |
| `categoryParent` | string | null | Broader grouping above `category`, when published. |
| `cardNumber` | string | null | Card number within its set. |
| `year` | integer | null | Card year. |
| `serial` | string | null | Grading certification (cert) number. |
| `grade` | number | null | Numeric grade. |
| `gradingService` | string | null | Grading company, for example PSA. |
| `teams` | array of string | null | Team tags associated with the card. |
| `currentBid` | number | null | Current bid, on auction-type listings. |
| `startingBid` | number | null | Opening bid, on auction-type listings. |
| `currentPrice` | number | null | Current price. |
| `askingPrice` | number | null | Buy Now asking price. |
| `previousAskingPrice` | number | null | Prior asking price, present only on listings currently marked down. |
| `purchasePrice` | number | null | What the buyer paid including the buyer's premium, on sold auction lots. |
| `buyersPremiumPercent` | number | null | The buyer's premium rate Fanatics Collect adds on auction lots, as a percent. |
| `allInPrice` | number | null | The true all-in cost on an auction lot: the current or winning bid plus the buyer's premium. |
| `guidePriceValue` | number | null | Card Ladder guide price. |
| `guidePriceRatio` | number | null | Ratio of listing price to guide price. |
| `guidePriceConfidence` | number | null | Confidence score behind the guide price. |
| `bestValueRatio` | number | null | Value ratio Fanatics Collect itself computes for the listing. |
| `currency` | string | null | Currency code. |
| `bidCount` | number | null | Number of bids placed, on auction-type listings. |
| `favoritedCount` | number | null | Number of users watching or favoriting the listing, Fanatics Collect's own watch-list count. |
| `allowOffers` | boolean | null | Whether the seller accepts offers. |
| `hasOffers` | boolean | null | Whether the listing currently has open offers. |
| `fanaticsAuthentic` | boolean | null | Whether the listing carries Fanatics Authentic certification. |
| `flash` | boolean | null | Whether the listing is flagged as a flash deal. |
| `greatPrice` | boolean | null | Whether Fanatics Collect flags the listing as a great price. |
| `auctionName` | string | null | Name of the auction event, on auction-type listings. |
| `auctionId` | string | null | Identifier of the auction event, to group lots from the same sale. |
| `subCategories` | array of string | null | Sub-category path, for example Sports Cards > Baseball. |
| `eyeAppealGrade` | string | null | Fanatics Collect's Eye Appeal tier, when the lot has one. |
| `lotNumber` | string | null | Lot number within the auction. |
| `imageUrl` | string | null | Listing image URL. |
| `secondaryImageUrl` | string | null | Second listing image URL, when published. |
| `url` | string | null | Direct link to the listing. |
| `listedAt` | string | null | When the listing went live. |
| `createdAt` | string | null | When the listing record was created. |
| `updatedAt` | string | null | When the listing was last updated. |
| `soldDate` | string | null | Sale date, on sold listings. |
| `auctionStartDatetime` | string | null | Auction open time, on auction-type listings. |
| `auctionEndDatetime` | string | null | Auction close time, on auction-type listings. |
| `salesHistory` | array | absent | Only present with `includeSalesHistory` on: each past sale's date, price, and currency. |
| `changeType` | string | absent | Only present in Monitor Mode: `NEW_LISTING`, `PRICE_DROP`, or `BID_COUNT_INCREASE`. |
| `changedFields` | array of string | absent | Only present in Monitor Mode: which fields drove the change. |
| `firstSeenAt` | string | absent | Only present in Monitor Mode: when this listing was first seen. |
| `lastSeenAt` | string | absent | Only present in Monitor Mode: when this listing was last seen. |

You can download the dataset in JSON, HTML, CSV, or Excel from the Output tab of any run.

### 📤 Sample output

```json
{
    "listingId": "987654",
    "marketplace": "FIXED",
    "status": "Live",
    "certifiedSeller": "Fanatics Collect",
    "sellerId": "seller-789",
    "shopId": "shop-fc-1",
    "title": "2023 Topps Chrome Update Shohei Ohtani",
    "category": "Baseball",
    "gradingService": "PSA",
    "grade": 10,
    "serial": "115486982",
    "askingPrice": 450,
    "previousAskingPrice": 525,
    "currency": "USD",
    "favoritedCount": 12,
    "guidePriceValue": 480,
    "guidePriceRatio": 0.94,
    "imageUrl": "https://img.fanaticscollect.com/large.jpg",
    "url": "https://www.fanaticscollect.com/buy-now/a1b2c3d4/2023-topps-chrome-update-ohtani",
    "listedAt": "2026-08-30T12:00:00.000Z"
}
```

### 💰 Pricing

Pricing is pay per result. You are charged only for listings successfully written to your dataset, so empty runs cost nothing. There are no monthly subscriptions or minimum commitments.

Free plan runs are limited in items per run, runs per day, and a short wait between runs. A run that hits these limits ends with a clear message and no results instead of an error, and a run that returns nothing does not use up your daily allowance. These limits do not apply to paid plans.

### ⭐ Enjoying Fanatics Collect Scraper?

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:20px 24px 14px;background:#EAF0FB;border:1px solid #C3D2F0;border-left:5px solid #0033A0;border-radius:10px 10px 0 0;color:#1C1917">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">One run just told you who's actually selling that card, not just what it costs.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other collectors and dealers find this actor. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#0033A0;border:1px solid #0033A0;border-left:5px solid #0033A0;border-top:none;border-radius:0 0 10px 10px;text-align:center;color:#FFFFFF">
<a href="https://apify.com/getascraper/fanaticscollect-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ✨ Tips

- **Run a watchlist in one go.** Put your top player in Search Keyword and the rest in More Keywords. One run, one deduplicated list.
- **Pull exact lots.** Paste lot links into Lot Links to refresh the price and bids on cards you already track.
- **Filter by seller, not just price.** Sort or scan `certifiedSeller` to find consignors who consistently list what you're looking for.
- **Watch for markdowns.** `previousAskingPrice` only appears on listings currently discounted, use it to spot a genuine price drop rather than guessing from `askingPrice` alone.
- **Build a sold-comp sheet.** Turn on `includeSalesHistory` and filter `status` to `sold` to pull realized prices for comps.
- **Get alerted, not just logged.** Set `monitorMode` to `changes`, give it a `monitorStateName`, and schedule the run. Each run after the first reports only what moved.
- **Run separate watchlists.** Use a different `monitorStateName` for each distinct search you want tracked independently, for example one per player or one per grading service.

### ❓ FAQ

##### Does this actor show who is selling a card?

Yes. Every listing includes the certified seller, consignor, or shop identifier when Fanatics Collect publishes one, so you can group listings by who is selling them.

##### How does Monitor Mode work?

Set `monitorMode` to `changes` and run this actor on a schedule. Each run compares against the last run with the same filters and `monitorStateName`, and adds a `changeType` of `NEW_LISTING`, `PRICE_DROP`, or `BID_COUNT_INCREASE` to every listing that changed. Unchanged listings are counted but not re-emitted.

##### Does this include full bid-by-bid history?

No. This actor tracks bid count velocity between scheduled runs, which tells you when an auction is heating up. A complete bid-by-bid timeline would require a separate, long-running process across a multi-day auction and isn't part of this actor.

##### How fresh is the data?

Every run fetches live data directly from Fanatics Collect. Results reflect prices, grading, and seller information shown on the site at the moment the run executes.

##### Is scraping Fanatics Collect legal?

This actor reads publicly available listing pages, the same pages any visitor can view without logging in. You are responsible for complying with Fanatics Collect's terms of service and applicable laws. For questions or custom fields, contact the author at <devanshtiwari365@gmail.com>.

### 🔗 Other actors

- [MySlabs Graded Card Scraper: PSA/BGS/CGC Sold Comps & Listings](https://apify.com/getascraper/myslabs-graded-cards-scraper) ↗ - graded slab listings and sold comps from MySlabs, the peer-to-peer graded-card marketplace.
- [Goldin Auctions Scraper: Sports Cards, Sold Comps & Bid Alerts](https://apify.com/getascraper/goldin-auctions-scraper) ↗ - live lots and a large historical sold-price archive from Goldin Auctions.
- [GoCollect Scraper: CGC/CBCS/PSA/BGS Census, Sold Prices & More](https://apify.com/getascraper/gocollect-scraper) ↗ - graded population census and sold price ranges for comparing against sold comps.
- [LigaPokemon Scraper: Pokémon Card Prices in BRL, Decks & Drops](https://apify.com/getascraper/ligapokemon-scraper) ↗ - Pokémon TCG card prices in Brazilian real, for cross-currency comparison.
- [Courtyard.io Vault Marketplace Scraper: Cards, Coins & Watches](https://apify.com/getascraper/courtyard-io-scraper) ↗ - tokenized graded card listings from Courtyard.io, a blockchain-backed alternative marketplace.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/fanaticscollect-scraper/changelog.md

# Actor input Schema

## `lotUrls` (type: `array`):

Paste specific Fanatics Collect lot or Buy Now links to get exactly those listings (any marketplace, live or sold). When you add links, the keyword, filters and marketplace choices below are ignored. Leave empty to run a search instead.

## `keyword` (type: `string`):

Free-text search across title, player/brand, and card set (for example a player name like "Ohtani" or a set name like "Prizm"). Leave blank to browse every listing in the selected marketplaces and categories instead of searching.

## `searchQueries` (type: `array`):

Optional extra keywords searched in the same run, one after another. Results are merged and a listing that matches several keywords is returned once. Handy for a watchlist of players or sets.

## `marketplaceTypes` (type: `array`):

Which Fanatics Collect marketplaces to search: the rotating Weekly Auction, the higher-end Premier Auction, or the fixed-price Buy Now marketplace. All three are selected by default.

## `status` (type: `string`):

Restrict results to listings still open for bidding or purchase (Live), listings that already sold (Sold, useful for building a realized sold-price comp sheet), or both (Any).

## `categories` (type: `array`):

Limit results to one or more categories, matching the exact filter checkboxes on FanaticsCollect's own site. Leave empty to include every category.

## `subcategories` (type: `array`):

Narrow results to finer sub-categories such as Soccer, One Piece, Magic The Gathering, wax boxes or Nintendo games. Works together with Categories. Leave empty to include every sub-category.

## `gradingServices` (type: `array`):

Limit results to cards certified by one or more of these grading companies, matching the exact filter checkboxes on FanaticsCollect's own site. Leave empty to include every grader, including raw (ungraded) cards.

## `minGrade` (type: `number`):

Only include cards graded at or above this number (for example 9 to see only near-mint-or-better cards). Leave blank for no lower bound.

## `maxGrade` (type: `number`):

Only include cards graded at or below this number. Leave blank for no upper bound.

## `minPrice` (type: `number`):

Only include listings whose current bid, asking price, or sold price (depending on the Listing Status you chose above) is at or above this amount in US dollars. Leave blank for no lower bound.

## `maxPrice` (type: `number`):

Only include listings priced at or below this amount in US dollars. Leave blank for no upper bound.

## `includeSalesHistory` (type: `boolean`):

For each result, fetch its past realized sale(s) (date and sold price) with one extra API call per listing. Off by default to keep the default run fast and cheap; turn on when you specifically need historical sold comps rather than just current listings.

## `maxItems` (type: `integer`):

Maximum number of listings to return in this run. Kept small by default so the run finishes in well under 5 minutes; raise it for a bigger pull. Fanatics Collect returns at most 1,000 listings per search.

## `monitorMode` (type: `string`):

Off just returns a snapshot of matching listings. "Track changes" instead compares this run against the last run with the same search settings (saved automatically between runs) and adds a changeType field to every returned row: NEW_LISTING for a listing not seen before, PRICE_DROP when the asking price has fallen since the last run, and BID_COUNT_INCREASE when an auction lot has picked up new bids. Pair this with an Apify Schedule (for example every 6 or 24 hours) to get a running feed of what changed instead of the same listings every time.

## `monitorStateName` (type: `string`):

Only used when Monitor Mode is set to "Track changes". An optional label so you can run this Actor on a schedule with several different filter combinations (for example "psa10-pokemon" and "raw-baseball") and have each one tracked as its own independent change history, instead of one filter's runs overwriting another's saved state.

## `proxyConfiguration` (type: `object`):

The default Apify datacenter proxy is enough for Fanatics Collect. Residential proxies are not needed.

## Actor input object example

```json
{
  "keyword": "",
  "searchQueries": [],
  "marketplaceTypes": [
    "WEEKLY",
    "PREMIER",
    "FIXED"
  ],
  "status": "any",
  "categories": [],
  "subcategories": [],
  "gradingServices": [],
  "includeSalesHistory": false,
  "maxItems": 15,
  "monitorMode": "off",
  "monitorStateName": "",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "",
    "searchQueries": [],
    "marketplaceTypes": [
        "WEEKLY",
        "PREMIER",
        "FIXED"
    ],
    "status": "any",
    "categories": [],
    "subcategories": [],
    "gradingServices": [],
    "includeSalesHistory": false,
    "maxItems": 15,
    "monitorMode": "off",
    "monitorStateName": "",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/fanaticscollect-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "",
    "searchQueries": [],
    "marketplaceTypes": [
        "WEEKLY",
        "PREMIER",
        "FIXED",
    ],
    "status": "any",
    "categories": [],
    "subcategories": [],
    "gradingServices": [],
    "includeSalesHistory": False,
    "maxItems": 15,
    "monitorMode": "off",
    "monitorStateName": "",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/fanaticscollect-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "",
  "searchQueries": [],
  "marketplaceTypes": [
    "WEEKLY",
    "PREMIER",
    "FIXED"
  ],
  "status": "any",
  "categories": [],
  "subcategories": [],
  "gradingServices": [],
  "includeSalesHistory": false,
  "maxItems": 15,
  "monitorMode": "off",
  "monitorStateName": "",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/fanaticscollect-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/fanaticscollect-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/QOAEPBxX2HDBDhgef/builds/MXNqaJOIzYwmcBeQY/openapi.json
