YouTube Comments Scraper
Pricing
from $0.40 / 1,000 results
YouTube Comments Scraper
Export YouTube comments & replies to a structured dataset in minutes. Get author, text, likes, timestamps, and more—ready for analysis, dashboards, or archiving. Built for speed and reliability.
Pricing
from $0.40 / 1,000 results
Rating
5.0
(9)
Developer
API ninja
Maintained by CommunityActor stats
26
Bookmarked
571
Total users
148
Monthly active users
12 days ago
Last modified
Categories
Share
A powerful Apify actor that extracts comments from YouTube videos with advanced filtering and customization options. Perfect for sentiment analysis, market research, content analysis, and social media monitoring.
✨ Features
- 🎯 Multi-Video Support: Scrape comments from multiple YouTube videos in a single run
- 📊 Flexible Comment Limits: Choose specific comment counts or extract all available comments
- 💬 Reply Extraction: Include comment replies for comprehensive conversation analysis
- 🔄 Smart Sorting: Order comments by "top" (most popular) or "newest" (most recent)
- 🌍 Localization: Specify country and language for region-specific content
- ⚡ High Performance: Optimized scraping with intelligent data extraction
🚀 Quick Start
Basic Usage
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}
Advanced Configuration
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://www.youtube.com/watch?v=9bZkp7q19f0"],"commentsPerVideo": 500,"scrapeAllComments": false,"includeReplies": true,"orderBy": "top","geo": "US","lang": "en"}
📋 Input Configuration
The actor accepts the following configuration parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| videoUrls | array | ✅ Yes | - | YouTube video URLs or video IDs to scrape. Supports both full URLs (https://www.youtube.com/watch?v=VIDEO_ID) and video IDs (VIDEO_ID) |
| commentsPerVideo | integer | ❌ No | 100 | Number of comments to extract per video. Ignored when scrapeAllComments is enabled. Minimum: 100 |
| scrapeAllComments | boolean | ❌ No | false | Extract all available comments from the video when enabled |
| includeReplies | boolean | ❌ No | false | Include comment replies (approximately 10 replies per comment) |
| orderBy | string | ❌ No | top | Sort comments by popularity: top or newest |
| geo | string | ❌ No | - | ISO 3166-2 country code (e.g., US, GB, IN) for region-specific results |
| lang | string | ❌ No | - | ISO 639-1 language code (e.g., en, es, fr) for localized content |
Input Validation
videoUrlsmust contain at least one valid YouTube URL or video IDgeomust be a valid 2-letter country code (uppercase)langmust be a valid 2-letter language code (lowercase)commentsPerVideomust be at least 100 when specified
📤 Output Structure
The actor generates a structured dataset with the following fields for each comment:
{"commentId": "UgwYX91Z7rTb7a6jGux4AaABAg","text": "This is an amazing video! Really helped me understand the concept better.","published": "2 days ago","likes": 42,"author": "John Doe","authorThumb": "https://yt3.ggpht.com/ytc/AKedOLQexample","authorId": "UC123456789012345678","authorUrl": "/channel/UC123456789012345678","isEdited": false,"isPinned": false,"replyCount": 3,"replyToken": "Eg0SC1Vnd1lXOTFaN3JUYjdhNmpHdXg0QWFBQUJBZw","isReply": false}
Field Descriptions
| Field | Type | Description |
|---|---|---|
| commentId | string | Unique identifier for the comment |
| text | string | The comment content |
| published | string | Relative time when the comment was posted |
| likes | integer | Number of likes the comment received |
| author | string | Display name of the comment author |
| authorThumb | string | URL to the author's profile thumbnail |
| authorId | string | YouTube channel ID of the author |
| authorUrl | string | Relative URL to the author's channel |
| isEdited | boolean | Whether the comment has been edited |
| isPinned | boolean | Whether the comment is pinned by the creator |
| replyCount | integer | Number of replies to this comment |
| replyToken | string | Token for fetching replies (if applicable) |
| isReply | boolean | Whether this item is a reply to another comment |
🔧 Use Cases
Market Research
Analyze customer sentiment and feedback on product-related videos to understand market trends and user preferences.
Content Analysis
Study engagement patterns and popular discussion topics to optimize content strategy.
Academic Research
Collect data for social media analysis, communication studies, and behavioral research.
Competitor Monitoring
Track comments on competitor videos to gather insights about their audience engagement.
💰 How much does it cost to scrape YouTube comments?
This Actor uses pay-per-event pricing.
| Charge | Free plan | Bronze-Diamond plans |
|---|---|---|
| Actor start | $0.01 | $0.01 |
| Result saved to the default dataset | $0.004 per result | $0.0004 per result |
The Actor start event is charged according to memory, at one event per GB with at least one event per run. The final cost depends mainly on how many comment and reply records are saved. Apify requires a maximum-charge limit of at least $0.10 per run; this is a spending cap, not a minimum fee. Test one or two videos with a limited comment count and check the Actor's Pricing tab before a large run.
🔌 Integrations
This actor seamlessly integrates with popular automation platforms:
- Make: Create automated workflows with YouTube comment data
- Zapier: Connect YouTube comments to 3000+ apps
- Google Sheets: Direct export to spreadsheets for analysis
- Airtable: Organize comment data in relational databases
🛠 Other YouTube Scraping Tools
If you like this Actor, you might also find these YouTube tools useful:
- 📥 YouTube Video Downloader: Download video or audio and receive direct media links.
- 🔍 YouTube Search Scraper: Discover videos, channels, playlists, and Shorts by keyword.
- 📺 YouTube Channel Scraper: Extract videos, Shorts, playlists, livestreams, and posts from channels.
- 📝 YouTube Transcript Scraper: Turn video URLs or IDs into structured transcript data.
⚠️ Important Notes
- Rate Limiting: The actor implements intelligent delays to respect YouTube's rate limits
- Comment Availability: Some videos may have comments disabled or limited by the creator
- Reply Limitations: Approximately 10 replies per comment are extracted to balance completeness and performance
- Geographic Restrictions: Some content may be region-restricted based on
geoandlangsettings
🤝 Support
For questions, bug reports, or feature requests drop an issue on the page.
Built with ❤️