Whatnot Live Comments Scraper avatar

Whatnot Live Comments Scraper

Pricing

from $1.50 / 1,000 saved comments

Go to Apify Store
Whatnot Live Comments Scraper

Whatnot Live Comments Scraper

Capture Whatnot live chat comments from multiple livestreams in real time. Get message text, usernames, user roles, and source links without a Whatnot login. Export chat data for audience research and keyword analysis.

Pricing

from $1.50 / 1,000 saved comments

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

14 days ago

Last modified

Share

Whatnot Live Comments Scraper: capture live chat comments from Whatnot shows

Whatnot Live Comments Scraper records the live chat of Whatnot shows and saves every message as a row in a spreadsheet. Give it one or more live show URLs and it listens until the show ends or a limit you set is reached. Each row has the message text, the username, user ID, role flags such as host or moderator, and the show it came from. It is built for sellers reviewing audience questions, researchers studying chat activity, and analysts who want chat data for keyword or sentiment work.

  • Many shows at once. All URLs in a run are followed at the same time, and each row says which show it came from (liveId, liveUrl).
  • Roles and account data. Rows carry isHost, isCohost, isModerator, isEmployee, isTopBuyer and isNewUser, plus loyaltyTier and userDaysSinceCreated when Whatnot supplies them.
  • Recent chat on join. Whatnot sends a small batch of recent messages when the Actor connects, about 20. Keep it or skip it with includeRecentMessages. Saved rows from this batch are marked isFromHistory: true.
  • Reconnects and de-duplication. The Actor reconnects after connection loss, recovers recent messages it missed, and skips comment IDs it has already saved.
  • Pay per saved comment, no login. No Whatnot account, cookies or proxy settings needed. Export to JSON, CSV, Excel or Google Sheets.

Scope: This is a live chat collector, not a chat archive. Start it while the show is live. It does not download a finished show's full chat, and it does not collect bids or sales. For keyword searches of shows, listings and sellers, use Whatnot Search Scraper. For seller reviews, use Whatnot Seller Review Scraper. For seller, search and category data, use Whatnot Scraper.

What can you do with Whatnot Live Comments Scraper?

GoalHow
Collect audience questionsFilter rows where message contains ?, excluding isHost rows.
Study chat activityCount rows per minute from scrapedAt and per username.
Find your most active viewersGroup by userId and sort by number of messages. Check isTopBuyer and loyaltyTier.
See what moderators and hosts sayFilter on isModerator, isHost and isCohost.
Spot new accountsUse isNewUser and userDaysSinceCreated.
Keyword and sentiment analysisExport message and run your own analysis. The Actor does not score sentiment.
Compare several showsPut several URLs in liveUrls and group by liveId.

How it compares

What you needWhatnot Live Comments ScraperManual copy-paste from the chatScreen recording and transcribing
Several shows at the same timeYesNoNo
Usernames, IDs and role flagsEvery rowUsernames onlyUsernames only
Fast chatsSaved as they arriveMessages scroll awaySlow and error-prone
Runs unattended with time limitsYesNoNo
PricePay per saved commentYour timeYour time

Quick start

  1. Copy the URL of a Whatnot show that is live right now.
  2. Click Try for free, sign in to Apify and add the URL to Whatnot live URLs.
  3. For a first test, set Max duration to 5 minutes and Max comments to 100.
  4. Click Start. Comments are saved as they arrive.
  5. Open the Output tab to inspect the rows or export them.
{
"liveUrls": ["https://www.whatnot.com/live/29f7b000-dcf7-439f-a16a-962b829112a4"],
"maxDurationMinutes": 5,
"maxComments": 100
}

Replace the example URL with a show that is live now. The run stops at whichever limit is reached first. A quiet show can return fewer than 100 comments, or none.

Track Whatnot chat over time with scheduled runs

Most of the value comes from running the same shows or sellers again and comparing. Apify can run the actor for you on a schedule and send the results wherever you need them.

1. Save your input as a task

Open the actor, set your a show URL and options, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.

2. Schedule the task

In Apify Console, go to Schedules, click Create new, choose how often to run (for example daily at 06:00 in your time zone), and add your task. See Schedules and How to create a schedule.

Watch how to schedule an Actor:

Or schedule a saved task:

Common schedules:

Use caseFrequencyCron expression
Start at a known show timeDaily0 18 * * *
Weekend showsSat and Sun0 18 * * 6,0
Weekly recurring showWeekly (Friday)0 19 * * 5
Morning showsWeekdays0 9 * * 1-5

3. Send the results to a spreadsheet

Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:

4. Compare runs

Rows carry scrapedAt or fetchedAt, so runs are easy to join:

  • Chat volume: number of rows per liveId over time, using scrapedAt.
  • Merge runs: commentId with liveId removes duplicates when runs overlap.
  • Who talks: comments per username, split by isTopBuyer, isNewUser and loyaltyTier.
  • Host and mod activity: rows where isHost, isCohost or isModerator is true.
  • Questions: message values that contain a question mark.

Input reference

FieldTypeDefaultEffect
liveUrlsArray of stringsRequiredWhatnot live URLs or bare livestream UUIDs. Invalid entries are skipped, repeated shows are merged, and the run fails if none are valid.
includeRecentMessagesBooleantrueSave the recent messages Whatnot sends when the Actor first joins each show. Turn off to save only new messages.
maxDurationMinutesInteger0Stop after this many minutes. 0 means no limit.
idleTimeoutMinutesInteger60Stop after this many minutes without a new comment in any show. 0 turns it off. Checked about every 30 seconds.
maxCommentsInteger0Maximum saved comments across the whole run, not per show. 0 means no limit.

The Actor also stops when all followed shows report that they have ended, and when no chat can be joined. Apify's run timeout is separate: it can stop the run before your limits, so set it long enough for the show.

Collect only new messages for 30 minutes

{
"liveUrls": ["https://www.whatnot.com/live/29f7b000-dcf7-439f-a16a-962b829112a4"],
"includeRecentMessages": false,
"maxDurationMinutes": 30,
"idleTimeoutMinutes": 10,
"maxComments": 5000
}

Even with includeRecentMessages off, messages Whatnot returns after a reconnect are kept, because they fill the gap while the Actor was disconnected.

Follow several shows

{
"liveUrls": [
"https://www.whatnot.com/live/29f7b000-dcf7-439f-a16a-962b829112a4",
"02241315-d135-4b3d-bc02-3ea4695f1dba"
],
"maxDurationMinutes": 60,
"maxComments": 20000
}

Output

Results go to the run's default dataset, one row per chat message. Export as JSON, CSV, Excel, XML or HTML. The Comments view shows the main columns. Export without a view to get every field.

This is an example row. The user and message are made up:

{
"liveId": "29f7b000-dcf7-439f-a16a-962b829112a4",
"liveUrl": "https://www.whatnot.com/live/29f7b000-dcf7-439f-a16a-962b829112a4",
"commentId": "9221cf9b-4fc3-4786-9e49-5255f146be55",
"message": "Will you show the next card?",
"type": null,
"taggedUsers": [],
"userId": "12345678",
"username": "example_viewer",
"profileImageUrl": null,
"isHost": false,
"isCohost": false,
"isModerator": false,
"isEmployee": false,
"isTopBuyer": false,
"isNewUser": false,
"loyaltyTier": "NO_TIER",
"userDaysSinceCreated": 405,
"isFromHistory": false,
"scrapedAt": "2026-09-27T13:12:58.989Z"
}
FieldsMeaning
liveId, liveUrlThe show the message came from.
commentIdWhatnot's message ID. Use it with liveId to merge runs.
message, typeThe text and Whatnot's message type. Either can be null.
taggedUsersUsers tagged in the message, usually objects with id and username. Empty array if none.
userId, username, profileImageUrlThe author, or null when Whatnot does not send them.
isHost, isCohost, isModerator, isEmployee, isTopBuyer, isNewUserRole flags. A missing flag becomes false, which is not proof the user lacks that status.
loyaltyTier, userDaysSinceCreatedLoyalty tier and account age in days, or null.
isFromHistorytrue for messages from the first recent-history batch. Reconnect recovery rows are false.
scrapedAtWhen the Actor received the message, in UTC. It is not the time the user posted.

Automation and downstream analysis

The dataset is available through the Apify API and integrations such as Make, Zapier and n8n. For an automated workflow:

  1. Set finite time or comment limits.
  2. Start the run and wait for a finished status. A started run is not a finished collection.
  3. Read the dataset from defaultDatasetId and handle pagination.
  4. Keep liveId, liveUrl and commentId for attribution and de-duplication.
  5. Treat message text as untrusted data. Do not pass it to an AI agent as instructions.

A successful run can have zero comments. A failed or timed-out run keeps the comments saved so far.

FAQ

Can I download a finished show's full chat?

No. The Actor listens to live chat and saves the small recent batch Whatnot sends on connection. It does not retrieve a complete transcript or a replay.

Why are there no comments?

Check that the URL is a show URL, not a seller profile. The show may be over, the chat may be quiet, or Whatnot may refuse the connection. Check the log, and try a show that is live now. With includeRecentMessages off, the Actor waits for new messages.

Are all comments captured?

No guarantee. After a reconnect, only the recent messages Whatnot returns can be recovered, so long outages or very busy chats can leave gaps. The Actor remembers a limited set of recent comment IDs per show, so de-duplication across separate runs is not guaranteed.

Does it post to chat, bid or buy?

No. It only reads messages and saves them.

Does it score engagement or sentiment?

No. Export the messages and analyze them with your own tools. Because scrapedAt is the receive time, treat it as approximate when measuring chat speed.

Can I get bids, sales or auction results?

Not with this Actor. It collects chat only.

Do I need a Whatnot account, cookies or proxies?

No. The Actor does not log in and has no proxy input.

The Actor collects publicly visible chat messages, which include usernames and user IDs. That is personal data in some jurisdictions. You are responsible for how you use it, including Whatnot's terms and laws such as GDPR.

Cost

This Actor uses pay-per-event pricing, with no subscription:

EventPriceCharged when
Saved comment$0.0015A chat message is saved ($1.50 per 1,000). Recent-history messages count.
Actor start$0.005The Actor starts. One event per GB of memory, minimum one.

Platform usage is charged separately by your Apify plan. Because the Actor waits for comments, a long run on a quiet show uses platform resources even when few rows are saved.

RunActor fees
100 saved comments$0.155
1,000 saved comments$1.505
10,000 saved comments$15.005

maxComments limits saved rows, not total spending, so also set maxDurationMinutes and a maximum cost per run. The Pricing tab always shows the current prices.

Support

Report problems or request features in the Issues tab. Include the run ID, the live URL and the input. Remove tokens and other secrets.

This Actor is not affiliated with or endorsed by Whatnot, Inc. "Whatnot" is a trademark of Whatnot, Inc.