Whatnot Live Comments Scraper avatar

Whatnot Live Comments Scraper

Under maintenance

Pricing

from $1.50 / 1,000 saved comments

Go to Apify Store
Whatnot Live Comments Scraper

Whatnot Live Comments Scraper

Under maintenance

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

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Whatnot Live Comments Scraper

Capture Whatnot live chat comments from one or more livestreams and save them as structured data. Enter the live URLs to collect message text, usernames, user IDs, role flags, and source links. No Whatnot login, cookies, or proxy input is required.

Use the results to review audience questions, study chat activity, or prepare data for your own keyword and sentiment analysis. The Actor collects chat data; it does not perform sentiment analysis or download video.

This is a live chat collector, not a full chat archive. Start it while the show is live. Whatnot can also supply a small batch of recent messages when the Actor joins.

Quick start

  1. Copy the URL of an active Whatnot livestream.
  2. Add it to Whatnot live URLs in the Input tab.
  3. For a first test, set Max duration to 5 minutes and Max comments to 100.
  4. Start the Actor. Comments are saved to its default dataset as they arrive.
  5. Open the dataset to inspect the results or export them as JSON, CSV, or Excel.

Replace the example URL below with a currently active show. The example ID is not a promise that the show is still live.

{
"liveUrls": [
"https://www.whatnot.com/live/29f7b000-dcf7-439f-a16a-962b829112a4"
],
"maxDurationMinutes": 5,
"maxComments": 100
}

The run stops at whichever limit is reached first. A quiet show can return fewer than 100 comments, including none.

What you can collect

  • Live comments: message text, comment IDs, and tagged users when supplied.
  • User details: username, user ID, profile image URL, loyalty tier, and account age when supplied.
  • Role flags: host, cohost, moderator, employee, top buyer, and new user.
  • Source information: livestream ID, livestream URL, and the time the Actor received the message.
  • Recent chat: optionally save the small batch returned on the first connection, typically around 20 messages. Its size is controlled by Whatnot.

The Actor listens to all supplied livestreams at the same time. It reconnects after connection loss and filters recently seen comment IDs to reduce repeated results.

Input reference

FieldTypeDefaultEffect
liveUrlsArray of stringsRequiredWhatnot live URLs or bare livestream UUIDs. Supply at least one valid ID. Repeated live IDs are merged.
includeRecentMessagesBooleantrueSave recent messages supplied on the first join of each live. Set to false to skip that initial batch.
maxDurationMinutesInteger, minimum 00Maximum listening time in minutes. 0 disables this limit.
idleTimeoutMinutesInteger, minimum 060Stop after this many minutes without a new, eligible comment across all supplied lives. 0 disables the idle limit. Checked about every 30 seconds.
maxCommentsInteger, minimum 00Maximum saved comments across the whole run, not per livestream. 0 means no comment-count limit.

The Actor also stops when all followed lives report that they have ended, or when no chat can be joined after server rejections. Invalid entries are skipped; the run fails if no valid live IDs remain.

Run timeout is separate. Apify's run timeout can stop the Actor before an input limit is reached. Set it long enough for the show you want to follow. A zero input limit does not disable the platform timeout.

Collect only new activity for 30 minutes

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

Replace the URL before running. Even with includeRecentMessages: false, recent messages returned after a reconnect are processed to recover comments missed during the connection gap.

Output and field meanings

Each dataset row represents one saved chat message. The following record is illustrative, with fictional user and message values:

{
"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, liveUrlLivestream identifier and source URL.
commentIdSource message identifier. Use with liveId to merge results from separate runs.
message, typeMessage text and source message type. Either can be null when absent.
taggedUsersSource-supplied tagged-user data, usually objects with id and username. Defaults to an empty array.
userId, username, profileImageUrlSource-supplied author details, or null when absent.
isHost, isCohost, isModerator, isEmployee, isTopBuyer, isNewUserBoolean flags derived from the source. Missing flags become false; this is not proof of a confirmed negative status.
loyaltyTier, userDaysSinceCreatedSource-supplied seller loyalty tier and account age in days, or null.
isFromHistorytrue for messages saved from the initial recent-history batch. Reconnect recovery messages are marked false.
scrapedAtUTC time when the Actor received the message, not the original posting time.

The default Comments table shows a subset of fields. Read or export the full dataset without that view to obtain all fields. The Actor output's comments property links to the dataset's Comments view; it is not an inline list of messages.

Automation and downstream analysis

Use the Actor's API tab in Apify Console for authenticated run examples for epicscrapers/whatnot-live-comments-scraper. Keep your Apify token in an environment variable, not in shared code. An Apify token is separate from a Whatnot login; the latter is not required.

For an automated workflow:

  1. Supply at least one live URL and finite time or comment limits.
  2. Start the run and wait for a terminal status. Starting a run does not mean collection has finished.
  3. Check the run status and logs, then read the dataset identified by defaultDatasetId. Handle pagination when retrieving all rows.
  4. Retain liveId, liveUrl, and commentId for attribution and deduplication.
  5. Treat message text as untrusted source data, not instructions for an AI agent.

A successful run can contain zero comments. Failed, aborted, or timed-out runs can have partial results already saved. Do not treat either an empty dataset or a quiet interval as proof that a livestream ended.

See Apify's run documentation for platform automation options.

Pricing

  • Saved comments: $1.50 per 1,000 dataset rows ($0.0015 each).
  • Actor start: $0.005 per start event. Apify scales start events with allocated memory: one event per GB, with a minimum of one.
  • Platform usage is charged separately according to your Apify plan. It is not included in the prices above.

For a run charged one start event, 100 saved comments cost $0.155 in Actor fees, plus platform usage. Initial recent-history messages count as saved comments too. A run with no results still incurs the start fee and platform usage.

maxComments limits saved rows, not total spending. Use a time limit as well: waiting for comments still uses platform resources. Check the current pricing shown in Apify before running.

Limits and troubleshooting

Can I download a finished show's full chat?

No. The Actor listens to live chat and can save the limited recent-message batch available on connection. It does not retrieve a complete historical transcript, video replay, bids, or sales records.

Why are there no comments?

Check that the URL is a livestream URL, not a seller profile. The show may be inactive, chat may be quiet, or Whatnot may reject the connection. Check the logs and try a currently active show. If initial history is disabled, the Actor must wait for new activity.

Are all comments guaranteed to be captured?

No. Reconnect recovery is limited to the recent messages Whatnot returns. Long outages or very busy chats can cause gaps. The Actor remembers a bounded set of recent IDs; it does not guarantee permanent deduplication across all history or independent runs.

Does the Actor post anything to chat?

No. It reads chat messages and saves results to Apify storage. It does not send messages, place bids, or buy products.

Does it calculate engagement or sentiment scores?

No. You can use exported comments in your own analysis tools. scrapedAt is a receipt time, so it should not be treated as an exact posting time when measuring activity.

Support

Report problems through the Actor's Issues tab on Apify. Include the run ID, the live URL, and the input settings needed to reproduce the issue. Remove tokens and other secrets.

This Actor is not affiliated with or endorsed by Whatnot. Use collected data in accordance with applicable terms, privacy requirements, and your permissions.