YouTube Comments Scraper Pro: Replies & Threads avatar

YouTube Comments Scraper Pro: Replies & Threads

Pricing

from $0.22 / 1,000 delivered comment or replies

Go to Apify Store
YouTube Comments Scraper Pro: Replies & Threads

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

Dev

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

5 days ago

Last modified

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?

NeedWhat you get
Predictable spendExact 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 conversationsEvery reply carries parentCommentId; every row has stable commentId, videoId, and a direct comment URL.
Useful research dataText, author/channel identifiers, numeric likes, reply count, relative posting text, pinned/hearted badges, and optional video title/count.
Focused filtersNewest or top order, optional text substring and minimum likes. Filtered-out comments are not billed.
Bulk resilienceMultiple 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 planPrice 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

  • maxCommentsPerVideo and maxTotalComments count delivered comments and replies together. Top-level comments are prioritized before their replies on each page.
  • maxRepliesPerComment limits delivered replies under each parent. Replies are fetched only when their parent comment passes the filters and is delivered.
  • textContains is a case-insensitive substring filter; minLikes treats unavailable like counts as zero.
  • maxPagesPerVideo, maxRequestsPerVideo, maxTotalRequests, and requestTimeoutMs bound 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.
  • publishedText is 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.