YouTube Comments Scraper ($0.10/1K comments) avatar

YouTube Comments Scraper ($0.10/1K comments)

Pricing

from $0.10 / 1,000 comments

Go to Apify Store
YouTube Comments Scraper ($0.10/1K comments)

YouTube Comments Scraper ($0.10/1K comments)

Scrape YouTube video comments, Top or Newest, with optional replies: text, author and channel id, likes, reply count, publish time, pinned and creator-heart flags, video title. No login. Failed and empty videos are free.

Pricing

from $0.10 / 1,000 comments

Rating

0.0

(0)

Developer

Adam Rudd

Adam Rudd

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

18 hours ago

Last modified

Share

YouTube Comments Scraper (replies, likes, pinned, hearted)

Get the comments of YouTube videos, Top or Newest first, optionally with replies. You don't need a login, cookies or a YouTube API key.

  • Input: video links (watch?v=, youtu.be/, /shorts/, /live/) or 11-character video ids.
  • Comment fields: commentId, commentUrl, text, author (@handle), authorChannelId, authorChannelUrl, authorIsChannelOwner, authorAvatarUrl, likes (YouTube rounds large counts, e.g. 10K, and likesIsApprox says when it has), likesText, replyCount, publishedTimeText (e.g. 7 days ago), isEdited, isPinned, isHearted (hearted by the video's creator), hasImage (the comment has an image or GIF attached; its text may be empty), rank (position within the video).
  • Replies: with includeReplies on, each comment's replies follow it with isReply: true and parentId set to the comment they answer.
  • Video fields (every row): videoId, videoUrl, videoTitle, videoChannelName, videoChannelUrl.
  • Failures are free: a video with no comments or with comments turned off returns an empty row. A video that does not exist returns a failed row, and a link that is not a video returns a rejected row. Each of these says why and is not charged.

Input

FieldDefaultNotes
videos(required)video links or ids
maxCommentsPerVideo100rows per video, replies included; 0 = all
sorttoptop or newest
includeRepliesfalseadd the replies under each comment
includeVideoTitletruevideo title and channel on every row

Output example

{
"input": "https://www.youtube.com/watch?v=NiCgcUTL9_Q",
"status": "ok",
"videoId": "NiCgcUTL9_Q",
"videoUrl": "https://www.youtube.com/watch?v=NiCgcUTL9_Q",
"videoTitle": "...",
"videoChannelName": "Veritasium",
"rank": 2,
"commentId": "UgxJh5sXrazQCqlqEIh4AaABAg",
"commentUrl": "https://www.youtube.com/watch?v=NiCgcUTL9_Q&lc=UgxJh5sXrazQCqlqEIh4AaABAg",
"text": "...",
"author": "@someone",
"authorChannelId": "UC...",
"authorIsChannelOwner": false,
"likes": 10000,
"likesIsApprox": true,
"likesText": "10K",
"replyCount": 91,
"publishedTimeText": "7 days ago",
"isEdited": false,
"isReply": false,
"parentId": null,
"isPinned": false,
"isHearted": false
}

Pricing

You pay one price per returned comment or reply (see the Pricing tab). Empty, failed and rejected rows are free. The run stops when it reaches your maximum charge.

What it does not do (yet)

  • No exact dates. YouTube shows relative times such as 7 days ago.
  • No total comment count for the video.
  • No date filter.
  • Channel links are not accepted. To get comments for a channel's videos, list the videos first with our YouTube Channel Scraper.

For transcripts, use YouTube Transcript.

Responsible use

Comments contain personal data (names, handles, avatars). You are responsible for how you use the data, including data-protection law and YouTube's terms.