YouTube Comments Scraper avatar

YouTube Comments Scraper

Pricing

from $0.30 / 1,000 comment or replies

Go to Apify Store
YouTube Comments Scraper

YouTube Comments Scraper

Scrape YouTube comments and nested replies from videos, Shorts, community posts, channels and playlists. Exact like counts and publish times, full reply threads up to 6 levels deep, plus optional video and channel details. Export to JSON, CSV or Excel.

Pricing

from $0.30 / 1,000 comment or replies

Rating

5.0

(4)

Developer

Coder

Coder

Maintained by Community

Actor stats

0

Bookmarked

24

Total users

10

Monthly active users

11 hours ago

Last modified

Share

Scrape YouTube comments and nested replies from videos, Shorts, live streams, community posts, and whole channels or playlists into clean JSON, CSV or Excel. Every comment comes with the exact like count, exact publish time, author details, pinned and creator-heart flags, and the links you need to rebuild every reply thread - up to 6 levels deep. No YouTube account, no login and no API key needed.

Use it for audience and sentiment research, brand and product monitoring, community management, lead and influencer research, AI / LLM training data and analytics dashboards.

What you get

Every comment and reply

One row per comment or reply with the text, author (name, channel, avatar, verified, is the channel owner), exact like count, reply count, exact publish time, edited, pinned and creator heart. Each row carries replyLevel, parentId and rootId, plus the videoId and videoTitle (or postId) it belongs to.

Nested replies, as deep as you want

Replies are collected up to 6 levels deep (replies to replies to replies). You choose the depth and how many replies per comment.

Optional extras (each in its own table)

  • Video details - title, description, views, likes, comment count, publish date, duration, tags and channel for every video, Short or post you scraped.
  • Channel details - for the channel of every video and post: subscribers, total views, video count, country, join date, description and every social / website link.

Comments are always in the main (default) table, so integrations, exports and the API get them straight away. The extras go to their own tables, and the run log ends with one line per table and a link to it.

Input

FieldWhat it does
YouTube linksVideo, Short and live links, youtu.be links, community post links, and channel (URL or @handle) or playlist links
Maximum comments per videoTop-level comments per video, Short or post
Comments orderTop comments or newest first
Reply depth0 = no replies, 1 = direct replies, up to 6 for replies to replies
Maximum replies per commentReplies collected under each comment, at every level
Comments published afterOnly keep comments newer than a date (e.g. 2026-09-01 or 7 days)
Videos per channel or playlistFor channel and playlist links: comments from this many of the newest videos
$ Add video detailsAdds a row per video, Short or post
$ Add channel detailsAdds a row per channel, with social links

Example input

{
"startUrls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://www.youtube.com/shorts/T_SMf9j50uc",
"@mkbhd"
],
"maxComments": 100,
"commentsSortBy": "top",
"maxReplyDepth": 2,
"maxRepliesPerComment": 10,
"maxVideos": 5
}

Example output

Comment (a reply)

{
"type": "comment",
"id": "UgwbFVC25OjzrbY9iYB4AaABAg.AatakisKOuLAatdb_dHJlU",
"text": "That is a great way of using these tools as a supportive study tool for students!",
"author": {
"name": "@TeachersTechHQ",
"channelId": "UCM3mutT2jaaAIrqiMqom11g",
"isVerified": false,
"isChannelOwner": true,
"url": "https://www.youtube.com/@TeachersTechHQ"
},
"likeCount": 1,
"replyCount": 0,
"replyLevel": 1,
"parentId": "UgwbFVC25OjzrbY9iYB4AaABAg",
"rootId": "UgwbFVC25OjzrbY9iYB4AaABAg",
"publishedAt": "2026-09-18T09:41:02Z",
"estimatedPublishedAt": null,
"isEdited": false,
"hasCreatorHeart": false,
"isPinned": false,
"videoId": "cIScTGWMrgg",
"videoTitle": "AI Tools for Teachers: How Students Can Use AI to Learn, Not Just Get Answers?"
}

Pricing

You pay only for results you receive - never for links, retries, or videos that turned out to be private, deleted or have comments turned off.

ResultPrice per 1,000
Comment or reply (any level)$0.50
Video details add-on (per video or Short)$1.50
Post details add-on (per community post)$1.00
Channel details add-on (per channel)$2.00

Prices are for the Apify Free plan; paid Apify plans get lower prices automatically. Sorting and date filters are free. You can set a maximum cost per run in the run options - the Actor stops cleanly when it is reached.

Free plan

On Apify's free plan a run uses up to 5 links, 10 comments per video with 1 level of replies (3 per comment), and 5 videos per channel or playlist. Every feature works, so you can try all of them before upgrading.

Good to know

  • Community post comments have no exact time: YouTube only shows "3 days ago" for them, so they get estimatedPublishedAt (worked out from publishedTimeText) and an empty publishedAt. Video comments have exact times in publishedAt.
  • Comments turned off, private, removed and members-only videos are skipped and not charged; the run log says which.
  • "Comments published after" switches the order to newest first, so the run can stop as soon as it reaches older comments.
  • Want search results, channel profiles, transcripts or community posts too? Use our YouTube Scraper, which does all of that in one run.

FAQ

Do I need a YouTube account or API key? No. Everything is public data, collected without logging in.

How do I rebuild comment threads? Group rows by rootId; each reply's parentId is the comment it answers and replyLevel is its depth (0 = top-level comment). replyCount is YouTube's own number: every reply below that comment, at all levels (so a reply with 1 answer that itself has 4 answers shows 5).

Can I get the comments of a whole channel? Yes - paste the channel link or @handle and set "Videos per channel or playlist". The newest videos are used first.

Why do I get more rows than "Maximum comments"? That limit counts top-level comments. Replies are extra rows, controlled by "Reply depth" and "Maximum replies per comment".