# Whatnot Scraper: Listings, Shows, Sellers, Reviews & Monitoring (`getascraper/whatnot-scraper`) Actor

Scrape Whatnot listings, live auctions with current bids, live and upcoming shows, seller profiles with reviews, and daily seller leaderboards. Schedule it to get only new and changed items. No Whatnot account, cookie or API key needed. Pay per result, priced below other Whatnot scrapers.

- **URL**: https://apify.com/getascraper/whatnot-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Features:** Limited permissions
- **Stats:** 21 total users, 5 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.67 / 1,000 whatnot 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

## 🛍️ Whatnot Scraper: Listings, Shows, Sellers, Reviews & Monitoring

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#FDECEC;border:1px solid #FFD1D1;border-top:4px solid #FF3B3B;color:#1C1917;border-radius:10px 10px 0 0">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Whatnot listings, live shows and seller data in one run, and only what changed on every repeat</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Search listings and auctions, list live and upcoming shows, pull seller profiles with reviews, and read the daily seller leaderboard. No Whatnot account, cookie or API key.</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 #FFD1D1;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 0 10px">
<span style="font-size:15px;font-weight:800;color:#C41E1E">🔨 Listings and auctions</span><br>
<span style="font-size:12px;color:#57534E">Price, currency, buying format, current bid and bid count, with filters for category, price and rating.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFD1D1;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#C41E1E">🔴 Shows and schedules</span><br>
<span style="font-size:12px;color:#57534E">Live viewers, watchlist count, start time and minutes until an upcoming show starts.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFD1D1;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#C41E1E">👤 Seller depth</span><br>
<span style="font-size:12px;color:#57534E">Profile, followers, sales, ship time, reviews with shipping and packaging scores, shows and shop.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFD1D1;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:#C41E1E">🔔 Changes only</span><br>
<span style="font-size:12px;color:#57534E">Schedule the same run and get new items, price changes, bid changes, shows going live and rank moves.</span>
</td>
</tr>
</table>

Whatnot is the largest live-shopping marketplace in the US, moving trading cards, sneakers, comics, coins and vintage goods through live auctions and fixed-price listings every day. This scraper turns the public side of Whatnot into clean, flat records you can drop into a spreadsheet, a database or an alert.

***

### 💼 What can you do with it?

- **You are a reseller or flipper.** Search a niche, filter by price, buying format and seller rating, and spot new listings and price drops as they appear.
- **You are a collector hunting deals.** Track a keyword or category on a schedule and get only what is new since the last run.
- **You are a seller sizing up the competition.** Look up any seller by username: followers, lifetime sales, average ship time, rating and recent reviews, plus their shop and upcoming shows.
- **You are a live-commerce analyst.** Compare live viewers and watchlist counts across categories, and read the daily top sellers per category.
- **You run a data pipeline.** Every record is one flat row with stable field names, ready for Sheets, Make, Zapier, n8n or your own database.

***

### 💡 Why this scraper?

- **Five modes, one Actor.** Keyword and URL search, seller lookup, category browser, live and upcoming shows, and seller leaderboard.
- **Change monitoring built in.** Turn on Only Return Changes and repeat runs return just new items, price changes, bid changes, shows going live and listings that vanished.
- **Honest data.** A field that Whatnot does not publish is left out, never filled with a guess. Prices keep their real currency.
- **No account needed.** Everything comes from public pages. There is nothing to log into and no cookie to paste.
- **Cheaper than the other Whatnot scrapers on the Store.** Pay per result, no monthly fee. See Pricing below.

***

### 🚀 How to use it

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-bottom:0">
<tr>
<td style="padding:16px 14px;width:33%;background:#FDECEC;border:1px solid #FFD1D1;border-radius:10px 0 0 10px;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#FF3B3B;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick a mode</span><br>
<span style="font-size:12px;color:#57534E">Search, seller lookup, categories, shows or leaderboard, then fill in the matching inputs.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FDECEC;border:1px solid #FFD1D1;border-left:none;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#FF3B3B;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Click Start</span><br>
<span style="font-size:12px;color:#57534E">Small runs finish in seconds. A message on the run says what was collected.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FDECEC;border:1px solid #FFD1D1;border-left:none;border-radius:0 10px 10px 0;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#FF3B3B;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Get your data</span><br>
<span style="font-size:12px;color:#57534E">Download JSON, CSV or Excel, or send it to Google Sheets, Slack, Make or Zapier.</span>
</td>
</tr>
</table>

***

### 📥 Input

| Field | Type | Required | Description |
| --- | --- | :---: | --- |
| `mode` | enum | No | `search` (default), `seller`, `category`, `liveStreams` or `leaderboard`. |
| `searchUrls` | array | No | Whatnot search URLs. The keyword and result type are read from each URL. Profile links count as sellers. |
| `searchQueries` | array | No | Keywords to search, for example `["pokemon cards", "jordan 1"]`. |
| `sellerUsernames` | array | No | Seller usernames, @names or profile URLs. Seller mode. |
| `categories` | array | No | Category names such as `Pokémon Cards` or `pokemon_cards`. Limits search, selects shows and leaderboards. |
| `vertical` | enum | No | `PRODUCT` (default), `UNIVERSAL`, `LIVESTREAM`, `USER` or `CATEGORY`. Search mode. |
| `buyingFormat` | enum | No | Any, `BUY_NOW`, or an auction format. Products only. |
| `minPrice` / `maxPrice` | integer | No | Price range in the listing's own currency. 0 turns it off. |
| `shipsFrom` | enum | No | Only listings shipped from one country, which also keeps prices in one currency. |
| `minSellerRating` | enum | No | Only sellers rated 4.0, 4.5 or 5 and up. |
| `premierShopOnly` / `gradedOnly` | boolean | No | Only Premier Shops, or only graded items. |
| `sortBy` | enum | No | Newest, price ascending or descending, or most viewers (shows). |
| `showStatus` | enum | No | `live`, `upcoming` or `all`. Shows. |
| `includeListings` / `includeLivestreams` / `includeSellers` | boolean | No | Which record types a keyword search keeps. |
| `includeReviews` / `maxReviews` | boolean / integer | No | Seller mode: add reviews, default off, 20 per seller. |
| `includeShows` / `maxShows` | boolean / integer | No | Seller mode: add the seller's live and upcoming shows. |
| `includeShop` / `maxListings` | boolean / integer | No | Seller mode: add the seller's current shop listings. |
| `includeSellerEnrichment` / `maxSellerEnrichment` | boolean / integer | No | Add seller followers, sales and ship time to every product. Off by default. |
| `includePriceStats` | boolean | No | Add one asking-price summary per keyword and currency (needs 10 or more listings). |
| `monitorMode` / `monitorName` | boolean / text | No | Only return changes since the last run with the same name. |
| `maxItems` | integer | No | Most records in the run. 0 means no limit. Free-plan runs are capped at 25. |
| `maxResultsPerQuery` | integer | No | How many items to read for each keyword, category or leaderboard. |
| `proxyConfiguration` | object | No | Fallback only. Used if Whatnot refuses the direct connection. |

***

### 📤 Output

Every row is one flat record with a `type`. A product looks like this:

```json
{
    "type": "product",
    "id": "2456209952",
    "title": "Latias & Latios TAG TEAM GX FAN ART / CUSTOM-MADE CARDS",
    "price": 20,
    "currency": "USD",
    "buyingFormat": "BUY_NOW",
    "status": "ACTIVE",
    "quantity": 1,
    "sellerId": "12982737",
    "sellerUsername": "m1gu3l_ny",
    "sellerRating": 4.9,
    "reviewCount": 42,
    "searchQuery": "pokemon cards",
    "url": "https://www.whatnot.com/listing/TGlzdGluZ05vZGU6MjQ1NjIwOTk1Mg==",
    "scrapedAt": "2026-10-18T18:57:25.611Z"
}
```

Other record types are `live_stream` (show), `seller`, `review`, `category`, `ranking` and `price_stats`. In monitor mode every record also carries a `changeType`. Fields that Whatnot does not publish for a record are simply missing.

***

### 📊 Data table

| Field | Type | Description |
| --- | :---: | --- |
| `type` | text | `product`, `live_stream`, `seller`, `review`, `category`, `ranking` or `price_stats`. |
| `title` | text | Listing or show title. |
| `price` / `currency` | number / text | Asking price and its real currency. `priceMinorUnits` is the raw amount. |
| `buyingFormat` | text | `BUY_NOW` or `AUCTION`. |
| `currentBid` / `bidCount` | number | Current bid and bid count, present when the auction is running. |
| `status` | text | Listing status, or show status (`PLAYING` or `CREATED`). |
| `condition` | text | Only when the listing states one, for example Near Mint. |
| `sellerUsername` / `sellerRating` / `reviewCount` | text / number | Seller handle, star rating and review count. |
| `followerCount` / `soldCount` / `averageShipDays` | number | Seller reach, lifetime sales and average days to ship. |
| `viewerCount` / `watchlistCount` | number | Live viewers and watchlist count for a show. |
| `startTime` / `startsInMinutes` | date / number | Show start time, and minutes until it starts for upcoming shows. |
| `reviewText` / `rating` / `ratingShipping` | text / number | Review text, overall rating and shipping rating (also packaging and accuracy). |
| `rank` / `interval` | number / text | Position on a seller leaderboard and the period it covers. |
| `changeType` | text | Monitor mode: `NEW`, `PRICE_CHANGE`, `BID_CHANGE`, `STATUS_CHANGE`, `WENT_LIVE`, `RANK_CHANGE`, `UPDATED` or `VANISHED`. |
| `lastSeenPrice` | number | On `VANISHED` rows: the last price we saw. It is not a sold price. |
| `url` / `scrapedAt` | link / date | The Whatnot page and the time of the read. |

***

### 💰 Pricing

This Actor is pay per result. You are charged for each record that lands in your dataset, with nothing upfront and no monthly subscription. A run that finds nothing, a rejected run and an unchanged monitor run cost you next to nothing. Apify shows the exact current rate on the Store page before you start, and it drops automatically on paid Apify plans.

Seller extras such as reviews, shows and shop listings are ordinary records at the same rate, so you control the bill with the per-seller limits. Apify's maximum cost per run setting stops a run at your budget.

***

### ⭐ Enjoying Whatnot Scraper?

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-bottom:0">
<tr>
<td style="padding:20px 24px 14px;background:#FDECEC;border:1px solid #FDECEC;border-left:5px solid #FF3B3B;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">Tracking Whatnot sellers, shows and listings without watching every stream yourself?</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other resellers and collectors find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#D73131;border:1px solid #D73131;border-left:5px solid #D73131;border-top:none;border-radius:0 0 10px 10px;text-align:center;color:#1C1917">
<a href="https://apify.com/getascraper/whatnot-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 and advanced options

- **Track a niche.** Set Only Return Changes, give the monitor a name, and schedule the run. The first run returns everything as new, later runs return only changes. Do not schedule two runs with the same monitor name at the same time.
- **Keep prices comparable.** Whatnot shows each listing in its seller's currency. Set Shipped From to one country to keep a single currency.
- **Find deals fast.** Sort by newest with a maximum price, and schedule it every few minutes.
- **Size up a seller.** Seller mode with reviews on gives the rating, the shipping, packaging and accuracy scores and the written feedback.
- **Mix searches in one run.** Paste several search URLs and keywords. Duplicate items are returned once.
- **Control the bill.** Use the per-seller limits and Max Results, or set a maximum cost per run in Apify.

***

### ❓ FAQ

**Does it return sold prices or final auction prices?**
No. Whatnot only shows those to logged-in users, and this Actor never logs in. You get asking prices, the current bid and bid count on running auctions, and in monitor mode the last price we saw before a listing vanished, clearly labelled as not a confirmed sale.

**Do I need a Whatnot account, cookie or API key?**
No. Everything comes from public pages. There is no login field.

**Why did my run return nothing or fewer items than I asked for?**
A narrow search can have few matches, a seller can have an empty shop, and a leaderboard only exists while a category has activity. The run message says what happened, and an empty run is not charged.

**Can I track a seller or category over time?**
Yes. Schedule a run with Only Return Changes on and the same monitor name. You get new items, price and bid changes, shows going live, seller sales and follower changes, rank moves and vanished listings.

***

### 🛟 Disclaimers and support

- **Disclaimer**: This Actor reads publicly visible data on Whatnot.com. Make sure your use complies with Whatnot's terms and applicable laws.
- **Support**: Open an issue from the [Issues tab](https://apify.com/getascraper/whatnot-scraper/issues) for bug reports or feature requests.

### 🔗 Other actors

- [ShopGoodwill Scraper: Active Auctions, Sold Comps & Monitoring](https://apify.com/getascraper/shopgoodwill-scraper) ↗ - active auctions and sold comps from ShopGoodwill.
- [HiBid Scraper: Live Auction Bids, Lot Data & Closed Sale Prices](https://apify.com/getascraper/hibid-scraper) ↗ - live auction bids and closed sale prices from HiBid.
- [AuctionNinja Scraper: Estate Sales & Online Auctions](https://apify.com/getascraper/auctionninja-scraper) ↗ - estate sale and online auction listings from AuctionNinja.
- [Mercari US Scraper: Active & Sold Listings, Price & Seller Data](https://apify.com/getascraper/mercari-us-scraper) ↗ - active and sold listings with seller data from Mercari US.
- [Swappa Scraper: iPhone, MacBook, Galaxy Prices, No Proxy Needed](https://apify.com/getascraper/swappa-scraper) ↗ - used electronics prices and listings from Swappa.

# Changelog

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

# Actor input Schema

## `mode` (type: `string`):

Search finds listings, shows, sellers or categories by keyword or URL. Seller looks up sellers by username (profile, reviews, shows, shop). Browse Categories lists categories with live viewers. Live & Upcoming Shows lists shows per category. Seller Leaderboard ranks top sellers per category.

## `searchUrls` (type: `array`):

Paste Whatnot search URLs (one per line), for example https://www.whatnot.com/search?query=pokemon\&searchVertical=PRODUCT. The keyword and result type are read from each URL. Profile links (whatnot.com/user/name) are treated as sellers. Search mode only.

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

Words or phrases to search for, one per line. Example: pokemon cards, jordan 1, funko pop. Each keyword is searched separately. Search mode only.

## `sellerUsernames` (type: `array`):

Whatnot usernames (the handle in the profile link), for example pokemonwizard. A full profile URL or an @name also works. Seller mode only.

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

Category names such as Pokémon Cards, Sneakers, Comics or a category code like pokemon_cards. In Search mode this limits listings and shows to those categories. In Browse Categories, Live & Upcoming Shows and Seller Leaderboard it selects which categories to use. Leave empty for the most-watched categories (Shows and Leaderboard) or all categories (Browse).

## `vertical` (type: `string`):

Everything mixes all result types. Products For Sale returns listings. Live Shows returns shows. Seller Profiles returns sellers. Categories returns category pages. Search mode only.

## `buyingFormat` (type: `string`):

Any Format keeps everything. Buy It Now returns fixed-price listings. Auction (either auction option) returns listings that sell by live auction. Search mode, products only.

## `minPrice` (type: `integer`):

Skip listings cheaper than this, in the listing's own currency. 0 turns the filter off. Use Shipped From to keep one currency.

## `maxPrice` (type: `integer`):

Skip listings more expensive than this, in the listing's own currency. 0 turns the filter off.

## `shipsFrom` (type: `string`):

Only listings shipped from this country. Keeps prices in one currency.

## `minSellerRating` (type: `string`):

Only listings from sellers rated at least this high.

## `premierShopOnly` (type: `boolean`):

Only listings from Whatnot Premier Shops.

## `gradedOnly` (type: `boolean`):

Only graded collectibles.

## `sortBy` (type: `string`):

Newest First and the price sorts apply to product searches. Most Viewers First and Newest First sort shows in Live & Upcoming Shows mode.

## `showStatus` (type: `string`):

Live Now keeps shows streaming right now. Upcoming keeps scheduled shows. All keeps both. Applies to Live & Upcoming Shows mode and to show results in search. Seller mode always returns both live and upcoming shows.

## `includeListings` (type: `boolean`):

Keep listings in keyword search results. Search mode.

## `includeLivestreams` (type: `boolean`):

Keep shows in keyword search results. Search mode.

## `includeSellers` (type: `boolean`):

Keep seller accounts in keyword search results. Search mode.

## `includeReviews` (type: `boolean`):

Add each seller's recent reviews as separate records, with star ratings for shipping, packaging and accuracy. Seller mode.

## `maxReviews` (type: `integer`):

How many reviews to collect per seller when reviews are on.

## `includeShows` (type: `boolean`):

Add the seller's live and upcoming shows as separate records, with start time. Seller mode.

## `maxShows` (type: `integer`):

How many shows to collect per seller when shows are on.

## `includeShop` (type: `boolean`):

Add the seller's current shop listings as separate records. Seller mode.

## `maxListings` (type: `integer`):

How many shop listings to collect per seller when the shop is on.

## `includeSellerEnrichment` (type: `boolean`):

Look up each seller's follower count, total sales and average ship days and add them to every product. Uses one extra request per seller. Off by default.

## `maxSellerEnrichment` (type: `integer`):

Limit how many sellers are looked up when seller info is on.

## `includePriceStats` (type: `boolean`):

Add one summary record per keyword and currency with the lowest, median and highest asking price of the listings collected in the run. Needs at least 10 listings. These are asking prices, not sold prices.

## `monitorMode` (type: `boolean`):

Remember what earlier runs saw and return only new items and changes (new, price change, bid change, went live, rank change, vanished). The first run returns everything as new. Schedule the same input to track a niche, a seller or a leaderboard.

## `monitorName` (type: `string`):

Name of the saved memory for this monitor. Use a different name for each tracked list. Letters, numbers and dashes.

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

The most records returned across the whole run. 0 means no limit. Free-plan runs are capped at 25.

## `maxResultsPerQuery` (type: `integer`):

How many items to read for each keyword, category or leaderboard.

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

Requests go out directly first. Only if Whatnot refuses the connection does the Actor switch to this proxy for the rest of the run. The default is fine for almost everyone.

## Actor input object example

```json
{
  "mode": "search",
  "searchUrls": [],
  "searchQueries": [
    "pokemon cards"
  ],
  "sellerUsernames": [],
  "categories": [],
  "vertical": "PRODUCT",
  "buyingFormat": "",
  "minPrice": 0,
  "maxPrice": 0,
  "shipsFrom": "",
  "minSellerRating": "",
  "premierShopOnly": false,
  "gradedOnly": false,
  "sortBy": "NEWEST",
  "showStatus": "live",
  "includeListings": true,
  "includeLivestreams": true,
  "includeSellers": false,
  "includeReviews": false,
  "maxReviews": 20,
  "includeShows": false,
  "maxShows": 10,
  "includeShop": false,
  "maxListings": 25,
  "includeSellerEnrichment": false,
  "maxSellerEnrichment": 20,
  "includePriceStats": false,
  "monitorMode": false,
  "monitorName": "default",
  "maxItems": 15,
  "maxResultsPerQuery": 15,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All records (products, shows, sellers, reviews, categories, rankings, price summaries) in the dataset.

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

What the run did: status, message, counts per type, requests, monitor result.

# 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 = {
    "mode": "search",
    "searchUrls": [],
    "searchQueries": [
        "pokemon cards"
    ],
    "sellerUsernames": [],
    "categories": [],
    "vertical": "PRODUCT",
    "buyingFormat": "",
    "minPrice": 0,
    "maxPrice": 0,
    "shipsFrom": "",
    "minSellerRating": "",
    "premierShopOnly": false,
    "gradedOnly": false,
    "sortBy": "NEWEST",
    "showStatus": "live",
    "includeListings": true,
    "includeLivestreams": true,
    "includeSellers": false,
    "includeReviews": false,
    "maxReviews": 20,
    "includeShows": false,
    "maxShows": 10,
    "includeShop": false,
    "maxListings": 25,
    "includeSellerEnrichment": false,
    "maxSellerEnrichment": 20,
    "includePriceStats": false,
    "monitorMode": false,
    "monitorName": "default",
    "maxItems": 15,
    "maxResultsPerQuery": 15,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/whatnot-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 = {
    "mode": "search",
    "searchUrls": [],
    "searchQueries": ["pokemon cards"],
    "sellerUsernames": [],
    "categories": [],
    "vertical": "PRODUCT",
    "buyingFormat": "",
    "minPrice": 0,
    "maxPrice": 0,
    "shipsFrom": "",
    "minSellerRating": "",
    "premierShopOnly": False,
    "gradedOnly": False,
    "sortBy": "NEWEST",
    "showStatus": "live",
    "includeListings": True,
    "includeLivestreams": True,
    "includeSellers": False,
    "includeReviews": False,
    "maxReviews": 20,
    "includeShows": False,
    "maxShows": 10,
    "includeShop": False,
    "maxListings": 25,
    "includeSellerEnrichment": False,
    "maxSellerEnrichment": 20,
    "includePriceStats": False,
    "monitorMode": False,
    "monitorName": "default",
    "maxItems": 15,
    "maxResultsPerQuery": 15,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/whatnot-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 '{
  "mode": "search",
  "searchUrls": [],
  "searchQueries": [
    "pokemon cards"
  ],
  "sellerUsernames": [],
  "categories": [],
  "vertical": "PRODUCT",
  "buyingFormat": "",
  "minPrice": 0,
  "maxPrice": 0,
  "shipsFrom": "",
  "minSellerRating": "",
  "premierShopOnly": false,
  "gradedOnly": false,
  "sortBy": "NEWEST",
  "showStatus": "live",
  "includeListings": true,
  "includeLivestreams": true,
  "includeSellers": false,
  "includeReviews": false,
  "maxReviews": 20,
  "includeShows": false,
  "maxShows": 10,
  "includeShop": false,
  "maxListings": 25,
  "includeSellerEnrichment": false,
  "maxSellerEnrichment": 20,
  "includePriceStats": false,
  "monitorMode": false,
  "monitorName": "default",
  "maxItems": 15,
  "maxResultsPerQuery": 15,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call getascraper/whatnot-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/whatnot-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/gmFN8QhHRKMCPcTuY/builds/YkHFyn4vC1cXF44h4/openapi.json
