# 🚀 Whatnot Scraper · 5,000 Free Listings/Month (`omkar-cloud/whatnot-scraper`) Actor

Whatnot Scraper gets you Whatnot listings ⚡ fast, 🎯 100% accurate and 🔍 ridiculously detailed — prices, formats, images, sellers and item attributes. 💰 $1 per 1,000 listings, no start fee. Scrape your first 5,000 listings free every month 🚀

- **URL**: https://apify.com/omkar-cloud/whatnot-scraper.md
- **Developed by:** [Omkar Cloud](https://apify.com/omkar-cloud) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 listing scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

Whatnot Scraper by Omkar Cloud gets you 🎯 accurate, 🔍 detailed Whatnot listings — by search keyword or straight from a seller's shop.

Whatnot is the live-shopping marketplace for trading cards, sneakers, collectibles and more — and its prices, sellers and item attributes are hard to get out in bulk.

Whatnot Scraper gets them out, so you get the data, and can successfully complete your project.

**$1 per 1,000 listings.** And with Apify's free plan you get $5 of credit every month, so your first **5,000 listings each month are free**.

This is an excellent Actor made by Omkar Cloud, which is Rated Excellent — [4.7 based on 30 reviews on Trustpilot](https://www.trustpilot.com/review/omkar.cloud).

👉 [**Try Whatnot Scraper free**](https://apify.com/omkar-cloud/whatnot-scraper) — your first 5,000 listings are Free.

### What can I get

- 🔍 **Search all of Whatnot** — by keyword, with price, format, category, seller and card filters
- 🏪 **Whole seller shops** — every listing a seller has for sale, from a username or profile link
- 💵 **Prices & formats** — Buy It Now and auctions, flash sales, variants, quantity, photos
- 👤 **The seller on every row** — username, rating, review count, Premier Shop status
- 🧾 **Full details** — item attributes (condition, grade, set, size…), offer rules, auction settings, the seller's followers, items sold and ship time

### Why Whatnot Scraper

Most other Whatnot scrapers fail you in one of four ways:

- 🗄️ **Inaccurate, cached, stale data**
- 🧩 **Low-detail data** — a title and a price, never the full picture
- 💸 **Pay more to get the same data** — up to $6.50 per 1,000 listings elsewhere
- 🪦 **Works today, breaks next month** — nobody maintains it

Whatnot Scraper is scraped live on every run, priced honestly, and actively maintained.

### Example: A Full Whatnot Listing

```json
{
  "id": 2323103623,
  "title": "1 WOTC Neo Revelation Booster Pack (BOX FRESH)",
  "subtitle": "New ∙ Booster Pack",
  "description": "You will receive a BOX FRESH Neo Revelation Booster Pack. This pack is RIPPED OR SHIPPED. No exchanges, returns, refunds, or cancellations will be accepted. Purchase with confidence!",
  "link": "https://www.whatnot.com/listing/TGlzdGluZ05vZGU6MjMyMzEwMzYyMw==",
  "status": "active",
  "buying_format": "buy_it_now",
  "price": 1999,
  "currency": "USD",
  "quantity": 34,
  "image": "https://images.whatnot.com/eyJidWNrZXQiOiAid2hhdG5vdC1pbWFnZ…",
  "images": [
    "https://images.whatnot.com/eyJidWNrZXQiOiAid2hhdG5vdC1pbWFnZ…"
  ],
  "is_live": true,
  "category_slug": "pokemon_cards",
  "category_name": "Pokémon Cards",
  "accepts_offers": true,
  "structure": "individual_item",
  "attributes": [
    "Condition: New",
    "Product Type: Booster Pack"
  ],
  "seller_id": 1944023,
  "seller_username": "collectibletags",
  "seller_link": "https://www.whatnot.com/user/collectibletags",
  "seller_rating": 5,
  "seller_review_count": 70710,
  "seller_is_premier_shop": true,
  "seller_display_name": "CollectibleTags",
  "seller_follower_count": 336491,
  "seller_sold_count": 310241,
  "seller_average_ship_days": 0,
  "seller_ships_from_country": "US",
  "product_id": 611459650,
  "livestreams": [
    "https://www.whatnot.com/live/dc46af2c-5e85-496c-9011-82c053949cb0",
    "https://www.whatnot.com/live/15586110-8480-4c9c-a9f1-0a7db26b16a9"
  ],
  "similar_listings": [
    "https://www.whatnot.com/listing/TGlzdGluZ05vZGU6MjM4MjkzODM0NQ==",
    "https://www.whatnot.com/listing/TGlzdGluZ05vZGU6MjM3ODk3Mjc4NQ=="
  ],
  "created_at": "2026-09-18T20:19:12Z",
  "updated_at": "2026-09-26T03:48:49Z"
}
```

*Trimmed for readability — image links are shortened and empty fields left out.* Every row is flat — each value is its own column, so CSV and Excel exports need no clean-up.

### Get Started with 5,000 Free Listings

1. [Hit **Try for Free Button**](https://apify.com/omkar-cloud/whatnot-scraper) — the input is pre-filled with the "charizard" and "air jordan 1" search examples.
2. Enjoy your data 😎.

### Input Examples

**Search by keyword** — the 200 cheapest Buy It Now Charizard listings between $50 and $500:

```json
{
    "searchQueries": ["charizard"],
    "sort": "price_low_to_high",
    "buyingFormat": "buy_it_now",
    "minPrice": 50,
    "maxPrice": 500,
    "maxResults": 200
}
```

**Graded cards only** — PSA 10s from top-rated US sellers:

```json
{
    "searchQueries": ["pikachu"],
    "gradedOnly": true,
    "gradingService": "PSA",
    "grade": "10",
    "minSellerRating": "4.5",
    "sellerCountry": "US"
}
```

**A seller's whole shop** — by username or profile link:

```json
{
    "sellers": ["rare_finds", "https://www.whatnot.com/user/pokemonsuperstore"],
    "maxResults": 1000
}
```

**Full details** — attributes, offer rules and the seller's full profile on every row:

```json
{
    "searchQueries": ["air jordan 1"],
    "attributes": "Size=10",
    "includeDetails": true,
    "maxResults": 50
}
```

You can mix keywords and sellers in one run. Each row carries `search_query` or `source_seller`, so you always know which input it came from.

### Pricing

High value, Low price.

| What | Price | What you get |
|---|---|---|
| **Standard listings** | **$1 per 1,000** | id, title, description, price, currency, buying format, bids, quantity, photos, variants, flash sale, the attached show + the seller (username, rating, reviews, Premier Shop) |
| **Detailed listings** | $3 per 1,000 | Everything above + category, item attributes, variant options, offer rules, auction settings, videos, the product, the seller's full profile (followers, items sold, ship time, country), the shows it is sold in and similar listings |

A detailed listing is the standard $0.001 plus a $0.002 details add-on. No start fee — you pay only for the rows you get. One price on every Apify plan.

**Cost examples**

| Run | Cost |
|---|---|
| 100 listings for one keyword | $0.10 |
| 1,000 listings across 10 keywords | $1.00 |
| A 4,500-listing seller shop | $4.50 |
| 1,000 listings with full details | $3.00 |

Control your spend with **Max Listings per Keyword / Seller**: 1,000 listings ≈ $1.

💡 Apify's free plan includes $5 of credit every month — **5,000 free listings, every month**.

👉 [**Scrape your first 5,000 listings free**](https://apify.com/omkar-cloud/whatnot-scraper)

### Run It from Code

Grab your API token from [Integrations Settings here](https://console.apify.com/settings/integrations) and replace `<YOUR_API_TOKEN>` below.

**Python** (`pip install apify-client`)

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("omkar-cloud/whatnot-scraper").call(run_input={
    "searchQueries": ["charizard"],
    "maxResults": 100,
})
for listing in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(listing["title"], listing["price"], listing["currency"], listing["seller_username"])
```

**Node.js** (`npm install apify-client`)

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

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('omkar-cloud/whatnot-scraper').call({
    sellers: ['rare_finds'],
    maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### FAQs

#### How much does it cost to scrape Whatnot?

$1 per 1,000 listings — $0.001 per listing. Turn on **Include Full Listing Details** and each listing costs $0.003 ($3 per 1,000). There is no start fee and no monthly rental, and the price is the same on every Apify plan.

#### Is there a free tier?

Yes. Apify's free plan gives you $5 of credit every month, which is 5,000 standard listings — every month, no card needed.

#### How do I keep my cost under control?

Set **Max Listings per Keyword / Seller**. It caps the rows for each keyword and each seller, so a run with 2 keywords and a cap of 500 costs at most $1. You can also set a maximum cost per run in Apify — the Actor stops cleanly when it is reached.

#### Am I charged twice for the same listing?

No. A listing that matches several of your keywords or sellers is scraped and billed once per run.

#### What is the difference between standard and detailed listings?

A standard listing has everything shown on a Whatnot search card: title, description, price, format, quantity, photos, variants, flash sale and the seller. A detailed listing opens the listing itself and adds its category, item attributes (condition, grade, set, size and more), variant options, offer rules, auction settings, videos, the seller's full profile and similar listings.

#### What if full details can't be fetched for a listing?

You keep the standard row for it and pay only the standard $0.001 — the details add-on is charged only when the details actually arrive.

#### Which filters can I use?

Sort order, buying format, category, min and max price, graded only, autographed only, condition, grading service, grade, set, rarity, language, product type, card number and any other attribute Whatnot offers (as `Name=Value`). Keyword searches also take seller filters: minimum seller rating, Premier Shops only and seller country.

#### Do the filters work on seller shops?

Yes, all of them except the three seller filters — a shop has only one seller, so those apply to keyword searches only.

#### How do I write the attribute filter values?

Exactly the way Whatnot shows them in its own filter panel, e.g. `Near Mint`, `PSA`, `Booster Box`. Separate several values with commas (up to 10 per field).

#### How many listings can I get per keyword?

Up to 10,000 per keyword or seller — that is the highest value **Max Listings per Keyword / Seller** takes. Need more from a very broad keyword? Split it into several runs by price range, category or buying format.

#### Can I export to CSV or Excel?

Yes. Every row is flat — one value per column — so JSON, CSV, Excel and HTML exports work without any clean-up.

#### Is the data live?

Yes. Every run reads Whatnot at that moment — prices, bids, quantities and live status are current as of the run.

### 💬 Have Questions? We Have Answers.

[![Message Us on WhatsApp](https://raw.githubusercontent.com/omkarcloud/assets/master/images/whatsapp-us.png)](https://api.whatsapp.com/send?phone=918178804274\&text=I%20need%20help%20with%20using%20the%20Whatnot%20Scraper%20Actor.)
[![Ask Us on Email](https://raw.githubusercontent.com/omkarcloud/assets/master/images/ask-on-email.png)](mailto:happy.to.help@omkar.cloud?subject=Help%20with%20Whatnot%20Scraper%20Actor\&body=I%20need%20help%20with%20using%20the%20Whatnot%20Scraper%20Actor.)
You are important to us — just message us and we will solve your problem ✅ within 1 working day. 🩷 Pinky Promise 🤙!

# Actor input Schema

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

Keywords to search for — each is searched separately. Rows carry a `search_query` field so you can tell keywords apart. Leave empty to scrape only seller shops.

## `sellers` (type: `array`):

Whatnot usernames (with or without @) or whatnot.com profile links — one shop each. Rows carry a `source_seller` field so you can tell shops apart.

## `maxResults` (type: `integer`):

Maximum number of listings to scrape for each keyword and each seller. Use this to control your cost (1,000 listings ≈ $1).

## `includeDetails` (type: `boolean`):

When enabled, every listing is also scraped in full — category, item attributes (condition, grade, set, size…), variant options, offer rules, auction settings, videos, the product, the seller's full profile (followers, items sold, ship time, country), the shows it is sold in and similar listings. Still one dataset row per listing: 1,000 detailed listings ≈ $3 vs $1 standard. Runs take longer because each listing is fetched individually.

## `sort` (type: `string`):

Order of the listings.

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

Keep only fixed-price items or only auction items. Leave on All for both.

## `category` (type: `string`):

Only listings in this category: a category slug (pokemon_cards), a numeric category ID (907) or any whatnot.com category link (https://www.whatnot.com/tag/pokemon_cards).

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

Lowest price to include, in the listing's own currency.

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

Highest price to include, in the listing's own currency.

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

Keep only graded items (trading cards, comics).

## `autographedOnly` (type: `boolean`):

Keep only autographed items.

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

Only sellers rated at least this many stars.

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

Keep only listings from Whatnot Premier Shop sellers.

## `sellerCountry` (type: `string`):

Only sellers shipping from these countries: comma-separated 2-letter country codes, up to 10.

## `condition` (type: `string`):

Item condition, comma-separated.

## `gradingService` (type: `string`):

Grading company, comma-separated.

## `grade` (type: `string`):

Card grade, comma-separated.

## `set` (type: `string`):

Card set, comma-separated.

## `rarity` (type: `string`):

Card rarity, comma-separated.

## `language` (type: `string`):

Card language, comma-separated.

## `productType` (type: `string`):

Product type, comma-separated.

## `cardNumber` (type: `string`):

Card number, comma-separated.

## `attributes` (type: `string`):

Any other item attribute Whatnot offers as a filter (sneaker size, brand, colorway…), as Name=Value pairs separated by semicolons, up to 10.

## Actor input object example

```json
{
  "searchQueries": [
    "charizard",
    "air jordan 1"
  ],
  "sellers": [
    "rare_finds"
  ],
  "maxResults": 100,
  "includeDetails": false,
  "sort": "best_match",
  "buyingFormat": "",
  "category": "pokemon_cards",
  "gradedOnly": false,
  "autographedOnly": false,
  "minSellerRating": "",
  "premierShopOnly": false,
  "sellerCountry": "US,GB",
  "condition": "Near Mint,Mint",
  "gradingService": "PSA,CGC",
  "grade": "10,9.5",
  "set": "Base Set",
  "rarity": "Ultra Rare",
  "language": "English,Japanese",
  "productType": "Booster Box,Booster Pack",
  "cardNumber": "160",
  "attributes": "Size=10;Brand=Jordan"
}
```

# Actor output Schema

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

Every row with every field.

## `overview` (type: `string`):

Photo, title, price, buying format, quantity and seller of every listing.

## `details` (type: `string`):

Category, item attributes, offer rules, auction settings and seller profile of detailed listings.

# 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 = {
    "searchQueries": [
        "charizard",
        "air jordan 1"
    ],
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("omkar-cloud/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 = {
    "searchQueries": [
        "charizard",
        "air jordan 1",
    ],
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("omkar-cloud/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 '{
  "searchQueries": [
    "charizard",
    "air jordan 1"
  ],
  "maxResults": 100
}' |
apify call omkar-cloud/whatnot-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,omkar-cloud/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/dDehenfuc1VEZXUVz/builds/3DPWaO2tcdARAWV9R/openapi.json
