YouTube Comments Scraper (no login, text + likes, monitor) avatar

YouTube Comments Scraper (no login, text + likes, monitor)

Pricing

from $0.40 / 1,000 result items

Go to Apify Store
YouTube Comments Scraper (no login, text + likes, monitor)

YouTube Comments Scraper (no login, text + likes, monitor)

Get YouTube video comments without login: text, like count, reply count and pin/heart status for a list of videos. No author names, channel ids or avatars collected. Monitor mode alerts on new comments; pay only per comment returned.

Pricing

from $0.40 / 1,000 result items

Rating

0.0

(0)

Developer

Viktor Dubnytskiy

Viktor Dubnytskiy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Get the top-level comments of any YouTube video: text, like count, reply count, pin/heart status and a relative + estimated publish date. No YouTube account, no cookies, no API key. Runs the same Innertube endpoint the official Android app uses.

What you get

Real rows from the example dataset (video dQw4w9WgXcQ):

textlikeCountreplyCountpublishedTextisPinned / isHearted
"can confirm: he never gave us up"3180009621 year agotrue / true
"I Rick rolled my entire French class because we had to study a city in France…"1010005486 years ago (edited)false / false
"Gonna flag this for nudity so I can rick roll the YouTube staff"5660007006 years agofalse / false

Full row: id, url, videoId, videoUrl, text, likeCount, replyCount, publishedText, publishedAt, isPinned, isHearted, isReply, query, scrapedAt.

Not collected, ever: commenter display name, channel id/handle, avatar image, verification/creator badges. Only the comment content and its counters.

Use cases

  • Read sentiment and reactions on your own or a competitor's video without opening YouTube.
  • Track how many likes a pinned comment collects over time (monitor mode).
  • Feed comment text into a summariser or moderation pipeline.

Try it in 10 seconds

Hit Start/Try it — the input already works: videoUrls: ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"], maxCommentsPerVideo: 100, maxItems: 200, nothing required.

To track a video's comment section over time: save the task, set Mode to monitor, and put it on a schedule (Apify → Schedules → cron 0 */6 * * * every 6 hours). Each run then returns only comments that are new since the previous check.

How it works

  1. Entry — the video's Innertube next response carries the comment section's continuation token, if the video has comments open at all.
  2. Pages — each continuation page returns up to ~20 comments with their like/reply counters, pin status and whether the creator hearted them; the actor walks continuations until maxCommentsPerVideo is reached, a page repeats the same ids, or comments run out.
  3. Comments turned off (private uploads, some made-for-kids videos) or an invalid video id come back as a normal empty result for that video — not a block, not a charge. If every proxy tier YouTube answers with a wall for a video, the run stops and reports a block instead of silently returning nothing.

Input

FieldMeaningDefault
videoUrlsVideo URLs (watch?v=, youtu.be/…, /shorts/…) or bare 11-character idsrequired
maxCommentsPerVideoStop fetching comments for one video after this many100
sorttop or newest — see Limits, only top is actually servedtop
maxItemsStop the whole run after this many comment rows200
modescrape or monitor (only new comments since last run)scrape
monitorStateId, webhookUrl, telegramBotToken, telegramChatIdMonitor-mode state key and alert targetsempty

Pricing

EventPrice
result$0.0005 per comment ($0.50 per 1,000)
monitor-check$0.005 per monitor run
change$0.0005 per new comment

Charged only for comments actually pushed. Residential proxy traffic is billed by Apify on top of these prices when YouTube walls the datacenter tier.

Why this actor

  • No login, no cookies, no API key or quota to manage.
  • Comment counters (likes, replies) alongside the text in one row — most comment scrapers on the Store return text only.
  • A run that finds nothing pushes nothing and charges no result events; the run summary explains why.

Limits

  • Top-level comments only. Replies are not expanded in this version; isReply is always false.
  • Sort order. YouTube's Android client (the one this actor reads) does not expose the "Newest first" sort chips in its response, only the default "Top comments" order. sort: "newest" is accepted on input for forward compatibility but every run currently returns the same top-comments order.
  • publishedAt is an estimate, computed from YouTube's own relative text ("1 year ago") at scrape time, not an exact timestamp.
  • Live/upcoming streams and members-only comments are not specifically handled and may return fewer rows than expected.

FAQ

Does it need a YouTube account or cookies? No — every request is made as a logged-out Android app client.

Why is there no commenter name or avatar? By design: this actor collects comment content and counters only, never person-level identity of individual commenters.

What happens when comments are off for a video? No rows are pushed for that video and nothing is charged; the run continues with the rest of videoUrls.

Changelog

  • 0.1: initial release — top-level comments with text, counters, pin/heart status and an estimated publish date; monitor mode; walled videos are reported as a block instead of an empty dataset.

If this actor saved you time, a short review on its Store page genuinely helps other people find it. Found a bug or need a field that is missing? Open a ticket on the Issues tab.