YouTube Comments Scraper - Text, Likes & Authors avatar

YouTube Comments Scraper - Text, Likes & Authors

Pricing

Pay per event

Go to Apify Store
YouTube Comments Scraper - Text, Likes & Authors

YouTube Comments Scraper - Text, Likes & Authors

"304K" is what YouTube prints under a comment, and "304K" is what comes back; there is no number behind it to give. Rows carry text, reply count, relative timestamp, author handle, channel ID, verified badge and avatar. $0.40 per 1,000 comments plus a $0.001 start fee.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

YouTube Comments Scraper

Point it at YouTube videos and it returns the comments: text, author, like count, reply count, timestamp, verified badge and avatar. There's no API key to request and no Google quota to keep an eye on.

What you get back

{
"ok": true,
"type": "comment",
"id": "EhpVZ3pnZTM0MGRCZ0I3NWhXQm01NEFhQUJBZyAoKAE%3D",
"videoId": "dQw4w9WgXcQ",
"text": "can confirm: he never gave us up",
"publishedTime": "1 year ago",
"likeCount": "304K",
"replyCount": "963",
"isReply": false,
"author": "@YouTube",
"authorChannelId": "UCBR8-60-B28hp2BmDPdntcQ",
"authorIsVerified": true,
"authorAvatar": "https://yt3.ggpht.com/3s6evpqAiDU9tQR4sC2siJippbH2RWVPnwHgyl4V0th2iuQz0VDQZbUhQBGmsxLYo-mjG6TqZQ=s88-c-k-c0x00ffffff-no-rj"
}

Three of those fields aren't the type you'd expect:

likeCount and replyCount are strings, and they're abbreviated. A comment with 304,000 likes gives you "304K", not 304000. That's YouTube's own display text. Small numbers come through exact ("963"), large ones don't. Parse accordingly if you're going to sort on it.

publishedTime is relative text. "1 year ago", "3 weeks ago". There's no absolute timestamp in this payload.

author is the @handle, including the @. authorChannelId is the stable UC… ID and is what you should join on.

Input

{
"videoUrls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://youtu.be/9bZkp7q19f0"
],
"maxComments": 500
}
FieldDefaultNotes
videoUrlsone prefilled exampleWatch URLs, youtu.be short links and /shorts/ URLs all parse.
videoIdsOr bare 11-character IDs, if that's what you have.
maxComments100Total across all videos, 1 to 10,000. This is your budget cap.
proxyConfigurationApify proxy onDatacenter addresses work fine here.
notionConnector / notionParentIdOptional Notion delivery.

You can pass both videoUrls and videoIds; they're merged and deduplicated.

Limits

The budget is split evenly across videos. maxComments: 500 over 5 videos means roughly 100 from each, not 500 from the first one. If one video is the one you care about, run it on its own.

Replies aren't expanded thread by thread. Every row carries replyCount, so you always know how much conversation sits under a comment, and any reply-level rows YouTube returns inline are marked isReply: true. But the actor doesn't walk into each "view 963 replies" thread and pull them out. If your job depends on complete reply trees, this isn't it.

No video-level stats. Every row is about the comment. The video's title, view count and description aren't in the payload. Use a video scraper for those.

Comments come back in YouTube's own default order, which is roughly "top comments", not chronological.

If a video has comments disabled or unavailable, you get one NO_RESULTS diagnostic row naming the videoId and the run moves on to the next video. Diagnostic rows are never billed.

Billing

$0.0004 per comment, which is $0.40 per 1,000, plus a $0.001 run-start fee. Flat on every Apify plan.

Charged per comment actually delivered, and duplicates are dropped on comment ID before charging. A video with comments off costs you nothing beyond the start fee.

Delivery

Dataset export as JSON, CSV or Excel, or read it over the API. Setting notionConnector and notionParentId also writes one Notion page per comment after the run; leave them empty to skip.

Why people run it

Reading a launch video's comments without scrolling for an hour. YouTube's default order puts the upvoted comments first, which is usually where the complaints are as well as the praise.

Competitor research works the same way. Pull a few hundred comments off someone else's videos and the same two or three questions keep coming back at you, which tells you what your own page should answer.

The third is finding repeat commenters. Run a channel's videos through it, group by authorChannelId, and the accounts appearing on every single video are either the regulars or the bots.