YouTube Comments Scraper: Comments, Replies & Likes
Pricing
$0.50 / 1,000 comments
YouTube Comments Scraper: Comments, Replies & Likes
Scrape comments and replies from YouTube videos, Shorts, playlists and channels: text, author, likes, reply count, creator hearts and date. Sort by top or newest, set a limit per video. No API key or login. $0.50 per 1,000 comments.
Pricing
$0.50 / 1,000 comments
Rating
0.0
(0)
Developer
Santiago Marcos
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Security
Limited permissionsShare
YouTube Comments Scraper: comments, replies and likes
Scrape the comments of any YouTube video, Short or live replay, or of the videos in a playlist or channel. Paste links and get one row per comment with:
- the comment text, its link and its ID,
- the author: name, channel ID and URL, avatar, verified badge, and whether it's the video's own creator,
- likes, reply count and whether the creator hearted it,
- when it was posted (YouTube's "3 weeks ago" plus an approximate date) and whether it was edited,
- optionally the replies, as their own rows linked to the parent comment.
No YouTube API key, no Google account, no browser, no quota. The actor's event fee applies only to comments you get.
Why this one
- $0.50 per 1,000 comments, proxies included.
- Top or newest. Take YouTube's top comments, or sort newest first to track what people are saying right now.
- Replies when you want them. Off by default to keep runs cheap; turn them on and set a cap per comment.
- A limit per video, so 50 videos × 200 comments is one run with a predictable cost.
- No charge for failures. Videos with comments turned off, private or removed videos and invalid links are listed in
FAILURESand aren't charged a comment fee. - Every link format.
watch?v=,youtu.be/,/shorts/,/embed/,/live/,music.youtube.com, or the bare 11-character ID. - Playlists and channels. Paste a playlist or channel link (
@handleor/channel/UC…) and get comments from its videos, with hard caps on videos and pages so a big channel can't run away with your budget.
What you can use it for
- Sentiment and feedback analysis: what viewers think of a product launch, a trailer, a review or an ad.
- Audience research: questions, pain points and language your audience uses, ready for an LLM or a spreadsheet.
- Content ideas: find the questions commenters keep asking under your or your competitors' videos.
- Brand and community monitoring: sort by newest and run on a schedule to catch new comments.
- Giveaways: export every comment on a video to pick a winner.
- AI datasets: comment threads for classification, toxicity or topic models.
Input
| Field | Example | Notes |
|---|---|---|
| Videos | https://www.youtube.com/watch?v=aircAruvnKk | URLs or IDs, one per line. Duplicates are removed. |
| Playlists and channels | https://www.youtube.com/playlist?list=UU_x5XG1OV2P6uZZ5FSM9Ttw | Playlist, @handle or /channel/UC… URLs. See below. |
| Max videos per run | 100 | Unique videos in total, from both fields. Up to 10,000. |
| Max playlist/channel pages | 10 | YouTube listing pages read in total. Up to 100. |
| Max comments per video | 100 | Top-level comments. 0 = all. |
| Sort by | top / newest | Same as the YouTube menu. |
| Include replies | off | Replies become extra rows with isReply: true. |
| Max replies per comment | 10 | 0 = all. |
| Videos in parallel | 3 | Up to 10. |
Fill in Videos, Playlists and channels, or both. If you paste more than 100 video links, raise Max videos per run.
Playlists and channels
- Playlists:
youtube.com/playlist?list=…links. Awatch?v=…&list=…link in Videos is just that one video; put it in Playlists and channels to get the whole playlist. - Channels:
youtube.com/@handle(or/@handle/videos) andyoutube.com/channel/UC…links, using the channel's Videos tab only (no Shorts, live or podcast tabs). Example:https://www.youtube.com/@GoogleDevelopers. A handle is looked up once per run, with up to 4 tries; looking it up is free and doesn't use up Max playlist/channel pages. If YouTube won't resolve a handle, it shows up inFAILURESand the rest of the run carries on; paste the/channel/UC…link instead. Old/c/and/user/links aren't supported. - Order and duplicates: videos you pasted come first, then each playlist or channel in the order you listed them. A video found twice is scraped once.
- Caps: expansion stops at Max videos per run or Max playlist/channel pages, whichever comes first. A playlist page holds up to about 100 videos and a channel page about 30, so with the defaults you get up to 100 videos. It reads what YouTube lists; it doesn't promise every video of a large channel or a particular order.
- Report:
SOURCE_EXPANSIONin the key-value store shows, for each playlist or channel, the pages read, videos added, whether a cap stopped it, and any error or notice from YouTube. Playlists or channels that fail are also listed inFAILURES.
Output
{"videoId": "aircAruvnKk","videoUrl": "https://www.youtube.com/watch?v=aircAruvnKk","videoTitle": "But what is a neural network? | Deep learning chapter 1","commentId": "Ugwedfi--9yZVC0eefl4AaABAg","commentUrl": "https://www.youtube.com/watch?v=aircAruvnKk&lc=Ugwedfi--9yZVC0eefl4AaABAg","text": "I study mathematics, physics and architecture. By definition this man is an ORACLE ...","authorName": "@kummer45","authorChannelId": "UCqArZkt3NAOU0tcgIi6xmFQ","authorChannelUrl": "https://www.youtube.com/channel/UCqArZkt3NAOU0tcgIi6xmFQ","authorAvatar": "https://yt3.ggpht.com/ytc/...=s88-c-k-c0x00ffffff-no-rj","authorIsVerified": false,"authorIsChannelOwner": false,"likeCount": 13000,"replyCount": 173,"isHeartedByCreator": false,"isEdited": true,"publishedTimeText": "7 years ago","publishedAtApprox": "2019-10-22T17:05:39.085Z","isReply": false,"parentCommentId": null,"scrapedAt": "2026-10-22T11:05:39.085Z"}
likeCount is what YouTube shows, so large numbers are rounded (13K → 13000). publishedAtApprox is worked out from the relative time, so it's only as precise as that text: roughly the right day for recent comments, and only the month or year for old ones.
Use it from code
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("santiagomv/youtube-comments").call(run_input={"videos": ["https://www.youtube.com/watch?v=aircAruvnKk"],"maxComments": 200,"sortBy": "newest",})for c in client.dataset(run["defaultDatasetId"]).iterate_items():print(c["likeCount"], c["authorName"], c["text"][:80])
For a playlist or channel, pass "sources": ["https://www.youtube.com/@GoogleDevelopers"] plus "maxVideos" and a low "maxComments" to keep the run small.
More examples (Python, Node.js, cURL, n8n) are in the code examples repository, including a playlist and channel tutorial.
Which YouTube actor do I need?
- Comments and replies: this actor.
- Just the video list (URLs, titles, views, durations, approximate upload dates): YouTube Channel Videos. It reads the channel's Videos tab only, and views and dates are rounded or approximate as YouTube lists them.
- What's said in the videos: YouTube Transcripts, for videos that have captions available.
All three accept channel and playlist links directly.
Pricing
$0.50 per 1,000 comments ($0.0005 each), charged as an actor event for each comment returned; replies cost the same. Listing the videos of a playlist or channel and looking up @handles aren't charged as events, and neither are failed videos, failed playlists or channels and invalid links. Your run's maximum cost limit is always respected: the run stops when it's reached.
FAQ
Can it get every comment on a huge video? Set Max comments to 0 and it pages through everything YouTube serves. Very large videos can have millions of comments, so set a run cost limit.
Why is the comment count lower than the number YouTube shows? YouTube's counter includes replies and comments it hides (held for review, removed spam). Turn on replies to get closer.
Why is an old comment first when sorting by newest? That is the pinned comment; YouTube always shows it first.
Exact timestamps? YouTube shows only relative times to logged-out visitors, so you get that text and an approximate date.
Channels and playlists? Yes, with limits: playlist links and channel links (@handle or /channel/UC…, Videos tab only), capped by Max videos per run and Max playlist/channel pages. Comments add up fast across a channel: 100 videos × 100 comments is 10,000 comments, or $5. /c/ and /user/ links aren't supported; open an issue if you need them.
Do I need a YouTube API key or proxies? No.
Is this allowed? Read this before using it. This actor collects publicly visible comments without logging in. Automated access may be against YouTube's Terms of Service, and YouTube may block or rate-limit the IP addresses or accounts involved. Comments are personal data of their authors: you are responsible for how you use this actor and the data, including privacy laws (such as GDPR), copyright and YouTube's terms.
This actor is not affiliated with, endorsed by or sponsored by YouTube or Google LLC. YouTube is a trademark of Google LLC.