Whatnot Seller Scraper
Pricing
from $0.80 / 1,000 listings
Whatnot Seller Scraper
Collect public Whatnot listings, live shows, seller profiles, and category insights by keyword, URL, seller username, or category. Get source fields such as prices, ratings, viewer counts, reviews, and source URLs in structured dataset rows.
Pricing
from $0.80 / 1,000 listings
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
2
Monthly active users
11 days ago
Last modified
Categories
Share
🛍️ Explore Whatnot marketplace data
For collectors, resellers, marketplace researchers, and developers, this Actor collects public Whatnot listings, live shows, seller profiles, and category insights. It returns structured prices, sale formats, viewer counts, seller signals, reviews, and source URLs, so you can compare marketplace activity without copying pages by hand.
Use it to:
- Compare public listing titles, prices, sellers, and source URLs with Whatnot Listings.
- Check live show titles, statuses, start times, viewer counts, tags, and sellers with Whatnot Live Shows.
- Compare public seller profiles, follower counts, sold counts, ratings, and live status with Whatnot Sellers.
- Collect public buyer ratings, review text, dates, and reviewer identities with Whatnot Reviews.
- Rank public categories by viewer and livestream counts with Whatnot Category Insights.
- Find public trading card listings and related sellers with Whatnot Trading Cards.
- Find public sneaker listings and related sellers with Whatnot Sneakers.
📦 Public listings, shows, sellers, and categories
The default dataset has four row shapes. The recordType field tells you whether a row is a listing, liveShow, sellerProfile, or categoryInsight. Saved rows include a public sourceUrl and a retrievedAt time. Some fields appear only when the public source provides them.
If the same source item appears again through another keyword, URL, username, ID, or similar submitted value, only the first eligible occurrence is saved. The row reflects that first saved match and does not combine later matches.
🔎 Choose a Whatnot search
Choose a resultType and a findBy method. You can search by keywords or a public search URL, read supported public direct URLs, find seller profiles by username or source seller ID, or work with a category. Mixed search uses the product, live-show, and seller search surfaces. Fields that do not match your choices are ignored, except keywords can also search seller shops when seller profiles use usernames or direct URLs.
Use one configured search in each run. Seller profiles can include public Whatnot reviews and historical or scheduled shows when you turn on those options. Listings and mixed search can use sale, price, live-only, order, and change-monitoring options. Category insights can use source-supported filters and ordering.
This Actor reads public Whatnot data and does not require a customer-supplied Whatnot login or API key. Public pages can change, disappear, or show fewer fields than expected.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
resultType | string | Chooses listings, liveShows, sellerProfiles, categoryInsights, or mixedSearch. |
findBy | string | Chooses keywords, a search URL, a direct URL, a seller username, or a category. Use the method that matches the result type. |
keywords | array of strings | Supplies one or more search keywords. For seller profiles found by username or direct URL, they form one shop query per seller. Leave them empty to collect all available shop listings. |
searchUrls | array of objects | Supplies one or more public Whatnot search URLs. Each URL uses the selected result type and search surface. |
searchUrls[].url | string | Gives one public Whatnot search URL. |
directUrls | array of objects | Supplies supported public listing, seller, live-show, or category URLs. |
directUrls[].url | string | Gives one supported public Whatnot page URL. |
sellerUsernames | array of strings | Supplies public Whatnot seller usernames or source seller IDs for seller profiles. Both can be used in the same list. |
includeReviews | boolean | For seller profiles, requests public buyer reviews with ratings, text, dates, and reviewer identity. Source-provided review totals are included when available. |
includeShowHistory | boolean | For seller profiles, requests public historical or scheduled shows when available. |
category | string | Supplies one public Whatnot category name or slug for category insights or category-based listings, live shows, or seller results. |
categoryFilters | array of strings | For category insights, supplies filter values supported by the public Whatnot category page. |
categoryOrder | string | For category insights, chooses a source-supported order such as viewer count, livestream count, or name. |
leaderboardPeriod | string | For category insights, chooses the current day, current week, or live leaderboard when available. |
saleFormats | array of strings | For listings and mixed search, keeps only submitted sale formats supported by Whatnot, such as auction or buy now. |
minPrice | number | For listings and mixed search, keeps listings at or above this price. |
maxPrice | number | For listings and mixed search, keeps listings at or below this price. |
liveOnly | boolean | For listings and mixed search, keeps only listings marked live by the source. |
listingOrder | string | For listings and mixed search, chooses a source-supported listing order. |
maxItems | integer | Caps the number of records. Leave it empty to return all available results until the source is exhausted. |
monitorChanges | boolean | For listings and mixed search, compares new public listing observations with prior observations for the same submitted target. |
Example input
This example is copied from the public input of a successful current-beta default-input run:
{"resultType": "listings","findBy": "keywords","keywords": ["trading cards"],"includeReviews": false,"includeShowHistory": false,"liveOnly": false,"maxItems": 100,"monitorChanges": false}
🧾 Output
Run output
| Field | Type | What it does |
|---|---|---|
dataset | string | Opens the accepted public Whatnot records in the default dataset. |
Some values can be absent when Whatnot does not provide them. The tables below list every field in each public dataset shape. Dotted paths show nested objects and array elements.
Listing record fields
| Field | Type | What it does |
|---|---|---|
recordType | string | Identifies this row as a listing. |
listingId | string | Gives the stable Whatnot listing identifier. |
title | string | Gives the public listing title. |
description | string | Gives the public listing description. |
condition | string | Gives the condition shown by the seller. |
price | object | Listing asking price and separate catalog prices when supplied by Whatnot. |
price.amount | number | Gives the numeric listing price. |
price.currency | string | Gives the currency code for the listing price. |
price.catalog | object | Linked catalog product and its price range. These are separate from the listing asking price. |
price.catalog.productId | string | Whatnot catalog product ID for joining or checking this product. |
price.catalog.name | string | Catalog product name supplied by Whatnot. |
price.catalog.min | object | Lowest price in the catalog range supplied by Whatnot. |
price.catalog.min.amount | number | Minimum catalog price in currency units. |
price.catalog.min.currency | string | Source currency code for the minimum catalog price. |
price.catalog.max | object | Highest price in the catalog range supplied by Whatnot. |
price.catalog.max.amount | number | Maximum catalog price in currency units. |
price.catalog.max.currency | string | Source currency code for the maximum catalog price. |
quantity | integer | Gives the quantity shown by the source. |
availability | string | Gives the availability state shown by the source. |
saleFormat | string | Gives the sale format shown by the source, such as auction or buy now. |
isLive | boolean | Says whether the source marks the listing as live. |
createdAt | string | Time when the listing was created, as reported by Whatnot. |
updatedAt | string | Time when the listing was last updated, as reported by Whatnot. |
offersAvailable | boolean | Whether Whatnot allows offers on this listing. |
images | array of strings | Lists public image URLs for the listing. |
images[] | string | Gives one listing image URL. |
seller | object | Groups seller details shown with the listing. |
seller.username | string | Gives the seller's public Whatnot username. |
seller.displayName | string | Gives the seller's public display name. |
seller.profileUrl | string | Links to the seller's public profile. |
category | object | Groups category details shown with the listing. |
category.name | string | Gives the public category name. |
category.slug | string | Gives the public category slug when supplied. |
category.url | string | Links to the public category page. |
sourceUrl | string (URI) | Links to the public Whatnot source for the listing. |
retrievedAt | string (date-time) | Gives the time when the Actor retrieved the listing. |
Listing row example
This unshortened row is copied from a successful current-beta run:
{"recordType": "listing","title": "CSV5C: Dark Crystal Blaze Booster","sourceUrl": "https://www.whatnot.com/search?query=Dark+Crystal+Trading+Cards","retrievedAt": "2026-10-06T02:14:45.406Z","listingId": "TGlzdGluZ05vZGU6MjIyNDg5MTY0NQ==","createdAt": "2026-08-28T08:00:46.000Z","updatedAt": "2026-09-30T20:00:39.000Z","offersAvailable": true,"description": "Slim-Display: 15 × Booster, jeweils 5 Karten (mindestens 1 Karte pro Booster ist Rare oder höher)","price": {"amount": 3,"currency": "EUR","catalog": {"productId": "UHJvZHVjdE5vZGU6NTg4MDE5MzAw","name": "CSV5C: Dark Crystal Blaze Booster","min": {"amount": 3,"currency": "EUR"},"max": {"amount": 3,"currency": "EUR"}}},"quantity": 6,"availability": "ACTIVE","saleFormat": "BUY_IT_NOW","isLive": false,"images": ["https://images.whatnot.com/eyJidWNrZXQiOiAid2hhdG5vdC1pbWFnZXMiLCAia2V5IjogImxpc3RpbmdzLzIyMjQ4OTE2NDUtMC1kZDMzOWFkZS1kMmMwLTRhZjUtYWFhZC02ZTNiYjY1MjEzNGEiLCAiZWRpdHMiOiB7InJlc2l6ZSI6IHsid2lkdGgiOiBudWxsLCAiaGVpZ2h0IjogbnVsbCwgImZpdCI6ICJjb250YWluIiwgImJhY2tncm91bmQiOiB7InIiOiAyNTUsICJnIjogMjU1LCAiYiI6IDI1NSwgImFscGhhIjogMX19fX0=?signature=8169ee98bf44faec1ae96044abac39b52713a777d75ed51ffd32bb58158a7983"],"seller": {"username": "ollis_tcg_kartenpakete","displayName": "Oliver Zinnitz","profileUrl": "https://www.whatnot.com/user/ollis_tcg_kartenpakete"},"category": {"name": "Trading Card Games","slug": "trading_card_games","url": "https://www.whatnot.com/tag/trading_card_games"}}
Live show record fields
| Field | Type | What it does |
|---|---|---|
recordType | string | Identifies this row as a live show. |
showId | string | Gives the stable Whatnot show identifier. |
title | string | Gives the public show title. |
status | string | Gives the show status shown by the source, such as live or scheduled. |
startTime | string (date-time) | Gives the public show start time. |
currentBid | number | Highest bid amount in the show's current auction snapshot, in the stated currency. This is not a confirmed sale price. |
currency | string | Currency reported for the highest bid in the show's current auction snapshot. |
bidCount | integer | Number of bids reported for the show's current auction snapshot. |
viewerCount | integer | Gives the viewer count shown by the source. |
watchlistCount | integer | Number of users who saved the show to their watchlist, as reported by Whatnot. |
thumbnailUrl | string (URI) | Links to the public show thumbnail. |
tags | array of strings | Lists public tags shown for the show. |
tags[] | string | Gives one show tag. |
category | object | Groups category details shown for the show. |
category.name | string | Gives the public category name. |
category.slug | string | Gives the public category slug when supplied. |
category.url | string | Links to the public category page. |
seller | object | Groups seller details shown for the show. |
seller.username | string | Gives the seller's public Whatnot username. |
seller.displayName | string | Gives the seller's public display name. |
seller.profileUrl | string | Links to the seller's public profile. |
sourceUrl | string (URI) | Links to the public Whatnot source for the show. |
retrievedAt | string (date-time) | Gives the time when the Actor retrieved the show. |
Live show row example
This unshortened row is copied from a successful current-beta run:
{"recordType": "liveShow","title": "✨FREE 30TH PACKS✨ Rapid Fire Singles & Packs $1 Starts w/Zachary","status": "PLAYING","sourceUrl": "https://www.whatnot.com/live/01949d38-405e-4c5e-b6aa-0c2deb4dc957","retrievedAt": "2026-10-06T02:13:00.072Z","showId": "01949d38-405e-4c5e-b6aa-0c2deb4dc957","startTime": "2026-10-06T01:00:19.620Z","viewerCount": 254,"thumbnailUrl": "https://images.whatnot.com/eyJidWNrZXQiOiAid2hhdG5vdC1pbWFnZXMiLCAia2V5IjogImxpdmVzdHJlYW1fdGh1bWJuYWlscy85ZWU0NzE2Yi0zMDUzLTQ0ODktYWRhOC0yNDkyNmJlODAyYTMuanBlZyIsICJlZGl0cyI6IHsicmVzaXplIjogeyJ3aWR0aCI6IDEyMDAsICJoZWlnaHQiOiBudWxsLCAiZml0IjogImNvbnRhaW4iLCAiYmFja2dyb3VuZCI6IHsiciI6IDI1NSwgImciOiAyNTUsICJiIjogMjU1LCAiYWxwaGEiOiAxfX19LCAib3V0cHV0Rm9ybWF0IjogImpwZyJ9?signature=dda6541849e845695bade802cc2e338f7325f867365b90d137cc248f1405ea24","tags": ["pokemon","one_dollar_starts","sudden_death","pokemon_singles_2025"],"category": {"name": "Pokémon Cards"},"seller": {"username": "immaculate","profileUrl": "https://www.whatnot.com/user/immaculate"},"watchlistCount": 63,"currentBid": 1,"currency": "USD","bidCount": 1}
Seller profile record fields
| Field | Type | What it does |
|---|---|---|
recordType | string | Identifies this row as a seller profile. |
sellerId | string | Gives the stable Whatnot seller identifier. |
username | string | Gives the seller's public Whatnot username. |
displayName | string | Gives the seller's public display name. |
biography | string | Public bio shown on the seller profile. |
followingCount | integer | Number of accounts the seller follows, as shown by Whatnot. |
profileImageUrl | string | Public profile image URL for the seller. |
followerCount | integer | Gives the follower count shown by the source. |
soldCount | integer | Gives the sold-item count shown by the source. |
rating | number | Gives the seller rating shown by the source. |
reviewCount | integer | Gives the public buyer review count shown for the seller. |
isVerified | boolean | Says whether the source marks the seller as verified. |
isPremierShop | boolean | Whether Whatnot marks the seller as a premier shop. |
isLive | boolean | Says whether the source marks the seller as live. |
shippingPerformance | string | Gives shipping performance information shown on the profile. |
reviews | object | Public buyer review rows and their written-review rating distribution. |
reviews.items | array of objects | Public buyer reviews shown for the seller. |
reviews.items[].reviewId | string | Gives the stable review identifier. |
reviews.items[].rating | number or object | Review star rating, with source feedback when available. |
reviews.items[].rating.average | number | Gives the review's average star rating when supplied by the source. |
reviews.items[].rating.overall | object | Overall rating and question label supplied by Whatnot. |
reviews.items[].rating.overall.value | number | Star rating supplied by Whatnot for this feedback. |
reviews.items[].rating.overall.label | string | Question label supplied by Whatnot for this feedback. |
reviews.items[].rating.shipping | object | Shipping rating and question label supplied by Whatnot. |
reviews.items[].rating.shipping.value | number | Star rating supplied by Whatnot for this feedback. |
reviews.items[].rating.shipping.label | string | Question label supplied by Whatnot for this feedback. |
reviews.items[].rating.packaging | object | Packaging rating and question label supplied by Whatnot. |
reviews.items[].rating.packaging.value | number | Star rating supplied by Whatnot for this feedback. |
reviews.items[].rating.packaging.label | string | Question label supplied by Whatnot for this feedback. |
reviews.items[].rating.accuracy | object | Accuracy rating and question label supplied by Whatnot. |
reviews.items[].rating.accuracy.value | number | Star rating supplied by Whatnot for this feedback. |
reviews.items[].rating.accuracy.label | string | Question label supplied by Whatnot for this feedback. |
reviews.items[].text | string or object | Public buyer review text and an available seller reply. |
reviews.items[].text.buyer | string | Public buyer review text supplied by Whatnot. |
reviews.items[].text.sellerReply | string | Public seller reply to this review supplied by Whatnot. |
reviews.items[].reviewedAt | string (date-time) | Gives the review date and time shown by the source. |
reviews.items[].reviewer | object | Groups public reviewer identity details. |
reviews.items[].reviewer.username | string | Gives the reviewer's public Whatnot username. |
reviews.items[].reviewer.displayName | string | Gives the reviewer's public display name. |
reviews.items[].reviewer.profileUrl | string (URI) | Links to the reviewer's public profile. |
reviews.distribution | object | Star ratings for the accessible public written reviews, with the source total kept separate. |
reviews.distribution.cohort | string | The group of reviews used for this distribution. |
reviews.distribution.reviewCount | integer | Number of public written reviews in items. |
reviews.distribution.sourceReportedReviewCount | integer | Review total reported by Whatnot. It may include reviews outside the written-review group. |
reviews.distribution.bins | array of objects | Counts and shares for each star rating in the written-review group. |
reviews.distribution.bins[].rating | integer | Star rating for this group of written reviews. |
reviews.distribution.bins[].count | integer | Number of reviews with this star rating in items. |
reviews.distribution.bins[].share | number | Count divided by the accessible review count, from 0 to 1. Zero when there are no written reviews. |
shopListings | array of objects | Lists public listings shown in the seller shop. |
shopListings[] | object | Gives one shop listing. |
shopListings[].listingId | string | Gives the stable shop listing identifier. |
shopListings[].title | string | Gives the public shop listing title. |
shopListings[].listingUrl | string (URI) | Links to the public shop listing. |
shopListings[].price | object | Groups the shop listing price and currency. |
shopListings[].price.amount | number | Gives the numeric shop listing price. |
shopListings[].price.currency | string | Gives the currency code for the shop listing price. |
shopListings[].saleFormat | string | Gives the sale format shown for the shop listing. |
shopListings[].quantity | integer | Gives the quantity shown for the shop listing. |
shopListings[].status | string | Gives the shop listing status shown by the source. |
shopListings[].updatedAt | string (date-time) | Gives the last update time shown for the shop listing. |
showHistory | array of objects | Lists public historical or scheduled shows shown for the seller. |
showHistory[] | object | Gives one seller show. |
showHistory[].showId | string | Gives the stable seller show identifier. |
showHistory[].title | string | Gives the public seller show title. |
showHistory[].status | string | Gives the status shown for the seller show. |
showHistory[].startTime | string (date-time) | Gives the public seller show start time. |
showHistory[].viewerCount | integer | Gives the viewer count shown for the seller show. |
showHistory[].thumbnailUrl | string (URI) | Links to the public seller show thumbnail. |
showHistory[].showUrl | string (URI) | Links to the public seller show. |
sourceUrl | string (URI) | Links to the public Whatnot profile for the seller. |
retrievedAt | string (date-time) | Gives the time when the Actor retrieved the seller profile. |
Seller profile row example
This genuine row is shortened. The shop listings and show history use "..." for omitted data. All eight collected reviews and their rating distribution are shown.
{"recordType": "sellerProfile","username": "rosestoys","sourceUrl": "https://www.whatnot.com/user/rosestoys","retrievedAt": "2026-10-06T02:11:25.539Z","sellerId": "UHVibGljVXNlck5vZGU6MzkxNzkyOTY=","biography": "Message me to bundle items & save on shipping!\n\nCool old toys deserve cool new homes 🌹\nVintage toys • collectibles • nostalgic finds\n\nNew treasures added weekly!","followingCount": 107,"profileImageUrl": "https://images.whatnot.com/eyJidWNrZXQiOiAid2hhdG5vdC1pbWFnZXMiLCAia2V5IjogInVzZXJzLzM5MTc5Mjk2L2ZiMjg2ZmMxLTdjYmItNDIzMi04ZTVmLWUyMDBiNDU0ZTBmNC5qcGVnIiwgImVkaXRzIjogeyJyZXNpemUiOiB7IndpZHRoIjogbnVsbCwgImhlaWdodCI6IG51bGwsICJmaXQiOiAiY29udGFpbiIsICJiYWNrZ3JvdW5kIjogeyJyIjogMjU1LCAiZyI6IDI1NSwgImIiOiAyNTUsICJhbHBoYSI6IDF9fX19?signature=30d7c7ce63584a17edbf2a549a84cc9722a3688df2ecd43cd895c0dad5526f0a","displayName": "Rose’s Toy Store","followerCount": 67,"soldCount": 125,"rating": 5,"reviewCount": 26,"isVerified": false,"isLive": false,"shippingPerformance": "0 days","reviews": {"items": [{"rating": {"average": 5,"overall": {"value": 5,"label": "Overall"},"shipping": {"value": 5,"label": "Shipping"},"packaging": {"value": 5,"label": "Packaging"},"accuracy": {"value": 5,"label": "Accuracy"}},"reviewedAt": "2026-10-01T00:21:17.000Z","reviewer": {"username": "vannonwright90","displayName": "Vannon Wright","profileUrl": "https://www.whatnot.com/user/vannonwright90"},"reviewId": "U2VsbGVyUmV2aWV3Tm9kZTo0NzE2MjMzOTE6MzkxNzkyOTY6NDE4MjI4OTY=","text": "good service vary polite"},{"rating": {"average": 5,"overall": {"value": 5,"label": "Overall"},"shipping": {"value": 5,"label": "Shipping"},"packaging": {"value": 5,"label": "Packaging"},"accuracy": {"value": 5,"label": "Accuracy"}},"reviewedAt": "2026-09-23T21:40:24.000Z","reviewer": {"username": "andrelyl","displayName": "Andre Lyle","profileUrl": "https://www.whatnot.com/user/andrelyl"},"reviewId": "U2VsbGVyUmV2aWV3Tm9kZTo0ODI0MTE4NTk6MzkxNzkyOTY6Njg5ODgzMzE=","text": "perfect\n"},{"rating": {"average": 5,"overall": {"value": 5,"label": "Overall"},"shipping": {"value": 5,"label": "Shipping"},"packaging": {"value": 5,"label": "Packaging"},"accuracy": {"value": 5,"label": "Accuracy"}},"reviewedAt": "2026-09-21T18:28:51.000Z","reviewer": {"username": "sleepysallysle","displayName": "SleepySally","profileUrl": "https://www.whatnot.com/user/sleepysallysle"},"reviewId": "U2VsbGVyUmV2aWV3Tm9kZTo0Nzc3NDU4MDQ6MzkxNzkyOTY6MTQ2ODY5ODY=","text": {"buyer": "Came fast asf and was exactly the picture thank you :)!\n","sellerReply": "Thank you so much! Enjoy and come back soon!"}},{"rating": {"average": 5,"overall": {"value": 5,"label": "Overall"},"shipping": {"value": 5,"label": "Shipping"},"packaging": {"value": 5,"label": "Packaging"},"accuracy": {"value": 5,"label": "Accuracy"}},"reviewedAt": "2026-09-11T23:17:39.000Z","reviewer": {"username": "koolizzy","displayName": "koolizzy","profileUrl": "https://www.whatnot.com/user/koolizzy"},"reviewId": "U2VsbGVyUmV2aWV3Tm9kZTo0NjQ1MTU3NDE6MzkxNzkyOTY6Njc2MzYzNg==","text": {"buyer": "Arrived safe and exactly as pictures show, thank you so much!!!","sellerReply": "Thank you for your purchase! Please come back and shop with us any time!! Thanks again 😊"}},{"rating": {"average": 5,"overall": {"value": 5,"label": "Overall"},"shipping": {"value": 5,"label": "Shipping"},"packaging": {"value": 5,"label": "Packaging"},"accuracy": {"value": 5,"label": "Accuracy"}},"reviewedAt": "2026-09-11T01:15:07.000Z","reviewer": {"username": "th3fabri8tor","displayName": "Victor Murdock","profileUrl": "https://www.whatnot.com/user/th3fabri8tor"},"reviewId": "U2VsbGVyUmV2aWV3Tm9kZTo0NTU4ODYwMjQ6MzkxNzkyOTY6NzA5ODM2OTk=","text": {"buyer": "A+","sellerReply": "Thank you 🙏 "}},{"rating": {"average": 5,"overall": {"value": 5,"label": "Overall"},"shipping": {"value": 5,"label": "Shipping"},"packaging": {"value": 5,"label": "Packaging"},"accuracy": {"value": 5,"label": "Accuracy"}},"reviewedAt": "2026-08-19T23:23:58.000Z","reviewer": {"username": "angelawol82005","displayName": "Angela Marie Madden Wolfe","profileUrl": "https://www.whatnot.com/user/angelawol82005"},"reviewId": "U2VsbGVyUmV2aWV3Tm9kZTo0NDA5MDc3NTE6MzkxNzkyOTY6MzMwMzM5MDI=","text": {"buyer": "as described. great packaging","sellerReply": "So glad to hear it! Please enjoy and come back anytime! Great buyer"}},{"rating": {"average": 5,"overall": {"value": 5,"label": "Overall"},"shipping": {"value": 5,"label": "Shipping"},"packaging": {"value": 5,"label": "Packaging"},"accuracy": {"value": 5,"label": "Accuracy"}},"reviewedAt": "2026-08-17T19:33:39.000Z","reviewer": {"username": "nataliefunburg","displayName": "Natalie Funburg","profileUrl": "https://www.whatnot.com/user/nataliefunburg"},"reviewId": "U2VsbGVyUmV2aWV3Tm9kZTo0NDA5MjkwMTU6MzkxNzkyOTY6NjY3MDQ2MDY=","text": {"buyer": "Loved the stream! Thanks for the awesome buys!! ","sellerReply": "Thank you for your support Natalie! We hope you and your daughter love your pick ups! Happy collecting :)"}},{"rating": {"average": 5,"overall": {"value": 5,"label": "Overall"},"shipping": {"value": 5,"label": "Shipping"},"packaging": {"value": 5,"label": "Packaging"},"accuracy": {"value": 5,"label": "Accuracy"}},"reviewedAt": "2026-08-15T17:18:37.000Z","reviewer": {"username": "christiansings4u","displayName": "Christian Feazell","profileUrl": "https://www.whatnot.com/user/christiansings4u"},"reviewId": "U2VsbGVyUmV2aWV3Tm9kZTo0NDA4OTYxMTI6MzkxNzkyOTY6NjQ5OTkzMzU=","text": {"buyer": "All good. ","sellerReply": "Thank you! We will probably do another Pokémon show soon"}}],"distribution": {"cohort": "public_written_reviews","reviewCount": 8,"sourceReportedReviewCount": 26,"bins": [{"rating": 1,"count": 0,"share": 0},{"rating": 2,"count": 0,"share": 0},{"rating": 3,"count": 0,"share": 0},{"rating": 4,"count": 0,"share": 0},{"rating": 5,"count": 8,"share": 1}]}},"showHistory": "...","shopListings": "..."}
Category insight record fields
| Field | Type | What it does |
|---|---|---|
recordType | string | Identifies this row as a category insight. |
category | object | Groups the public category details. |
category.name | string | Gives the public category name. |
category.slug | string | Gives the public category slug when supplied. |
category.url | string (URI) | Links to the public category page. |
rank | integer | Gives the position in Whatnot's viewer-count order, starting at 1. This source order may differ from the current viewer counts. |
viewerCount | integer | Gives the viewer count shown for the category. |
livestreamCount | integer | Gives the livestream count shown for the category. |
subcategories | array of objects | Lists public subcategories shown for the category. |
subcategories[] | object | Gives one public subcategory. |
subcategories[].name | string | Gives the public subcategory name. |
subcategories[].slug | string | Gives the public subcategory slug when supplied. |
subcategories[].url | string (URI) | Links to the public subcategory page. |
subcategories[].viewerCount | integer | Gives the viewer count shown for the subcategory. |
subcategories[].livestreamCount | integer | Gives the livestream count shown for the subcategory. |
shows | array of objects | Lists public shows discovered in the category. |
shows[] | object | Gives one category show. |
shows[].showId | string | Gives the stable category show identifier. |
shows[].title | string | Gives the public category show title. |
shows[].status | string | Gives the status shown for the category show. |
shows[].startTime | string (date-time) | Gives the public category show start time. |
shows[].viewerCount | integer | Gives the viewer count shown for the category show. |
shows[].thumbnailUrl | string (URI) | Links to the public category show thumbnail. |
shows[].showUrl | string (URI) | Links to the public category show. |
shows[].seller | object | Groups seller details shown for the category show. |
shows[].seller.username | string | Gives the seller's public Whatnot username. |
shows[].seller.displayName | string | Gives the seller's public display name. |
shows[].seller.profileUrl | string (URI) | Links to the seller's public profile. |
sellerLeaderboard | array of objects | Lists public seller leaderboard entries shown for the category. |
sellerLeaderboard[] | object | Gives one category leaderboard entry. |
sellerLeaderboard[].rank | integer | Gives the seller rank shown by the source. |
sellerLeaderboard[].username | string | Gives the seller's public Whatnot username. |
sellerLeaderboard[].displayName | string | Gives the seller's public display name. |
sellerLeaderboard[].profileUrl | string (URI) | Links to the seller's public profile. |
sellerLeaderboard[].followerCount | integer | Gives the follower count shown for the seller. |
sellerLeaderboard[].soldCount | integer | Gives the sold-item count shown for the seller. |
sellerLeaderboard[].activeShowCount | integer | Gives the active show count shown for the seller. |
sourceUrl | string (URI) | Links to the public Whatnot source for the category. |
retrievedAt | string (date-time) | Gives the time when the Actor retrieved the category record. |
Category insight row example
This unshortened row is copied from a successful current-beta run:
{"recordType": "categoryInsight","category": {"name": "Trading Card Games","slug": "trading_card_games","url": "https://www.whatnot.com/tag/trading_card_games"},"sourceUrl": "https://www.whatnot.com/tag/trading_card_games","retrievedAt": "2026-10-06T02:14:42.642Z","rank": 2,"viewerCount": 27191,"livestreamCount": 852,"subcategories": [{"name": "Trading Card Games","slug": "trading_card_games","url": "https://www.whatnot.com/tag/trading_card_games","viewerCount": 27191,"livestreamCount": 852},{"name": "Pokémon Cards","slug": "pokemon_cards","url": "https://www.whatnot.com/tag/pokemon_cards","viewerCount": 22714,"livestreamCount": 617},{"name": "One Piece Cards","slug": "one_piece_cards","url": "https://www.whatnot.com/tag/one_piece_cards","viewerCount": 1562,"livestreamCount": 52},{"name": "Magic: The Gathering","slug": "magic_cards","url": "https://www.whatnot.com/tag/magic_cards","viewerCount": 1285,"livestreamCount": 63},{"name": "Dragon Ball Cards","slug": "dragonball_cards","url": "https://www.whatnot.com/tag/dragonball_cards","viewerCount": 381,"livestreamCount": 26},{"name": "Yu-Gi-Oh! Cards","slug": "yugioh_cards","url": "https://www.whatnot.com/tag/yugioh_cards","viewerCount": 320,"livestreamCount": 23},{"name": "Bo Jackson Battle Arena","slug": "bo_jackson_battle_arena_category","url": "https://www.whatnot.com/tag/bo_jackson_battle_arena_category","viewerCount": 244,"livestreamCount": 6},{"name": "Other TCG","slug": "tcg_other","url": "https://www.whatnot.com/tag/tcg_other","viewerCount": 172,"livestreamCount": 21},{"name": "Lorcana","slug": "lorcana","url": "https://www.whatnot.com/tag/lorcana","viewerCount": 166,"livestreamCount": 10},{"name": "Naruto Cards","slug": "naruto_cards","url": "https://www.whatnot.com/tag/naruto_cards","viewerCount": 104,"livestreamCount": 6},{"name": "Riftbound","slug": "riftbound_category","url": "https://www.whatnot.com/tag/riftbound_category","viewerCount": 90,"livestreamCount": 8},{"name": "Weiß Schwarz","slug": "weiß_schwarz","url": "https://www.whatnot.com/tag/wei%C3%9F_schwarz","viewerCount": 79,"livestreamCount": 9},{"name": "VeeFriends","slug": "veefriends","url": "https://www.whatnot.com/tag/veefriends","viewerCount": 65,"livestreamCount": 4},{"name": "Union Arena","slug": "union_arena","url": "https://www.whatnot.com/tag/union_arena","viewerCount": 20,"livestreamCount": 3},{"name": "Palworld","slug": "palworld","url": "https://www.whatnot.com/tag/palworld","viewerCount": 3,"livestreamCount": 1}],"shows": [{"title": "⚡🐻THE LEGENDARIEST COLLECTION⚡🚘","status": "PLAYING","showId": "769f2615-de0e-4f9a-8eb7-7ab737d4cc53","startTime": "2026-10-05T22:13:05.348Z","viewerCount": 1864,"thumbnailUrl": "https://images.whatnot.com/eyJidWNrZXQiOiAid2hhdG5vdC1pbWFnZXMiLCAia2V5IjogImxpdmVzdHJlYW1fdGh1bWJuYWlscy81NWRlYzU2Ni1mNzk2LTRkYzctOWZhZS0yODY5MTdjYzdlYWYuanBlZyIsICJlZGl0cyI6IHsicmVzaXplIjogeyJ3aWR0aCI6IDQxNCwgImhlaWdodCI6IDY0MCwgImZpdCI6ICJjb3ZlciIsICJiYWNrZ3JvdW5kIjogeyJyIjogMjU1LCAiZyI6IDI1NSwgImIiOiAyNTUsICJhbHBoYSI6IDF9fX0sICJvdXRwdXRGb3JtYXQiOiAid2VicCJ9?signature=c6044d60c256fc7168e2c9c03e5a6b2ca4c0aeba1a24846de18c0cf12aacfdad","showUrl": "https://www.whatnot.com/live/769f2615-de0e-4f9a-8eb7-7ab737d4cc53","seller": {"username": "spacenarwhalz","displayName": "Michael Granlund","profileUrl": "https://www.whatnot.com/user/spacenarwhalz"}},{"title": "FREE UNRELEASED PIKACHU! $1 START SINGLES","status": "PLAYING","showId": "7c7a4c99-d93d-415b-8f11-70b9bd4d933a","startTime": "2026-10-05T21:48:20.989Z","viewerCount": 813,"thumbnailUrl": "https://images.whatnot.com/eyJidWNrZXQiOiAid2hhdG5vdC1pbWFnZXMiLCAia2V5IjogImxpdmVzdHJlYW1fdGh1bWJuYWlscy85MDViYThmOC1lODI4LTQ5ZDAtOGQ3My1jZWRmZGY0ZWZjMmIuanBnIiwgImVkaXRzIjogeyJyZXNpemUiOiB7IndpZHRoIjogNDE0LCAiaGVpZ2h0IjogNjQwLCAiZml0IjogImNvdmVyIiwgImJhY2tncm91bmQiOiB7InIiOiAyNTUsICJnIjogMjU1LCAiYiI6IDI1NSwgImFscGhhIjogMX19fSwgIm91dHB1dEZvcm1hdCI6ICJ3ZWJwIn0=?signature=ee3e24f04b4703c07de9b4a2f8f01d02845a9676d45ef001595b8fb1e3e7c66b","showUrl": "https://www.whatnot.com/live/7c7a4c99-d93d-415b-8f11-70b9bd4d933a","seller": {"username": "shop_exp","displayName": "expshop","profileUrl": "https://www.whatnot.com/user/shop_exp"}}],"sellerLeaderboard": [{"rank": 1,"username": "neoworld","profileUrl": "https://www.whatnot.com/user/neoworld","displayName": "NeoWorld","followerCount": 188992,"soldCount": 249314,"activeShowCount": 0},{"rank": 2,"username": "legacy_auction_house","profileUrl": "https://www.whatnot.com/user/legacy_auction_house","displayName": "Legacy Auction House ","followerCount": 433540,"soldCount": 1007932}]}
💳 Pricing
This Actor uses pay-per-event pricing. A saved public listing, live show, or seller profile row charges its matching Listing, Live show, or Seller profile event. Current prices and user tiers appear in the Store pricing panel. Category insights have no separate buyer-facing event title in the current pricing configuration.
🔌 Integrations
Use the Apify Console or API to start runs and read the default dataset. The Output tab links to the same dataset for export and follow-up processing.
Watch the walkthrough:
❓ FAQ
Which fields are used for each search?
Choose the resultType and findBy values that match your target. For example, use keywords or a search URL for search surfaces, seller usernames or source seller IDs for seller profiles, and a category for category-based results. Keywords can also search each seller's shop when you use seller usernames or direct URLs. Other fields for unrelated choices are ignored.
What happens when the same listing matches more than one keyword?
The Actor saves the first eligible occurrence and ignores later matches for the same source listing. The saved row reflects the first match and does not combine later matches.
What if Whatnot does not show a field?
That field can be absent from the row. The Actor keeps public source values and does not guess a missing value.
Can I request seller reviews and past shows?
Yes. Select seller profiles and turn on includeReviews or includeShowHistory. The Actor returns public reviews and historical or scheduled shows when the source provides them.
Why did my run return fewer rows than maxItems?
maxItems is a cap, not a promise. The public source may return fewer eligible rows because listings, shows, sellers, or categories can be unavailable or filtered out.
How current are prices and viewer counts?
They reflect what Whatnot showed when the Actor retrieved the row. Use retrievedAt to see that time. The source can change after the run finishes.
Do I need a Whatnot login or API key?
No. The Actor reads public Whatnot pages and does not need a customer-supplied Whatnot login or API key.
Does this collect private data or place orders?
No. It does not collect private or account-only data, capture live video or audio, buy or bid, or change Whatnot accounts or listings.
📝 Changelog
v1.0 (06-10-2026)
- Seller reviews now use
reviews.itemsfor review rows andreviews.distributionfor star counts and shares. Update tools that read the old review list. - Review ratings can now include separate feedback scores. Review text can include a buyer's text and the seller's reply. Update tools that expect only a number or plain text.
- Find seller profiles by source seller ID as well as username.
- Search a seller's shop with keywords and collect past shows when requested.
- Choose a current day, current week, or live seller leaderboard for category insights.
- Get listing dates, offer status, and catalog price ranges when Whatnot provides them.
- Get seller bios, following counts, profile images, and premier shop status when available.
- Direct live show results can include watchlist counts and a current auction bid snapshot when available.
- Mixed search reads more result pages and fills in listings from product search. It applies the chosen listing filters and order.
- Category searches match the chosen category, and category ranks follow Whatnot's results ordered by viewer count.
- Repeated source items no longer use up the item limit for the same search.
v0.0 (03-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Facebook Marketplace Listings Scraper. Collect public local listings and compare prices, availability, locations, images, and source links.
- TikTok Shop Scraper No Cookies. Collect public TikTok Shop products with seller, price, demand, variant, and shipping data.
- eBay Seller Scraper. Review public eBay seller profiles, listing snippets, feedback summaries, and optional feedback reviews.
- Whatnot Listings Scraper. Compare public Whatnot listing prices, sale formats, conditions, seller ratings, and source links.
- Whatnot Seller Scraper. Collect public Whatnot seller profiles, products, reviews, and livestreams for seller research.
Made with ❤️ by Maxime Dupré