Pricing
from $3.00 / 1,000 results
Snapchat Spotlight Comments Scraper
Scrape comment threads from Snapchat Spotlight videos - by individual spotlight URL or by creator username.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract public comments from Snapchat Spotlight videos without login or a browser. Provide individual Spotlight video URLs or creator usernames and get structured comment records โ commenter names, Bitmoji IDs, reaction counts, posting timestamps, ranking scores, and reply counts. Supports non-ASCII content including Urdu, Arabic, and emoji.
What It Does
Two scraping modes are available:
- bySpotlightUrl โ extract comments for one or more specific Spotlight video URLs. Each URL is fetched individually and returns comments embedded in that video's page.
- byUsername โ extract all available Spotlight comments embedded on a creator's public profile page. A single profile page fetch returns comments for all the creator's pinned Spotlight videos at once.
No login, cookies, or browser required. Comment data is decoded from base64-encoded JSON that Snapchat embeds in public page HTML.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
mode | select | No | byUsername | bySpotlightUrl (by direct video URL) or byUsername (from creator profile page) |
spotlightUrls | string[] | No | โ | For bySpotlightUrl: one or more Spotlight video URLs (e.g., https://www.snapchat.com/spotlight/{id}) |
usernames | string[] | No | โ | For byUsername: one or more Snapchat creator usernames |
maxCommentsPerSnap | integer | No | 100 | Maximum comments to extract per Spotlight video (1โ1,000) |
proxyConfiguration | object | No | null | Apify proxy configuration (optional) |
Example input (by username):
{"mode":"byUsername","usernames":["waqarzaka","brentrivera"],"maxCommentsPerSnap":100}
Example input (by Spotlight URL):
{"mode":"bySpotlightUrl","spotlightUrls":["https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYaXFxdmVobmp6AZ499vl-AZ499rsXAAAAAQ"],"maxCommentsPerSnap":200}
Output
One record per comment pushed to the Apify dataset.
Comment record
| Field | Type | Description |
|---|---|---|
commentId | string | Unique comment identifier composed of {highBits}-{lowBits} |
snapId | string | Spotlight snap ID the comment belongs to |
sourceUsername | string | Creator username (present in byUsername mode) |
inputUrl | string | Spotlight URL that was scraped (present in bySpotlightUrl mode) |
replyText | string | Comment text content (supports Unicode, emoji, Arabic, Urdu, etc.) |
reactionCounts | object[] | Array of reaction objects โ see Reaction Count Object below |
commenterDisplayName | string | Commenter's public display name |
commenterBitmojiAvatarId | string | Commenter's Bitmoji avatar identifier |
commenterBitmojiSelfieId | string | Commenter's Bitmoji selfie identifier |
commenterProfileLogoUrl | string | Commenter's profile image CDN URL |
reportCount | integer | Number of times the comment has been reported |
approvalState | integer | Comment moderation state code (3 = approved) |
postedAt | string | ISO 8601 UTC timestamp when the comment was posted |
rankingScore | number | Snapchat's internal ranking score for the comment |
threadedReplyCount | integer | Number of threaded replies to this comment |
scrapedAt | string | Scrape timestamp (ISO 8601 UTC) |
Reaction count object (in reactionCounts array)
| Field | Type | Description |
|---|---|---|
reactTypeId | string | Reaction type identifier |
count | integer | Number of users who reacted with this reaction type |
Error record
| Field | Type | Description |
|---|---|---|
inputUrl | string | Spotlight URL that failed (bySpotlightUrl mode) |
inputUsername | string | Username that failed (byUsername mode) |
snapId | string | Snap ID if it was resolved before the error |
error | string | Error description |
scrapedAt | string | ISO 8601 UTC scrape timestamp |
Example output (byUsername mode):
{"commentId":"8919840425233039738-13086174214898099122","snapId":"W7_EDlXWTBiXAEEniNoMPwAAYZWJudHdqZ2N0AZ8D-agCAZ8D-HVIAAAAAQ","sourceUsername":"waqarzaka","replyText":"Ma zero say start Karna chata ho plz help","commenterDisplayName":"Pyara","commenterBitmojiAvatarId":"100004557682_2-s5","commenterBitmojiSelfieId":"10226021","reportCount":0,"approvalState":3,"postedAt":"2026-06-27T04:05:22.397000+00:00","threadedReplyCount":0,"scrapedAt":"2026-06-28T06:44:48.432805+00:00"}
Example output (byUsername mode, with reactions):
{"commentId":"3093553028317793225-9815565008561495318","snapId":"W7_EDlXWTBiXAEEniNoMPwAAYcWZiYXNzbmNxAZ8ACWxNAZ8ACUuOAAAAAQ","sourceUsername":"waqarzaka","replyText":"Amazing video!","reactionCounts":[{"reactTypeId":"1","count":2}],"commenterDisplayName":"Dr-ahmad","commenterProfileLogoUrl":"https://cf-st.sc-cdn.net/...","reportCount":0,"approvalState":3,"postedAt":"2026-06-26T11:54:43.552000+00:00","rankingScore":250,"threadedReplyCount":0,"scrapedAt":"2026-06-28T06:44:48.432888+00:00"}
FAQ
Why are some Spotlight videos missing comments? Snapchat only embeds comments in the page HTML for Spotlight videos with active public comments. Videos with no comments, disabled comments, or very recently posted videos may return no records. The actor records an error row in those cases rather than crashing.
What is the difference between the two modes?
byUsername fetches a creator's public profile page, which embeds comments for all their pinned Spotlight videos in a single request โ efficient for getting all comments from one creator. bySpotlightUrl fetches each individual video page separately, which is useful for specific videos that are not pinned on a creator's profile.
Are these all comments on a video, or just top comments?
Snapchat embeds a curated set of top-ranked comments in the page HTML for any visitor. The number of embedded comments varies by video popularity and Snapchat's ranking algorithm. Use maxCommentsPerSnap to control how many are extracted per video.
Do I need a Snapchat account, login, or cookies? No. Comment data is embedded in Snapchat's public page HTML and is accessible to any website visitor without authentication.
Can I scrape comments from multiple creators at once?
Yes โ add multiple usernames to the usernames list. Each username produces a separate batch of comment records, all identified by their sourceUsername field.
What does approvalState mean?
It is Snapchat's internal moderation state for the comment. A value of 3 means the comment has been approved and is visible. Other values indicate pending review or moderation actions.
Does the scraper support non-English comments? Yes. The comment decoder handles full Unicode including Arabic, Urdu, Emoji, and other non-ASCII character sets without data loss.
Other Snapchat Scrapers
Explore the full Snapchat scraper suite on Apify:
| Actor | Description |
|---|---|
| Snapchat Profile Scraper | Full profile metadata, highlights, lenses, and spotlight data |
| Snapchat Hashtag Scraper | Spotlight videos by hashtag or topic with AI metadata |
| Snapchat User Stories Scraper | Curated highlights and active story snaps |
| Snapchat Spotlight Video Downloader | Download Spotlight videos with AI metadata, transcripts, and comments |
| Snapchat Search Scraper | Search across videos, lenses, users, places, and shows |
| Snapchat Lens Scraper | AR lens metadata, trending lenses, and creator info |
| Snapchat Publisher Scraper | Discover publisher pages, shows, episodes, and spotlights |
| Snapchat Ads Gallery Scraper | EU/UK ad transparency library โ ads and sponsored content |
| Snapchat Spotlight Comments Scraper | Comment threads from Spotlight videos |
| Snapchat Topic Scraper | Spotlight videos by topic with related tags |
| Snapchat Snapcode Scraper | Download Snapcode images (SVG/PNG) for any username |
| Snapchat Snap Map Scraper | Public Snap Map places and their latest snaps |
| Snapchat Discover Scraper | Shows and stories from Snapchat's Discover feed |
