YouTube Comments Scraper With Commenter Lead Enrichment avatar

YouTube Comments Scraper With Commenter Lead Enrichment

Pricing

Pay per usage

Go to Apify Store
YouTube Comments Scraper With Commenter Lead Enrichment

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

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

0

Monthly active users

3 days ago

Last modified

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?

FieldExample ValueUse Case
comment / author / publishedTimeText"Great video!" / "John Smith" / "2 days ago"Read the comment and identify who posted it
authorId / authorChannelUrl"UCxxxxxxxxxxxxxxxxxxxxxx" / commenter channel linkReal channel identity, always included at no extra cost
voteCount / replyCount142 / 8Gauge engagement on the comment
isReply / replyToCidtrue / parent comment IDReconstruct thread structure
isPinned / authorIsChannelOwner / hasCreatorHeartfalse / false / trueHighlight special comment status
videoId / title / pageUrlvideo ID / video title / video URLTrace which video this comment came from
commenterEnrichedtrueConfirm whether this specific commenter was enriched
commenterSubscriberCount / commenterTotalVideos / commenterTotalViews1200 / 45 / 280000Lead-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

ParameterRequiredTypeDescriptionExample Value
targetVideosNoarrayVideo URLs or bare 11-character IDs["https://www.youtube.com/watch?v=KrLj6nc516A"]
commentsPerVideoNointeger (min 0)Max comments pulled per video; 0 = no limit10 (default)
commentSortModeNostring (enum)top (default) or newest"top"
maxCommentersToEnrichNointeger (min 0)Unique commenters enriched (deduped, one request each); 0 = off0 (default)
fetchAllRepliesNobooleanFollow "more replies" continuation to expand full threadstrue (default)
maxRepliesPerCommentNointeger (min 0)Replies kept per comment when expansion is on; 0 = unlimited (40-page safety valve)50 (default)
proxyConfigurationNoobjectProxy 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 NameWhat it extracts
YouTube Channel Finder: Influencer Category (Nano/Micro/Macro)Channel discovery with real subscriber-tier classification
YouTube Scraper: Channel, Playlist & Community Data InsightsDeeper channel/playlist/community data
YouTube Transcript Scraper & Chapter ExtractorVideo transcripts and chapter markers
Reddit Comment Scraper With Author ProfileComparable comment/author-enrichment data for Reddit
Instagram Comments Scraper (Spam & Toxic Comment Detection)Comparable comment-moderation flags for Instagram
LinkedIn Post Scraper & Comments ReactionsComparable 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 ApifyClient
client = 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.

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.