YouTube Comments Scraper: Comments, Replies, Likes avatar

YouTube Comments Scraper: Comments, Replies, Likes

Pricing

from $0.81 / 1,000 comments

Go to Apify Store
YouTube Comments Scraper: Comments, Replies, Likes

YouTube Comments Scraper: Comments, Replies, Likes

YouTube comments and replies for video URLs (text, likes, reply count, date, pinned, hearted flags) at $1.80 per 1,000 comments. Top or newest order, date cut-off, no author data. Free error rows.

Pricing

from $0.81 / 1,000 comments

Rating

0.0

(0)

Developer

Arcadium Data

Arcadium Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Share

YouTube Comments Scraper: Comments, Replies, Likes

Give it YouTube video or Shorts links and it returns one JSON row per comment: text, likes, reply count, date, pinned, creator-heart and by-creator flags, with the video title and channel. Replies are optional and come right after their comment. $1.80 per 1,000 comments; you pay only for rows you get.

Why this actor

  • Top or newest order, a date cut-off, a cap per video and per run.
  • Input names of the leading comment actors are accepted (startUrls, maxComments, sortCommentsBy, oldestCommentDate, sort, includeReplies, maxItems).
  • Videos with comments turned off, private or missing videos come back as free error rows that say why.
  • No personal data: comment authors' names, handles and channels are never collected, and @mentions in the text are replaced.

Built by Arcadium Data: public data, dated and agent-ready, never personal data.

Use with AI agents

The actor takes plain JSON and returns one flat row per comment, so an AI agent or MCP client (for example through mcp.apify.com) can call arcadium/youtube-comments directly. Comments cost $1.80 per 1,000 on the Free plan.

Input example for "the 100 top comments of a video":

{ "urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"], "maxComments": 100 }

"Newest comments of the last week with their replies":

{ "urls": ["https://youtu.be/dQw4w9WgXcQ"], "sortCommentsBy": "NEWEST_FIRST", "oldestCommentDate": "7 days", "includeReplies": true, "maxComments": 500 }

What you get

FieldWhat it holds
commentId, commentUrlStable comment id and a link that opens the video at this comment.
textThe comment. Emails, phones, profile links and @mentions are replaced.
likeCountLikes, rounded by YouTube above 1,000.
replyCountReplies to a top-level comment.
publishedText, publishDate"3 weeks ago" and the approximate date it means.
isReply, parentCommentIdReplies point at their comment.
isPinned, isHearted, isByChannelOwner, isAuthorVerifiedCreator signals.
positionRank of the comment in the chosen order.
videoId, videoTitle, channelName, channelId, videoCommentCountTextThe video and its channel.

Output example:

{
"rowType": "comment",
"platform": "youtube",
"commentId": "UgzKYksqeQ5gA3t0g0F4AaABAg",
"commentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=UgzKYksqeQ5gA3t0g0F4AaABAg",
"videoId": "dQw4w9WgXcQ",
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"videoTitle": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"channelName": "Rick Astley",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"videoCommentCountText": "2.4M",
"text": "I Rick rolled my entire French class with a fake quiz link.",
"publishedText": "6 years ago",
"publishDate": "2020-11-01",
"publishDateIsApprox": true,
"isEdited": true,
"likeCount": 106000,
"replyCount": 648,
"isReply": false,
"parentCommentId": null,
"isByChannelOwner": false,
"isAuthorVerified": false,
"isHearted": false,
"isPinned": false,
"position": 1,
"sortedBy": "top",
"scrapedAt": "2026-10-31T04:00:00.000Z"
}

Input

FieldWhat it does
urlsVideo or Shorts URLs, or video ids.
maxCommentsRows per video, comments plus replies (default 100).
sortCommentsByTOP_COMMENTS (default) or NEWEST_FIRST.
includeReplies, maxRepliesPerCommentReplies after each comment (default off, 20 each).
oldestCommentDateSkip older comments (approximate, see Limitations).
maxItemsCap for the whole run.

Pricing

You pay per comment or reply delivered, at the price of your Apify plan. Error rows and repeats are free.

Apify planPer 1,000 comments
Free$1.80
Starter (Bronze)$1.35
Scale (Silver)$1.08
Business (Gold)$0.81
Platinum$0.81
Diamond$0.81

Plus a one-off $0.001 per GB of memory when a run starts. Set a maximum cost per run in the Apify run options and the actor stops before it goes over.

Use cases

  • Audience research: what viewers ask, praise and complain about under your or a competitor's videos.
  • Product feedback: comments under review videos of a product, newest first, every day.
  • Sentiment and topic analysis: clean text with likes as a weight, no personal data to scrub.
  • Agents: "what do people say about this video" before writing a summary.

Limitations

  • YouTube shows comment dates as "3 weeks ago", so publishDate and the oldestCommentDate cut are approximate (to the unit shown).
  • Like counts above 1,000 are rounded by YouTube ("106K").
  • No author names, handles, avatars or author channels, by design. Old replies may start with the replied-to person's display name as plain text without an @; those are not always caught.
  • Comments are read as an anonymous visitor sees them; held-for-review and members-only comments are not visible.

Privacy

Public data only, read the way an anonymous visitor's browser reads it. No login, no cookies, no account. Comment authors are never collected: no names, handles, channel ids or avatars. @mentions of other users become @user; emails, phone numbers and profile links in the text are replaced. The channel name in each row is the video's publisher.

FAQ

Can I get the comment author? No. Author names and handles are personal data and are never output; isByChannelOwner and isAuthorVerified say whether the creator or a verified channel wrote it.

A video returned nothing. Why? Look at its error row: comments may be turned off, or the video is private or removed. Error rows are free.