YouTube Comments Scraper
Pricing
from $0.50 / 1,000 comments and level 1 replies
YouTube Comments Scraper
Collect comments and optional nested replies from public YouTube videos and Shorts links. Export clean, structured JSON with optional video and channel details for moderation, sentiment analysis, reporting, and research workflows.
Pricing
from $0.50 / 1,000 comments and level 1 replies
Rating
5.0
(5)
Developer
Coder
Actor stats
0
Bookmarked
7
Total users
7
Monthly active users
4 days ago
Last modified
Categories
Share
Collect comments from public YouTube videos and Shorts links, with optional channel details, video details, and nested replies.
This Actor is designed for comment-focused workflows. Provide one or more direct links, choose how much detail you want, and get one structured result record per input URL.
What You Get
- Top-level comments from public YouTube videos and Shorts
- Optional replies up to level 1, 2, or 3
- Optional video details
- Optional channel details
- One clean dataset item per input link
Good Fit For
- Audience feedback analysis
- Moderation and review workflows
- Campaign reporting
- Creator benchmarking
- Training datasets and internal analytics
Supported Links
- Standard watch links
- Shorts links
youtu.beshort links
Example:
https://www.youtube.com/watch?v=DXVHmGoCTcohttps://www.youtube.com/shorts/oiZvK6MY7tIhttps://youtu.be/p9jZXhYF6Zk
Main Input Options
directUrlsOne or more public YouTube video or Shorts links.includeVideoDetailsAdds video-level metadata such as title, publish date, duration, counts, thumbnails, and availability flags.includeChannelInfoAdds channel-level metadata such as name, handle, URL, country, subscriber count, and avatar.maxCommentsMaximum number of top-level comments per link.includeRepliesEnables reply collection.replyLevelControls reply depth:1= first-level replies only2= first-level replies and replies to replies3= up to three reply levels
maxRepliesPerLevelMaximum number of replies collected at each level.commentsSortBytopornewestcommentsDateRangeDateOptional date filter such as7 days,30 days, or2026-01-01
If a date range is provided, sorting is automatically handled in a way that best supports recent-comment filtering.
Free Plan Limits
Free runs will be reduced automatically. Typical adjustments may include:
- fewer links per run
- lower comment limits
- lower reply limits
- first-level replies only
Output Structure
Each dataset item represents one requested link.
Top-level fields:
inputUrlnormalizedUrlvideoIdcontentTypestatusvideochannelcommentssummaryerrorcollectedAt
status values
okData was collected successfully.no_commentsThe item was available, but no public comments were returned.invalid_inputThe provided link was not a supported public YouTube video or Shorts URL.failedThe item could not be completed during this run.
comments object
The comments object includes:
enabledsortBydateRangemaxReplyLeveltopLevelCountreplyCountlevel1ReplyCountlevel2ReplyCountlevel3ReplyCountthreads
Each comment or reply node may include:
idauthorNameauthorChannelIdauthorUrlauthorAvatarUrltextlikeCountpublishedAtpublishedTimeTextupdatedAtupdatedTimeTextreplyCountreplyLevelreplies
Detailed Example Output
{"inputUrl": "https://www.youtube.com/watch?v=DXVHmGoCTco","normalizedUrl": "https://www.youtube.com/watch?v=DXVHmGoCTco","videoId": "DXVHmGoCTco","contentType": "video","status": "ok","video": {"id": "DXVHmGoCTco","title": "50 Streamers Fight for $1,000,000","description": "i can't believe we got all these streamers together in one place lol","channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","channelTitle": "MrBeast","channelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA","publishDate": "2026-04-04T16:00:01Z","durationSeconds": 2541,"viewCount": 59275120,"likeCount": 1855099,"commentCount": 125523,"thumbnailUrl": "https://i.ytimg.com/vi/DXVHmGoCTco/maxresdefault.jpg","captionsAvailable": true,"embedUrl": "https://www.youtube.com/embed/DXVHmGoCTco","privacyStatus": "public","license": "youtube","isEmbeddable": true,"isMadeForKids": false,"isLive": false,"isUpcoming": false},"channel": {"id": "UCX6OQ3DkcsbYNE6H8uQQuVA","name": "MrBeast","handle": "@mrbeast","url": "https://www.youtube.com/@mrbeast","country": "US","subscriberCount": 475000000,"videoCountText": "963","totalViewsText": "117006098406","isVerified": true},"comments": {"enabled": true,"sortBy": "top","dateRange": "","maxReplyLevel": 3,"topLevelCount": 10,"replyCount": 120,"level1ReplyCount": 37,"level2ReplyCount": 28,"level3ReplyCount": 55,"threads": [{"id": "UgyCejUOAhJb3S9P5-Z4AaABAg","authorName": "@ukitsethn","authorChannelId": "UCd-2DgZGEwN9KxJOzj5F8wQ","authorUrl": "http://www.youtube.com/@ukitsethn","authorAvatarUrl": "https://yt3.ggpht.com/example-top-level-avatar=s48-c-k-c0x00ffffff-no-rj","text": "i love how all of the comments hate on rakai lol","likeCount": 2674,"publishedAt": "2026-04-07T07:10:55Z","publishedTimeText": "9 hours ago","updatedAt": "2026-04-07T07:10:55Z","updatedTimeText": "9 hours ago","replyCount": 6,"replyLevel": 0,"replies": [{"id": "UgyCejUOAhJb3S9P5-Z4AaABAg.AVI53eCZuvwAVICG6GRWWC","authorName": "@Asdfasdf-k8v","authorChannelId": "UCAwfNMtxlRgpRydAdrSbPPQ","authorUrl": "https://www.youtube.com/@Asdfasdf-k8v","authorAvatarUrl": "https://yt3.ggpht.com/example-reply-avatar=s88-c-k-c0x00ffffff-no-rj","text": "In any good movie someone had to be the bad guy, and he played the role very well 😂","likeCount": 10,"publishedAt": "2026-04-07T08:50:53.651383+00:00","publishedTimeText": "8 hours ago","updatedAt": null,"updatedTimeText": null,"replyCount": 2,"replyLevel": 1,"replies": [{"id": "UgyCejUOAhJb3S9P5-Z4AaABAg.AVI53eCZuvwAVIHZpahV0b","authorName": "@TeslimFadimu","authorChannelId": "UCCFc7zsbB1-qWHr2d3YjVvg","authorUrl": "https://www.youtube.com/@TeslimFadimu","authorAvatarUrl": "https://yt3.ggpht.com/example-level-2-avatar=s88-c-k-c0x00ffffff-no-rj","text": "@Asdfasdf-k8v exactly I love him though","likeCount": 6,"publishedAt": "2026-04-07T09:50:53.651420+00:00","publishedTimeText": "7 hours ago","updatedAt": null,"updatedTimeText": null,"replyCount": 1,"replyLevel": 2,"replies": [{"id": "UgyCejUOAhJb3S9P5-Z4AaABAg.AVI53eCZuvwAVJ4PWkNXdz","authorName": "@ErickZAZ","authorChannelId": "UC2Lpcda5fKyRBPksIBApViw","authorUrl": "https://www.youtube.com/@ErickZAZ","authorAvatarUrl": "https://yt3.ggpht.com/example-level-3-avatar=s88-c-k-c0x00ffffff-no-rj","text": "@TeslimFadimu naah","likeCount": 1,"publishedAt": "2026-04-07T16:24:55.271708+00:00","publishedTimeText": "37 minutes ago","updatedAt": null,"updatedTimeText": null,"replyLevel": 3,"replies": []}]}]}]}]},"summary": {"commentsCollected": 10,"level1RepliesCollected": 37,"level2RepliesCollected": 28,"level3RepliesCollected": 55,"videoDetailsIncluded": true,"channelInfoIncluded": true},"error": null,"collectedAt": "2026-04-07T16:51:01.013189+00:00"}
Notes
- The Actor works with public YouTube videos and public Shorts links.
- Comment availability depends on the item itself. Some links may have no public comments.
- Some items may return partial metadata depending on public availability.
- The Actor continues processing valid links even if one item fails or is unsupported.
How To Use
- Add one or more YouTube video or Shorts links.
- Choose whether you want video details and channel details.
- Set your comment limit, reply depth, and reply limit.
- Run the Actor.
- Export the dataset in JSON, CSV, Excel, or use it directly through the Apify API.