YouTube Comments Scraper With Commenter Lead Enrichment
Pricing
Pay per usage
YouTube Comments Scraper With Commenter Lead Enrichment
YouTube Comments Scraper extracts comments from any YouTube video, capturing usernames, text, timestamps, likes, replies, and comment IDs. Ideal for sentiment analysis, audience research, trend monitoring, and automating structured YouTube comment data collection at scale
Pricing
Pay per usage
Rating
0.0
(0)
Developer
SimpleAPI
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
YouTube Comments Scraper — Extract Comments, Replies and Likes
YouTube Comments Scraper With Commenter Lead Enrichment scrapes video comments and full reply threads, and every commenter already comes back with their real channel ID and channel URL at no extra cost. Optionally, an opt-in enrichment pass looks up each unique commenter's subscriber count, join date, and total video count — turning a comments export into a usable list of YouTube channel leads. It's built for community managers, brand research teams, and lead-generation pipelines targeting engaged YouTube audiences.
What is YouTube Comments Scraper With Commenter Lead Enrichment?
YouTube Comments Scraper With Commenter Lead Enrichment is an Apify Actor that scrapes comments and full reply threads from one or more YouTube videos, with every commenter's real channel identity attached by default. Key capabilities:
- Scrape comments from one or many videos by URL or bare video ID in a single run
- Sort comments by top (most liked/relevant) or newest first
- Expand full reply threads by following each comment's own "more replies" continuation token — not just the 2-3 replies shown inline
- Optionally enrich unique commenters (one deduplicated request per commenter, never re-fetched) with subscriber count, join date, and total video count
- A bonus commenter leaderboard, ranked by total likes received and comment count, saved to a separate named dataset at no extra charge
What data can I extract with YouTube Comments Scraper With Commenter Lead Enrichment?
| Field | Example Value | Use Case |
|---|---|---|
comment / author / publishedTimeText | "Great video!" / "John Smith" / "2 days ago" | Read the comment and identify who posted it |
authorId / authorChannelUrl | "UCxxxxxxxxxxxxxxxxxxxxxx" / commenter channel link | Real channel identity, always included at no extra cost |
voteCount / replyCount | 142 / 8 | Gauge engagement on the comment |
isReply / replyToCid | true / parent comment ID | Reconstruct thread structure |
isPinned / authorIsChannelOwner / hasCreatorHeart | false / false / true | Highlight special comment status |
videoId / title / pageUrl | video ID / video title / video URL | Trace which video this comment came from |
commenterEnriched | true | Confirm whether this specific commenter was enriched |
commenterSubscriberCount / commenterTotalVideos / commenterTotalViews | 1200 / 45 / 280000 | Lead-qualification signals for outreach (opt-in) |
commenterJoinedDate / commenterLocation | "Mar 2015" / "United States" | Account age and location signals (opt-in) |
Real channel identity at no extra cost, plus opt-in lead enrichment
authorId and authorChannelUrl come from the same data YouTube already sends with every comment — no extra request, always included. maxCommentersToEnrich is the opt-in layer: set it above 0 to fetch each unique commenter's channel /about page exactly once (the same commenter is never re-fetched, even across many comments), attaching commenterSubscriberCount, commenterTotalVideos, commenterTotalViews, commenterJoinedDate, and commenterLocation to every one of their comment rows. This is one extra request per unique commenter, capped at the number you set — control cost by tuning this cap.
Full reply-thread expansion
fetchAllReplies (on by default) follows each parent comment's own "more replies" continuation token to fetch every reply hidden behind YouTube's "View N more replies" button — not just the 2-3 shown inline in a plain comments export. maxRepliesPerComment caps how many replies are kept per parent comment, with a 40-page safety valve per comment when set to unlimited.
Bonus: commenter leaderboard, free
Beyond the main charged dataset, this Actor also computes a commenter leaderboard — every unique commenter across the run, ranked by total likes received and comment count — and saves it to a separate, uncharged named dataset (commenter-leaderboard-<runId>). This is a genuine cross-comment aggregation computed from data already collected in the run, at no extra charge.
Why not build this yourself?
YouTube's official Data API v3 does expose comment threads, but its quota system makes bulk full-reply-thread expansion and per-commenter channel lookups expensive and rate-limited for any meaningful volume, and it provides no built-in commenter lead-enrichment or leaderboard aggregation. Building an equivalent tool yourself means implementing continuation-token-based reply expansion and deduplicated per-commenter enrichment logic from scratch. All of that is already implemented in this Actor's source.
How to use data extracted from YouTube?
Community management and brand monitoring
Scrape comments on your own or a competitor's videos with commentSortMode: "top" to surface the most-liked opinions first, using voteCount to prioritize which comments deserve a creator response.
Lead generation from engaged audiences
Enable maxCommentersToEnrich on a popular video in your niche to identify commenters with substantial subscriber counts — a channel owner actively commenting on a related video is a warm lead for collaboration outreach.
Social listening and sentiment research
Pull comments sorted by newest for live-discussion monitoring around a video launch, using full reply-thread expansion to capture the complete back-and-forth, not just surface-level top comments.
AI agents and automated pipelines
An agent can call this Actor to pull comment threads for sentiment analysis or lead scoring, using commenterSubscriberCount (when enrichment is on) as a weighting signal for which commenters' opinions matter most.
🔼 Input sample
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
targetVideos | No | array | Video URLs or bare 11-character IDs | ["https://www.youtube.com/watch?v=KrLj6nc516A"] |
commentsPerVideo | No | integer (min 0) | Max comments pulled per video; 0 = no limit | 10 (default) |
commentSortMode | No | string (enum) | top (default) or newest | "top" |
maxCommentersToEnrich | No | integer (min 0) | Unique commenters enriched (deduped, one request each); 0 = off | 0 (default) |
fetchAllReplies | No | boolean | Follow "more replies" continuation to expand full threads | true (default) |
maxRepliesPerComment | No | integer (min 0) | Replies kept per comment when expansion is on; 0 = unlimited (40-page safety valve) | 50 (default) |
proxyConfiguration | No | object | Proxy for comments and enrichment requests; auto-escalates on blocks | {"useApifyProxy": true} |
{"targetVideos": ["https://www.youtube.com/watch?v=KrLj6nc516A"],"commentsPerVideo": 100,"commentSortMode": "top","maxCommentersToEnrich": 25}
Common pitfall: maxCommentersToEnrich caps unique commenters enriched, not comments collected — a video with 100 comments from 30 unique commenters and a cap of 25 will enrich only the first 25 distinct commenters encountered, leaving the remaining 5 commenters' comments un-enriched but still collected.
🔽 Output sample
Output is typed, normalized JSON — one row per comment or reply (exportable as JSON, CSV, or Excel; a bonus commenter leaderboard is saved to a separate named dataset).
{"cid": "UgxAbC123.9876543210","type": "comment","isReply": false,"isPinned": false,"publishedTimeText": "2 days ago","comment": "Great video, really helped me understand this!","author": "John Smith","authorId": "UCxxxxxxxxxxxxxxxxxxxxxx","authorChannelUrl": "https://www.youtube.com/channel/UCxxxxxxxxxxxxxxxxxxxxxx","authorIsChannelOwner": false,"isVerified": false,"voteCount": 142,"hasCreatorHeart": false,"replyCount": 8,"videoId": "KrLj6nc516A","pageUrl": "https://www.youtube.com/watch?v=KrLj6nc516A","commentUrl": "https://www.youtube.com/watch?v=KrLj6nc516A&lc=UgxAbC123.9876543210","title": "How Things Really Work","commenterEnriched": true,"commenterChannelName": "John Smith","commenterSubscriberCount": 1200,"commenterTotalVideos": 45,"commenterTotalViews": 280000,"commenterJoinedDate": "Mar 2015","commenterIsVerified": false,"commenterLocation": "United States"}
All 29 fields shown above are the Actor's real dataset columns — this is the full output shape, not a subset.
How do you filter and target specific comments?
targetVideos sets scope — one or many videos per run. commentSortMode is the closest thing to a category axis, choosing top-liked versus newest-first ordering. There's no numeric quality threshold on comments themselves, but maxCommentersToEnrich is a genuine quality-vs-cost control on the enrichment layer, letting you decide how many distinct commenters are worth the extra lookup. Volume is controlled by commentsPerVideo and, for reply depth, maxRepliesPerComment.
{ "targetVideos": ["https://www.youtube.com/watch?v=KrLj6nc516A"], "commentSortMode": "newest", "commentsPerVideo": 200 }
{ "targetVideos": ["VIDEO_ID_1", "VIDEO_ID_2"], "maxCommentersToEnrich": 50, "fetchAllReplies": true }
{ "targetVideos": ["https://youtu.be/KrLj6nc516A"], "commentsPerVideo": 0, "fetchAllReplies": false }
▶️ Want to try other YouTube scrapers?
| Scraper Name | What it extracts |
|---|---|
| YouTube Channel Finder: Influencer Category (Nano/Micro/Macro) | Channel discovery with real subscriber-tier classification |
| YouTube Scraper: Channel, Playlist & Community Data Insights | Deeper channel/playlist/community data |
| YouTube Transcript Scraper & Chapter Extractor | Video transcripts and chapter markers |
| Reddit Comment Scraper With Author Profile | Comparable comment/author-enrichment data for Reddit |
| Instagram Comments Scraper (Spam & Toxic Comment Detection) | Comparable comment-moderation flags for Instagram |
| LinkedIn Post Scraper & Comments Reactions | Comparable comment/reaction data for LinkedIn |
How to extract YouTube data programmatically
Every run is a standard Apify Actor call — one API request with your token, JSON input, JSON results back.
Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run_input = {"targetVideos": ["https://www.youtube.com/watch?v=KrLj6nc516A"],"commentsPerVideo": 100,"maxCommentersToEnrich": 25,}run = client.actor("<YOUR_USERNAME>/youtube-comments-scraper-with-commenter-lead-enrichment").call(run_input=run_input)for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["author"], row["comment"][:60], row.get("commenterSubscriberCount"))
Export to spreadsheets or CRM
Export the dataset directly as CSV or Excel, then map author/authorChannelUrl to your CRM's contact fields and commenterSubscriberCount/commenterTotalVideos to a lead-scoring column.
Is it legal to scrape YouTube comments?
Commenter names, channel identities, and comment text are personal data, so GDPR and CCPA obligations apply to storing and using this data. Public YouTube comments are visible to any logged-out visitor, but downstream storage of individual commenters' identities and content for lead-generation purposes should follow applicable data-protection rules. Consult legal counsel for commercial applications involving bulk storage of personal data.
❓ FAQ
Does commenter enrichment cost extra per comment?
No — per unique commenter. The same commenter is fetched exactly once regardless of how many comments or replies they posted in the scraped result, and that data is attached to all of their rows.
Is the commenter leaderboard part of the main charged dataset?
No — it's a bonus, uncharged aggregation saved to a separate named dataset (commenter-leaderboard-<runId>), ranking every unique commenter by total likes received and comment count across the whole run.
Does full reply-thread expansion get every single reply?
It follows YouTube's own "more replies" continuation token to go beyond the 2-3 inline-preview replies, bounded by maxRepliesPerComment (or a 40-page safety valve when unlimited).
How many comments can I get per video?
commentsPerVideo (min 0, default 10) caps this; 0 means collect every available comment.
Do I need a YouTube account to use this?
No — the Actor reads YouTube's public comment threads, requiring no login.
Does YouTube Comments Scraper With Commenter Lead Enrichment work with Claude, ChatGPT, and AI agent frameworks?
It has no dedicated MCP server registration in this Actor's current setup, but it is callable as a standard Apify API endpoint by any agent framework that can make an authenticated HTTP request and parse JSON.
How does this compare to other YouTube comment scrapers?
No independently verifiable competitor listing could be confirmed at the time of writing, so no specific comparison is made here. This Actor's distinguishing feature is the deduplicated per-commenter lead enrichment plus the bonus commenter leaderboard, both computed with careful request-cost control.
Can I get comments without enabling lead enrichment?
Yes — maxCommentersToEnrich defaults to 0 (off), and the full base comment/reply fields are still collected at no extra cost either way.
Conclusion
YouTube Comments Scraper With Commenter Lead Enrichment turns a video's comment section into structured, lead-ready data — real channel identity always included, optional deduplicated commenter enrichment, and a bonus leaderboard, all with careful cost control. It's built for community managers, brand researchers, and lead-generation pipelines targeting engaged audiences. Start a run with your target videos to get comments and commenter leads back in one pass.