YouTube Comment Scraper
Pricing
from $0.95 / 1,000 results
YouTube Comment Scraper
Scrape YouTube comments. Extract clean JSON data for SEO, lead generation, competitor monitoring, and market research with contact enrichment. The ultimate YouTube comment scraper.
Pricing
from $0.95 / 1,000 results
Rating
0.0
(0)
Developer
DataFusionX
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape YouTube comments easily with this powerful YouTube comment scraper. Extract comments, replies, author details, likes, timestamps, and contact enrichment data from any YouTube video.
Perfect for researchers, marketers, developers, and data analysts who need a reliable YouTube comments scraper, YouTube comment downloader, or comment extractor.
π Features
- Scrape YouTube comments from any public video
- Extract top-level comments and replies
- Support for Newest First and Top Comments sorting
- Clean, normalized YouTube URLs (handles
youtu.be, Shorts, extra parameters, etc.) - Deduplication of input URLs
- Full comment metadata:
- Comment text (exact UI content)
- Author name, channel ID, avatar
- Like count & reply count
- Published time (relative + absolute + Unix timestamp)
- Creator heart status
- Paid / Super Thanks indicators
- Optional contact enrichment:
- Emails, phones, websites
- Social profiles (Discord, Instagram, X/Twitter, LinkedIn, TikTok, Telegram, etc.)
- Lead signals & lead score
- Concurrent scraping with configurable concurrency
- Flat, linear JSON output β ready for datasets, CRM, or analysis
- Built with Python β ideal for those searching youtube comment scraper python
π₯ Input
| Field | Type | Required | Description | Default |
|---|---|---|---|---|
startUrls | Array | Yes | List of YouTube video URLs | β |
maxComments | Integer | No | Maximum comments to fetch per video | 100 |
sortCommentsBy | String | No | TOP_COMMENTS or NEWEST_FIRST | TOP_COMMENTS |
includeContactEnrichment | Boolean | No | Extract emails, phones, social links & lead signals | true |
Input Example
{"startUrls": [{"url": "https://www.youtube.com/watch?v=xObhZ0Ga7EQ"},{"url": "https://youtu.be/87SH2Cn0s9A?t=30"}],"maxComments": 200,"sortCommentsBy": "TOP_COMMENTS","includeContactEnrichment": true}
The actor automatically:
- Cleans URLs (removes tracking parameters, converts
youtu.be/ Shorts) - Deduplicates videos
- Supports both object format (
{"url": "..."}) and plain strings
π€ Output
Each comment is pushed as a flat JSON object to the Apify dataset.
Output Example
{"video_url": "https://www.youtube.com/watch?v=xObhZ0Ga7EQ","comment_id": "Ugx8YyWHF6vy5s3Bax54AaABAg.9nlIRheKSsX9nlQx6EfGF-","parent_id": "Ugx8YyWHF6vy5s3Bax54AaABAg","is_reply": true,"text": "Sorry about that! Thanks for pointing it outπ€ It's now added in the description, but you can just directly use this link: https://discord.com/invite/jyEM2PRvMU","published_time": "2023-08-21 06:11:02","published_time_relative": "3 years ago","published_timestamp": 1692598262,"author_name": "@Apify","isCreator": true,"isArtist": false,"author_channel_id": "UCTgwcoeGGKmZ3zzCXN2qo_A","author_avatar": "https://yt3.ggpht.com/m4tS7WA15DeUqAi90tn0NnshLvW7liMNpAGAN5I78UNQKTPDcLHw_0dc1GXeW75_ccDiuqUEmQ=s88-c-k-c0x00ffffff-no-rj","like_count": 1,"reply_count": 0,"hearted_by_creator": false,"paid": null,"enrichment": {"has_contact": false,"has_social": true,"has_lead_signal": false,"lead_score": 20,"emails": [],"phones": [],"websites": [],"social_profiles": [{"platform": "discord","handle": "jyEM2PRvMU","url": "https://discord.com/invite/jyEM2PRvMU"}],"mentions": [],"lead_phrases": [],"all_urls": ["https://discord.com/invite/jyEM2PRvMU"]}}
Field Descriptions
| Field | Description |
|---|---|
video_url | Cleaned YouTube video URL |
comment_id | Unique comment ID |
parent_id | Parent comment ID (for replies) |
is_reply | true if this is a reply |
text | Exact comment text as shown in the YouTube UI |
published_time | Absolute time (UTC) β YYYY-MM-DD HH:MM:SS |
published_time_relative | Relative time (e.g. "3 years ago") |
published_timestamp | Unix timestamp |
author_name | Display name of the commenter |
author_channel_id | YouTube channel ID of the author |
author_avatar | Profile picture URL |
like_count | Number of likes |
reply_count | Number of replies |
hearted_by_creator | Whether the video creator hearted the comment |
paid | Super Thanks / paid comment indicator |
enrichment | Contact & social enrichment object (when enabled) |
π Use Cases
- Market research β Analyze audience sentiment and feedback
- Lead generation β Find emails, Discord, Instagram, LinkedIn from comments
- Competitor analysis β Monitor comments on competitor videos
- Content strategy β Discover what resonates with viewers
- Academic research β Collect large comment datasets
- Brand monitoring β Track mentions and reactions
- Influencer outreach β Extract social profiles of active commenters
βοΈ Technical Details
- Written in Python
- Uses efficient continuation-token based pagination (same method as the official YouTube client)
- Concurrent video processing with configurable thread limit (
MAX_THREADS) - Automatic consent / cookie handling
- Robust number parsing (
1.2Kβ1200,3.4Mβ3400000) - Relative time β absolute timestamp conversion
- Fully flat output β no nested complexity
β Frequently Asked Questions (FAQ)
How to scrape YouTube comments?
Simply provide one or more YouTube video URLs in the startUrls field, set the maximum number of comments you want, choose sorting order, and run the Actor. The YouTube comment scraper will automatically extract comments and replies.
Does this YouTube comments scraper extract replies?
Yes. Both top-level comments and nested replies are scraped. Replies include a parent_id field so you can easily reconstruct the conversation thread.
Can I scrape comments from multiple videos at once?
Yes. Just add multiple URLs to the startUrls array. The Actor processes them concurrently for maximum speed.
What is the difference between TOP_COMMENTS and NEWEST_FIRST?
- TOP_COMMENTS β Returns the most relevant / highest-engagement comments first (YouTubeβs default ranking).
- NEWEST_FIRST β Returns the latest comments in chronological order.
Does it work with YouTube Shorts and youtu.be links?
Yes. The Actor automatically cleans and normalizes all common YouTube URL formats including Shorts, youtu.be, and URLs with extra parameters.
What does contact enrichment do?
When enabled, the Actor analyzes each comment text and extracts:
- Email addresses
- Phone numbers
- Websites
- Social media profiles (Discord, Instagram, X, LinkedIn, TikTok, Telegram, etc.)
- Lead intent phrases
- A lead score (0β100)
This makes the Actor excellent for lead generation and outreach.
Is this a YouTube comment scraper Python solution?
Yes. The Actor is fully written in Python and can also be run locally with the Apify CLI or integrated into your own Python projects via the Apify API client.
How many comments can I scrape per video?
You can set maxComments up to 10,000 per video. Actual results depend on how many public comments the video has.
Will the Actor get blocked?
The Actor uses advanced proxy rotation and session management to minimize blocking. For high-volume usage, we recommend running it on the Apify platform.
Can I use this as a YouTube comment downloader?
Yes. The Actor functions as a complete YouTube comment downloader β it downloads comments in structured JSON format that you can export to CSV, Excel, or any database.
Does it scrape private or age-restricted videos?
No. Only publicly available comments from public videos are supported.
Can I export the results?
Yes. You can download the dataset in JSON, CSV, Excel, XML, or HTML format directly from the Apify platform, or access it programmatically via the API.
π Notes & Limitations
- Only public comments are scraped
- Comments disabled on a video β empty result for that video
- Very high
maxCommentsvalues may take longer depending on video popularity - Enrichment quality depends on what commenters write in their text
- Respect YouTubeβs Terms of Service and fair-use guidelines
π·οΈ Keywords
youtube comment scraper β’ scrape youtube comments β’ youtube comment scraper python β’ youtube comments scraper β’ how to scrape youtube comments β’ youtube comment downloader β’ youtube video scraper β’ yt scraper β’ comment extractor β’ youtube channel scraper
π License
This Actor is provided for legitimate research, analysis, and business use. Users are responsible for complying with YouTubeβs Terms of Service and applicable laws.