YouTube Comments Scraper avatar

YouTube Comments Scraper

Pricing

Pay per event

Go to Apify Store
YouTube Comments Scraper

YouTube Comments Scraper

Scrape YouTube comments with author, likes, reply counts and timestamps. Sort by top or newest, optionally include replies, no login or API key required.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Muhammad Ahmed

Muhammad Ahmed

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

Pull the comment section off any YouTube video into a clean dataset — comment text, author, likes, reply counts and timestamps. Works on regular videos, Shorts and live replays. No login, no cookies, no API key, and no YouTube quota.

300 comments across three videos takes about 35 seconds.

What you get

Every comment becomes one row:

FieldDescription
commentIdYouTube's own comment ID — stable, good for de-duplication across runs
textThe comment itself
authorDisplay name, e.g. @YouTube
authorChannelIdChannel ID of the commenter
authorChannelUrlDirect link to their channel
authorAvatarProfile picture URL
authorIsCreatorWhether the comment is from the video's own channel
authorIsVerifiedVerified or official-artist channel
likeCountNumber of likes
likeCountTextYouTube's own display form, e.g. 301K
replyCountReplies on that thread
publishedTimeRelative time as YouTube shows it, e.g. 1 year ago
isEditedWhether the comment was edited
isPinnedPinned to the top by the creator
isHeartedByCreatorCreator gave it a heart
replyLevel0 for a top-level comment, 1 for a reply
videoId, videoUrl, scrapedAtWhich video the comment came from, and when

Example

{
"commentId": "Ugzge340dBgB75hWBm54AaABAg",
"text": "can confirm: he never gave us up",
"author": "@YouTube",
"authorChannelUrl": "https://www.youtube.com/channel/UCBR8-60-B28hp2BmDPdntcQ",
"authorIsVerified": true,
"likeCount": 301000,
"likeCountText": "301K",
"replyCount": 962,
"publishedTime": "1 year ago",
"isPinned": true,
"replyLevel": 0,
"videoId": "dQw4w9WgXcQ"
}

Input

OptionDescription
Video URLsWatch, share, Shorts or embed links — or bare 11-character video IDs. Required.
Max comments per videoHow many to collect per video, up to 20,000. YouTube returns about 20 per request.
Sort byTop comments (YouTube's default ranking) or newest first.
Include repliesAlso collect replies to each comment.
Max itemsHard cap across the whole run.
Proxy configurationResidential proxy, required and on by default.

Use it for

  • Audience research — what people actually say under your videos, or a competitor's
  • Sentiment analysis — feed the text column straight into a model
  • Creator outreach — find engaged commenters, with channel links included
  • Moderation review — pull everything newest-first and scan it in a spreadsheet
  • Trend tracking — re-run on a schedule and diff on commentId

Honest notes

  • Like counts above 1,000 are approximate. YouTube itself displays 301K rather than an exact figure and publishes the precise number nowhere, so likeCount becomes 301000. Counts under 1,000 are exact. The original display string is kept in likeCountText so you can always see what YouTube actually showed.
  • publishedTime is relative, not a date — 1 year ago, 7 minutes ago — because that is the only form YouTube returns for comments. Combine it with scrapedAt if you need to anchor it.
  • Replies are opt-in and count toward your limit. YouTube preloads a teaser reply under popular threads; those are filtered out unless you switch replies on, so a run with replies off returns top-level comments only.
  • Videos with comments disabled return a clear error row rather than an empty result, so you can tell "no comments" apart from "comments turned off".
  • Residential proxy is required. YouTube blocks Apify's datacenter IPs. The Actor takes a fresh proxy session per request and retries refusals automatically.

Pricing

Pay per comment actually extracted. Failed or blocked requests cost you nothing, and there is no per-page or per-hour charge — retries are on us.