YouTube Comments Scraper
Pricing
Pay per usage
YouTube Comments Scraper
Scrape YouTube comments at scale. Get comment text, replies, author details, timestamps & engagement metrics from any video. Perfect for sentiment analysis, brand monitoring, content research, engagement tracking & AI training. Structured, export-ready data.
Pricing
Pay per usage
Rating
5.0
(1)
Developer
Shahid Irfan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Extract YouTube comments and replies from public video pages in an automated, reliable way. Collect comment text, author profile details, likes, reply counts, pinned status, creator hearts, and video metadata for research, monitoring, and audience analysis. Set your results wanted value and the actor stops collecting as soon as that number is reached.
Features
- Results wanted limit - Save only the number of comments and replies you request.
- Comment and reply collection - Gather top-level comments plus linked replies when available.
- Author details - Collect names, channel IDs, channel URLs, and profile thumbnails.
- Engagement metrics - Extract likes, reply counts, pinned status, and creator heart signals.
- Multi-video input - Process one or more YouTube video URLs in a single run.
- Sorting options - Collect either top comments or newest comments first.
Use Cases
Sentiment Analysis
Study how viewers react to videos, campaigns, creator posts, tutorials, music releases, product launches, or public announcements. The dataset helps you identify repeated complaints, common praise, frequent questions, and audience language around a topic.
Audience Research
Understand what a channel's viewers care about by collecting public conversations from selected videos. Use author and engagement fields to spot highly active viewers, strong advocates, repeated objections, and topics that attract replies.
Competitor Monitoring
Track public feedback on competitor videos and compare audience response across channels, products, creators, or campaigns. Comments can reveal pain points, buying objections, requested features, and content gaps.
Content Planning
Find recurring questions, jokes, phrases, and requests from real viewers. Teams can use this data to plan follow-up videos, FAQ content, product education, community replies, and support material.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | Array | Yes | [] | One or more public YouTube video URLs. |
maxComments | Integer | No | 20 | Results wanted. Maximum number of comments and replies to save across the run. |
commentsSortBy | String | No | "1" | Sorting order. Use "1" for top comments or "0" for newest first. |
oldestCommentDate | String | No | Empty | Optional oldest date filter, such as 2026-07-01 or 7 days. |
maxConcurrency | Integer | No | 5 | Maximum number of video pages processed in parallel. |
proxyConfig | Object | No | Apify Proxy | Proxy settings used for YouTube requests. |
Output Data
Each dataset item contains one comment or reply:
| Field | Type | Description |
|---|---|---|
url | String | Source video URL. |
pageUrl | String | Loaded YouTube video page URL. |
videoId | String | YouTube video ID. |
title | String | Video title when available. |
comment | String | Public comment or reply text. |
cid | String | Unique comment identifier. |
author | String | Comment author's display name. |
authorId | String | Author's YouTube channel ID. |
authorUrl | String | Public author channel URL. |
authorThumbnail | String | Author profile image URL. |
publishedTimeText | String | Relative publish time shown by YouTube. |
publishedAt | String | Estimated ISO publish timestamp when it can be normalized. |
voteCount | Number | Like count shown for the comment. |
replyCount | Number | Number of replies shown for the parent comment. |
commentsCount | Number | Total comment count shown for the video when available. |
authorIsChannelOwner | Boolean | Whether the author is the video owner. |
hasCreatorHeart | Boolean | Whether the creator hearted the comment. |
isPinned | Boolean | Whether the comment is pinned. |
type | String | comment or reply. |
replyToCid | String | Parent comment ID for replies. |
scrapedAt | String | ISO timestamp when the item was saved. |
Usage Examples
Collect Top Comments
Collect 100 top comments and replies from one YouTube video:
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }],"maxComments": 100,"commentsSortBy": "1"}
Collect Newest Comments
Monitor recent viewer feedback from a video:
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }],"maxComments": 500,"commentsSortBy": "0"}
Collect From Multiple Videos
Gather a fixed number of comments across several videos:
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" },{ "url": "https://www.youtube.com/watch?v=9bZkp7q19f0" }],"maxComments": 250,"commentsSortBy": "1","maxConcurrency": 2}
Sample Output
{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","pageUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","videoId": "dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up","comment": "This song still makes people smile.","cid": "UgxExampleCommentId","author": "John Doe","authorId": "UCExampleAuthorId","authorUrl": "https://www.youtube.com/channel/UCExampleAuthorId","authorThumbnail": "https://yt3.ggpht.com/example","publishedTimeText": "2 days ago","publishedAt": "2026-07-16T00:00:00.000Z","voteCount": 1420,"replyCount": 5,"commentsCount": 842910,"authorIsChannelOwner": false,"hasCreatorHeart": true,"isPinned": false,"type": "comment","replyToCid": null,"scrapedAt": "2026-07-18T14:00:00.000Z"}
Tips for Best Results
Set a Clear Result Limit
- Use
maxCommentsto control the exact number of saved items. - Start with 20 to 100 results for testing.
- Increase the limit once your input URLs and sorting settings are confirmed.
Choose the Right Sorting
- Use top comments for high-engagement audience feedback.
- Use newest first for monitoring recent reactions.
- Combine several videos when you need broader audience coverage.
Use Focused Video URLs
- Public watch URLs work best.
- Avoid private, deleted, age-restricted, or members-only videos.
- Test one video before running large batches.
Proxy Configuration
For reliable collection, Apify Proxy is recommended:
{"proxyConfig": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Integrations
Connect your YouTube comment data with:
- Google Sheets - Review comments with your team.
- Airtable - Build searchable research databases.
- Slack - Send alerts for selected feedback workflows.
- Webhooks - Send results to your own systems.
- Make - Create automated reporting workflows.
- Zapier - Trigger follow-up actions from new datasets.
Export Formats
- JSON - For APIs and developer workflows.
- CSV - For spreadsheets and simple analysis.
- Excel - For business reports.
- XML - For system integrations.
Frequently Asked Questions
How do I limit the number of collected comments?
Set maxComments to the number of results wanted. The actor stops saving new comments and replies as soon as that count is reached.
Does the limit include replies?
Yes, the limit includes both top-level comments and replies. Each saved dataset item counts as one result.
Can I scrape multiple YouTube videos at once?
Yes, add multiple video URLs to startUrls. The result limit applies across the run, so maxComments: 500 saves up to 500 total items.
Can I collect only recent comments?
Yes, set commentsSortBy to "0" for newest first. You can also use oldestCommentDate to stop when comments are older than your target date.
Why are some fields empty?
Some YouTube comments do not show every field publicly. Missing author, date, reply, or engagement values are returned as empty values when unavailable.
Is this actor suitable for monitoring audience feedback?
Yes, it is useful for collecting public comments for feedback tracking, sentiment review, content research, and community monitoring.
Support
For issues or feature requests, contact support through the Apify Console.
Resources
Legal Notice
This actor is designed for legitimate data collection purposes. Users are responsible for ensuring compliance with website terms of service and applicable laws. Use data responsibly and respect rate limits.