YouTube Comments Scraper Pro: Replies & Threads
Pricing
from $0.22 / 1,000 delivered comment or replies
YouTube Comments Scraper Pro: Replies & Threads
Scrape YouTube comments and replies without an API key. Exact caps, thread IDs, author data, filters, and free status rows.
Pricing
from $0.22 / 1,000 delivered comment or replies
Rating
0.0
(0)
Developer
Dev
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
YouTube Comments Scraper Pro
Collect public YouTube comments and replies from videos, Shorts, and live-video URLs without a YouTube Data API key or browser. Each comment or reply is a separate, thread-linked dataset row ready for CSV export, analysis, and automation.
Why use this Actor?
| Need | What you get |
|---|---|
| Predictable spend | Exact per-video and run-wide comment caps plus Apify's maximum charge per run. Only delivered comments and replies are billed; starts, empty videos, notices, and errors have no event charge. |
| Reconstructable conversations | Every reply carries parentCommentId; every row has stable commentId, videoId, and a direct comment URL. |
| Useful research data | Text, author/channel identifiers, numeric likes, reply count, relative posting text, pinned/hearted badges, and optional video title/count. |
| Focused filters | Newest or top order, optional text substring and minimum likes. Filtered-out comments are not billed. |
| Bulk resilience | Multiple video URLs or IDs, duplicate-input suppression, per-video failure isolation, bounded pagination/requests, HTTP timeouts/retries, and restart-safe checkpoints. |
The Actor uses direct HTTP by default. A proxy is optional; YouTube may rate-limit or withhold comments depending on the video, region, and request volume.
In a paid cloud test at 256 MB, it delivered 1,000 unique comments with 1,000 matching billed events in 33.3 seconds. A separate 1,500-comment run survived a forced container reboot and still finished with 1,500 unique rows and 1,500 billed events. These are single-run measurements, not speed guarantees; replies, filters, source availability, and proxies change runtime.
Pricing
One comment event is charged for each successfully delivered top-level comment or reply. Both cost the same. There is no start fee, video fee, query fee, or charge for notice/error rows.
| Apify plan | Price per 1,000 comments or replies |
|---|---|
| Free | $0.30 |
| Bronze | $0.27 |
| Silver | $0.25 |
| Gold | $0.22 |
| Platinum | $0.22 |
| Diamond | $0.22 |
For example, 1,000 delivered comments and 200 delivered replies cost $0.36 on Free. Setting a maximum charge when starting the run provides another hard billing ceiling.
Quick start
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }],"maxCommentsPerVideo": 100,"maxTotalComments": 100,"sortBy": "newest","includeReplies": true,"maxRepliesPerComment": 10}
You can also supply videoIds containing 11-character IDs, combine IDs and URLs, and import a list of URLs from a CSV or Google Sheet through Apify's URL editor. The Actor processes duplicate video IDs once.
Output
Each delivered comment or reply is a separate dataset item. Replies use recordType: "reply" and point to a delivered top-level comment with parentCommentId.
{"recordType": "reply","videoId": "dQw4w9WgXcQ","commentId": "reply-id","parentCommentId": "parent-comment-id","text": "A public reply","authorName": "@viewer","authorChannelId": "UC...","likeCount": 12,"publishedText": "2 days ago","commentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=reply-id","inputSource": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","scrapedAt": "2026-09-27T12:00:00.000Z"}
Other fields, when YouTube provides them, include replyCount, likeCountText, authorUrl, authorIsVerified, authorIsChannelOwner, isMember, isPinned, isHearted, videoTitle, and videoCommentCount. Missing values are omitted rather than guessed.
notice and error rows explain empty comments, invalid video inputs, limits, repeated continuation pages, unavailable videos, or reply-fetch failures. They are not billable. Read the OUTPUT key in the default key-value store for exact counts, HTTP telemetry, and chargeLimitReached/resultLimitReached flags.
Limits and behavior
maxCommentsPerVideoandmaxTotalCommentscount delivered comments and replies together. Top-level comments are prioritized before their replies on each page.maxRepliesPerCommentlimits delivered replies under each parent. Replies are fetched only when their parent comment passes the filters and is delivered.textContainsis a case-insensitive substring filter;minLikestreats unavailable like counts as zero.maxPagesPerVideo,maxRequestsPerVideo,maxTotalRequests, andrequestTimeoutMsbound work even when YouTube repeats pages or filters match nothing.- The request ceilings apply to per-video work; YouTube session initialization can make one request before a video is processed.
- After an abrupt container restart, HTTP attempts since the latest checkpoint may be retried; comment and billing caps remain exact because committed dataset rows are recovered and deduplicated.
publishedTextis YouTube's relative wording, such as “2 days ago.” This Actor does not invent an exact timestamp from it.- Only public video comments are supported. Channel, playlist, community-post, live-chat, private, deleted, and members-only content are not supported inputs.
- YouTube can change its internal responses. A run may return partial data, which is signaled by status records and the run summary. A requested limit is a maximum, not a guaranteed number of available comments.
Public comments can contain personal data. Use the output responsibly and follow applicable platform terms and privacy law.