YouTube Comments Scraper: Videos, Shorts, Channels & Replies
Pricing
$1.50 / 1,000 comment scrapeds
YouTube Comments Scraper: Videos, Shorts, Channels & Replies
Scrape YouTube comments and replies from videos, Shorts, channels and playlists: text, likes, reply count, author, verified/creator flags, pinned and hearted comments, video title and stats. Top or newest first. No API key, no browser. Pay per comment.
Pricing
$1.50 / 1,000 comment scrapeds
Rating
0.0
(0)
Developer
Murch1k
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
YouTube Comments Scraper — Comments & Replies from Videos, Shorts, Channels and Playlists
Export YouTube comments and replies in bulk: comment text, likes, reply count, author name, channel ID, avatar, verified / channel-owner / artist badges, pinned and hearted-by-creator flags, posting time, plus the video title, channel and view count on every row.
Paste videos, Shorts, channels or playlists — channels and playlists are expanded into their latest videos automatically. No YouTube API key, no quota, no login and no browser.
Features
- Videos, Shorts, channels and playlists in one input. Give
@mkbhdand get comments from the channel's latest N videos. - Top or Newest first. Use Newest to monitor new comments on your own or competitors' videos.
- Replies included on request, as separate rows linked with
parentCommentId— to rebuild threads, group byparentCommentId. - Rich flags:
isPinned,isHeartedByCreator,authorIsChannelOwner,authorIsVerified,isEdited. - Ready for analysis: likes are numbers (
219K→219000), the total comment count of each video is on every row, andpublishedAtApproxturns "3 weeks ago" into a date. - Fast: pure HTTP against YouTube's own web API; thousands of comments per minute with a small memory footprint.
- Pay per comment, with a hard cost cap (
maxResults) and your Apify spending limit respected exactly.
Use cases
- Audience research & sentiment analysis — feed comments into ChatGPT/Claude or a sentiment model.
- Product feedback mining from review and unboxing videos.
- Influencer vetting — check real engagement, creator replies and hearted comments.
- Lead generation — find people asking for a product or service in comments of niche videos.
- Community management — export new comments daily (
sortBy: newest). - Giveaways — collect every commenter of a video.
Input
{"startUrls": ["https://www.youtube.com/watch?v=jNQXAC9IVRw","https://www.youtube.com/shorts/0e3GPea1Tyg","@mkbhd"],"maxCommentsPerVideo": 100,"sortBy": "top","includeReplies": true,"maxRepliesPerComment": 20,"maxVideosPerChannel": 10}
| Option | Default | Notes |
|---|---|---|
startUrls | — | Video/Shorts URLs or IDs, channels (@handle, /channel/UC…), playlists. |
maxCommentsPerVideo | 100 | Top-level comments per video; 0 = all. |
sortBy | top | top or newest. |
includeReplies | false | Replies become extra rows (isReply: true). |
maxRepliesPerComment | 20 | Cap per thread. |
maxVideosPerChannel | 10 | Latest videos taken from each channel/playlist. |
maxResults | 0 | Cost cap for the whole run (comments + replies). |
maxConcurrency | 10 | Videos in parallel. |
proxyConfiguration | off | Only for very large runs that hit HTTP 429. |
Output
Real output (default input)
First 2 of 40 records from a run with the prefilled input (3.7 s on a test machine; long values shortened here):
[{"videoId": "0e3GPea1Tyg","commentId": "UgzH8vliQSJKHQMGZjx4AaABAg","text": "Like I said in the video, subscribe if you haven’t already and you could win $10,000!","author": "@MrBeast","authorChannelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","authorChannelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA","authorAvatar": "https://yt3.ggpht.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s88-c-k-c0x00ffffff-no-rj","authorIsVerified": true,"authorIsChannelOwner": true,"authorIsArtist": false,"likes": 1100000,"replyCount": 739,"publishedTimeText": "4 years ago","publishedAtApprox": "2022-10-16T12:03:29.799Z","isEdited": false,"isPinned": true,"isHeartedByCreator": false,"isReply": false,"parentCommentId": null,"commentUrl": "https://www.youtube.com/watch?v=0e3GPea1Tyg&lc=UgzH8vliQSJKHQMGZjx4AaABAg","videoTitle": "$456,000 Squid Game In Real Life!","videoUrl": "https://www.youtube.com/watch?v=0e3GPea1Tyg","channelName": "MrBeast","channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","videoViewCount": 973482287,"source": "https://www.youtube.com/shorts/0e3GPea1Tyg","videoCommentCount": 660074,"scrapedAt": "2026-10-15T12:03:29.802Z"},{"videoId": "0e3GPea1Tyg","commentId": "UgwDhFNTCbfck5apuUJ4AaABAg","text": "Huge props to the set designers, everything was spot on!","author": "@DoodleChaos","authorChannelId": "UCnVimh35ecf46P_Bt-2AArg","authorChannelUrl": "https://www.youtube.com/channel/UCnVimh35ecf46P_Bt-2AArg","authorAvatar": "https://yt3.ggpht.com/ytc/AIdro_luPgVjRv0QRKfNIssTr6Tb21b7UvM84AQEc_nkrB9ZqLI=s88-c-k-c0x00ffffff-no-rj","authorIsVerified": true,"authorIsChannelOwner": false,"authorIsArtist": false,"likes": 574000,"replyCount": 697,"publishedTimeText": "4 years ago","publishedAtApprox": "2022-10-16T12:03:29.799Z","isEdited": false,"isPinned": false,"isHeartedByCreator": false,"isReply": false,"parentCommentId": null,"commentUrl": "https://www.youtube.com/watch?v=0e3GPea1Tyg&lc=UgwDhFNTCbfck5apuUJ4AaABAg","videoTitle": "$456,000 Squid Game In Real Life!","videoUrl": "https://www.youtube.com/watch?v=0e3GPea1Tyg","channelName": "MrBeast","channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","videoViewCount": 973482287,"source": "https://www.youtube.com/shorts/0e3GPea1Tyg","videoCommentCount": 660074,"scrapedAt": "2026-10-15T12:03:29.802Z"}]
{"videoId": "jNQXAC9IVRw","commentId": "UgzuC3zzpRZkjc5Qzsd4AaABAg","text": "San Diego Zoo","author": "@SanDiegoZoo","authorChannelId": "UC1aIs0qJ6R4o1dZQmwF8Hzw","authorChannelUrl": "https://www.youtube.com/channel/UC1aIs0qJ6R4o1dZQmwF8Hzw","authorAvatar": "https://yt3.ggpht.com/…","authorIsVerified": true,"authorIsChannelOwner": false,"authorIsArtist": false,"likes": 1200000,"replyCount": 985,"publishedTimeText": "2 years ago","publishedAtApprox": "2024-10-14T19:10:27.833Z","isEdited": false,"isPinned": true,"isHeartedByCreator": true,"isReply": false,"parentCommentId": null,"commentUrl": "https://www.youtube.com/watch?v=jNQXAC9IVRw&lc=UgzuC3zzpRZkjc5Qzsd4AaABAg","videoTitle": "Me at the zoo","videoUrl": "https://www.youtube.com/watch?v=jNQXAC9IVRw","channelName": "jawed","channelId": "UC4QobU6STFB0P71PMvOGN5A","videoViewCount": 443808773,"videoCommentCount": 10639435,"source": "https://www.youtube.com/watch?v=jNQXAC9IVRw","scrapedAt": "2026-10-13T19:30:00.000Z"}
Use with AI agents (MCP), LangChain, RAG & the API
This actor is a ready-made tool for AI agents: an LLM can call it, wait for the run and read clean JSON back.
MCP server (Claude Desktop, Claude Code, Cursor, VS Code, any MCP client) — add Apify's hosted MCP server with this actor enabled as a tool:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=murch1k/youtube-comments-scraper","headers": { "Authorization": "Bearer <APIFY_TOKEN>" }}}}
LangChain / LangGraph (pip install langchain-apify, set APIFY_API_TOKEN):
from langchain_apify import ApifyActorsTool, ApifyWrapperfrom langchain_core.documents import Document# 1) give the actor to an agent as a tooltool = ApifyActorsTool("murch1k/youtube-comments-scraper")# 2) or load results as Documents for a RAG indexloader = ApifyWrapper().call_actor(actor_id="murch1k/youtube-comments-scraper",run_input={"startUrls": ["https://www.youtube.com/watch?v=jNQXAC9IVRw", "https://www.youtube.com/shorts/0e3GPea1Tyg", "@mkbhd"], "maxCommentsPerVideo": 100, "sortBy": "top", "includeReplies": True, "maxRepliesPerComment": 20, "maxVideosPerChannel": 10},dataset_mapping_function=lambda item: Document(page_content=item["text"], metadata={"url": item.get("url")}),)docs = loader.load()
REST API — one synchronous call, dataset items in the response:
curl -X POST "https://api.apify.com/v2/acts/murch1k~youtube-comments-scraper/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrls": ["https://www.youtube.com/watch?v=jNQXAC9IVRw", "https://www.youtube.com/shorts/0e3GPea1Tyg", "@mkbhd"], "maxCommentsPerVideo": 100, "sortBy": "top", "includeReplies": true, "maxRepliesPerComment": 20, "maxVideosPerChannel": 10}'
Also works with the Apify Python/JS clients, Make, Zapier, n8n, Google Sheets, webhooks and schedules. Export as JSON, CSV, Excel, XML or RSS.
RAG tip: For sentiment analysis or "what do viewers ask for?" summaries, group rows by videoId and pass text + likes to the model — high-like comments first.
Pricing
- $1.50 per 1,000 comments ($0.0015 per comment).
- The prefilled input returns 40 comments → $0.06.
- Example: 1,000 comments → $1.50; 10,000 → $15.00. Set Max results (cost cap) to limit any run.
Videos with comments turned off cost nothing.
Limitations
- YouTube shows like counts rounded above 1,000 (
219K); thelikesfield carries that value as a number. publishedAtApproxis derived from YouTube's relative time ("3 weeks ago"), so it is approximate by design.- Only public comments are collected. Please respect YouTube's terms and privacy laws when processing personal data such as author names.
FAQ
Do I need a YouTube Data API key? No. The actor reads YouTube's public web API, so there is no API quota and no key.
Are replies included?
Turn on includeReplies. Replies are separate rows linked to the parent with parentCommentId.
Can I get comments from a whole channel?
Yes. Give a channel URL or @handle and set maxVideosPerChannel; the actor takes the latest videos.