Whatnot Listings Scraper — Live Shop, Prices & Sellers avatar

Whatnot Listings Scraper — Live Shop, Prices & Sellers

Pricing

from $0.89 / 1,000 whatnot listings

Go to Apify Store
Whatnot Listings Scraper — Live Shop, Prices & Sellers

Whatnot Listings Scraper — Live Shop, Prices & Sellers

Scrape Whatnot listings by keyword, seller shop, or URL — a Whatnot API alternative for collectors and resellers. Export price, buy-it-now vs auction, condition, live-show flags, and seller ratings as JSON.

Pricing

from $0.89 / 1,000 whatnot listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

a day ago

Last modified

Share

Disclaimer: Unofficial tool for publicly accessible Whatnot listings. Whatnot and related names are trademarks of Whatnot Inc. Not affiliated with, sponsored by, or endorsed by Whatnot Inc. For informational, research, aggregation, and market-intelligence use only. Respect applicable terms of use and law.

Whatnot listings scraper for the live-commerce marketplace — Pokémon, sports cards, comics, sneakers, and collectibles. Use it as a Whatnot scraper, Whatnot API alternative, and Whatnot seller shop export: search by keyword, walk a seller username, or paste search / listing / profile URLs. Dataset rows include price (major units, not cents), buy-it-now vs auction, condition, quantity, live-show flags, seller rating, and image URLs. Fast HTTP GraphQLno login, no headless browser. Call from Python, Node.js, cURL, or Apify MCP.

Built for card flippers, break hosts, reseller pricing, seller intelligence, and scheduled listing monitors.

Collectibles suite

ActorFocus
Whatnot Listings Scraper ◄── you are hereWhatnot live-commerce listings and shops
eBay Active Listings ScraperLive eBay BIN / auction asking prices
eBay Sold Listings ScraperCompleted eBay sold comps
eBay Sold Price IntelligenceRecommended price and demand score
Goldin Auctions ScraperHigh-end sports cards / TCG hammer + sold
PriceCharting ScraperGuide prices for games, TCG, and comics

When to use this Actor

  • You need a Whatnot scraper / Whatnot listings scraper that returns flat JSON rows
  • You want keyword search, seller shop walk, and pasted Whatnot URLs in one run
  • You track buy-it-now vs auction, live-show inventory, and seller ratings
  • You scrape Whatnot with Python, Node.js, or MCP and export JSON / CSV
  • You run a daily monitor and only want new listing IDs billed

When not to use this Actor

  • eBay sold comps / fair-value reports — use eBay Sold Listings Scraper (then eBay Sold Price Intelligence)
  • High-end auction hammer — use Goldin Auctions Scraper
  • Official Whatnot Seller API replacement — this Actor reads the public marketplace GraphQL the website uses, not seller-authenticated mutations
  • Buyer PII, DMs, or order history — public listing and profile cards only
  • Realtime websocket bid ticks — catalog snapshots, not in-stream hammer prices

Key features

  • Keyword searchsearchKeywords across Products, Shows, Users, or all tabs
  • Seller shop inventory — cursor-walk shop listings for a handle, not a capped search page
  • Start URL parsing — search, listing, /user/{handle}, /live/{id}, and /tag/{slug}
  • Buy format + price filters — buy-it-now vs auction, min/max price, live-only
  • Flat CSV-friendly rowsprice in major units, seller fields on the listing
  • Optional detail enrichment — extra getListing for category, timestamps, offerable, sold counts
  • HTTP GraphQL path — Chrome TLS impersonation, 256 MB default, no Playwright
  • Monitor mode — named Key-Value store of seen listing IDs; later scheduled runs emit only new rows
  • Deduplicated IDs across keywords, shops, and URLs
  • MCP / AI ready — call from assistants via Apify MCP

Use cases

Use caseWhat you get
Pokémon / sports-card pricingCurrent Whatnot BIN and auction listings for a set or SKU
Seller shop dumpActive inventory plus rating / sold count for a handle
Live-show scoutingOptional livestream rows with viewer counts and host username
Arbitrage watchmonitorMode on card or sneaker keywords; only new IDs billed
Competitor sellersRatings, followers, and what they have listed right now
Comps workflowWhatnot live rows, then eBay sold listings for the same query

Quick start

Keyword search:

{
"searchKeywords": ["pokemon cards"],
"maxItems": 50,
"listingType": "buy_now",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Seller shop walk:

{
"sellerUsernames": ["ninosrips"],
"includeSellerProfiles": true,
"maxItems": 100
}

Pasted search URL + monitor:

{
"startUrls": [
{ "url": "https://www.whatnot.com/search?query=pokemon%20cards&searchVertical=PRODUCT" }
],
"maxItems": 150,
"monitorMode": true,
"monitorStoreName": "whatnot-pokemon-bin"
}

Input parameters

ParameterTypeDefaultDescription
searchKeywordsArraySearch queries (required if no URLs/sellers)
sellerUsernamesArrayShop handles to walk
startUrlsArrayWhatnot search, listing, seller, live, or tag URLs
verticalStringPRODUCTPRODUCT / LIVESTREAM / USER / ALL
listingTypeStringallall, buy_now, auction
sortStringbest_matchbest_match, newest, price_asc, price_desc
minPrice / maxPriceNumberPrice band in major currency units
onlyLiveBooleanfalseKeep rows tied to a live show
includeListingDetailsBooleanfalseExtra getListing per row
includeSellerProfilesBooleanfalseAlso emit seller records
includeLiveShowsBooleanfalseAlso query the Shows tab per keyword
maxItemsInteger100Max rows (0 = unlimited subject to maxPages)
maxPagesInteger20Pagination safety cap (24 objects/page)
monitorModeBooleanfalseEmit only new IDs vs previous run
monitorStoreNameStringwhatnot-listings-monitorNamed KV store for seen IDs
resetMonitorStateBooleanfalseWipe the seen-ID cache
proxyConfigurationObjectRESIDENTIALApify datacenter IPs often get empty GraphQL; residential recommended

Output format

Each dataset item is one listing, livestream, or seller row (recordType).

FieldTypeDescription
recordTypeStringlisting, livestream, or seller
idStringWhatnot GraphQL id
urlStringPublic listing / show / profile URL
titleStringListing or show title
subtitle / conditionStringCondition / language line from the card
descriptionStringShort listing description
categoryStringCategory label when detail enrichment is on
listingStatusStringe.g. ACTIVE
transactionTypeStringBUY_IT_NOW, ASYNC_AUCTION, LIVE_AUCTION
isAuction / isBuyNowBooleanFormat flags
isOfferableBooleanOffers enabled (detail enrichment)
quantityIntegerAvailable quantity
priceNumberPrice in major units (cents converted)
priceMinorIntegerRaw minor units from Whatnot
currencyStringe.g. USD, EUR
currentBid / currentBidCountNumber / IntegerAuction snapshot when present
isLiveBooleanAttached to a live show
imageUrl / imageUrlsString / ArrayPrimary and all images
sellerUsername / sellerUrlStringSeller handle and profile URL
sellerRating / sellerReviewCountNumber / IntegerPublic rating
sellerFollowerCount / sellerSoldCountIntegerOn shop walks and detail enrichment
createdAt / updatedAtStringISO timestamps when present
searchQueryStringKeyword or handle that produced the row
sourceStringsearch, seller_shop, or listing_url
scrapedAtStringISO scrape time

Example listing row:

{
"recordType": "listing",
"source": "search",
"searchQuery": "pokemon cards",
"id": "TGlzdGluZ05vZGU6MjEzNjkzMTA3OQ==",
"url": "https://www.whatnot.com/listing/TGlzdGluZ05vZGU6MjEzNjkzMTA3OQ==",
"title": "Umbreon - Sylveon - Vaporeon Pokémon Coin Set Bundle",
"condition": "New",
"transactionType": "BUY_IT_NOW",
"isBuyNow": true,
"quantity": 1,
"price": 39.0,
"currency": "EUR",
"isLive": false,
"sellerUsername": "ninosrips",
"sellerRating": 5.0,
"sellerReviewCount": 19
}

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/whatnot-listings-scraper').call({
searchKeywords: ['pokemon cards'],
maxItems: 50,
listingType: 'buy_now',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/whatnot-listings-scraper").call(
run_input={
"searchKeywords": ["pokemon cards"],
"maxItems": 50,
"listingType": "buy_now",
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("title"), item.get("price"), item.get("sellerUsername"))

cURL

curl "https://api.apify.com/v2/acts/crawloop~whatnot-listings-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchKeywords":["pokemon cards"],"maxItems":50,"listingType":"buy_now"}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/whatnot-listings-scraper.

Example prompts:

  • "Run Whatnot Listings Scraper for pokemon cards, max 50 buy-it-now, and return title, price, currency, sellerUsername, url as JSON"
  • "Scrape the Whatnot shop for seller ninosrips and summarize prices and quantities"
  • "Pull live Whatnot listings for jordan 1, then run eBay Sold Listings Scraper for the same query to compare comps"

Suite next step

Whatnot is the live-commerce firehose. For sold comps on the same SKU (Pokémon, sports cards, sneakers), run eBay Sold Listings Scraper next. For recommended list price and demand score, continue with eBay Sold Price Intelligence. For graded high-end hammer, add Goldin Auctions Scraper; for guide prices, PriceCharting Scraper.

FAQ

Is this an official Whatnot API?
No. It calls the same public GraphQL the website uses (search, getListing, getUser shop) and returns structured dataset rows — a practical Whatnot API alternative for pipelines.

Can I scrape a Whatnot seller shop by username?
Yes — set sellerUsernames (or paste a /user/{handle} URL in startUrls). The Actor walks shop inventory with pagination.

Can I paste a Whatnot search URL?
Yes — startUrls accepts search links (query + vertical parsed), listing URLs, seller/shop URLs, live show URLs, and tag URLs.

Do I need a Whatnot login?
No — public marketplace data only.

Does it need a residential proxy?
On Apify, yes — residential. Datacenter IPs often receive empty GraphQL (data: null). Local runs can omit the proxy. Use apifyProxyGroups: ["RESIDENTIAL"].

Are prices in cents?
price / currentBid are converted to major units (e.g. 3900 → 39.00 EUR). priceMinor keeps the raw integer.

Buy-it-now vs auction?
Filter with listingType: buy_now, auction, or all. Each row has transactionType, isBuyNow, and isAuction.

What is monitor mode?
With monitorMode: true, seen listing IDs are stored in a named Key-Value store. The first run is the baseline. Later scheduled runs push and charge only IDs not seen before.

Python / Node.js / MCP?
Yes — use the Apify client examples above or Apify MCP prompts.

How many listings per search?
Whatnot paginates 24 objects per page. Raise maxPages / maxItems or add more keywords and seller shops.

ActorFocus
Whatnot Listings Scraper ◄── you are hereWhatnot listings, shops, optional shows
eBay Active Listings ScraperLive eBay listings
eBay Sold Listings ScrapereBay sold comps
eBay Sold Price IntelligenceRecommended price / demand
Goldin Auctions ScraperSports cards / TCG auctions
PriceCharting ScraperTCG / games / comics guides
Kleinanzeigen ScraperGerman classifieds
Marktplaats ScraperDutch classifieds