YouTube Comment Scraper — Comments, Replies, Likes
Pricing
from $0.25 / 1,000 comments
YouTube Comment Scraper — Comments, Replies, Likes
Scrape YouTube comments and their reply threads from any video, channel, or search query. Each comment carries author identity and badges, like and reply counts, and timestamps as structured JSON built for sentiment work. Sort by top or newest and re-run for only what is new.
Pricing
from $0.25 / 1,000 comments
Rating
0.0
(0)
Developer
Black Falcon Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
What does YouTube Comment Scraper do?
YouTube Comment Scraper pulls comments and their reply threads from youtube.com as structured JSON. Paste video URLs (watch links, Shorts, youtu.be, embeds, or bare video IDs), point it at a channel, or give it a search query — every matching video's comments come back with text, author, like and reply counts, verified/creator/pinned/hearted flags, YouTube's relative timestamp and an ISO date, plus a permalink to each comment. Sort by top or newest, attach reply threads to their parent comment, and re-run in incremental mode to receive only the comments posted since last time.
New to Apify? Sign up free and use the included $5 monthly platform credit to test this actor.
Key features
- 💬 Comments and their reply threads: every comment comes back with its text, author, like and reply counts, and both YouTube's relative timestamp and an ISO date. Turn on
includeRepliesand each thread's replies are attached to their parent comment underreplies— replies are part of that comment's charge, not billed as extra results. - 🎯 By video, by channel, or by search: paste video URLs (watch, Shorts, youtu.be, embed, or bare video IDs), or point it at a channel and get comments across its latest videos, or give it a search query and get comments from the top matching videos. Mix all three in one run;
maxVideosbounds what channels and searches contribute, and pasted video URLs are always processed in full. - 🏷️ Author and engagement signals: each comment carries the author's channel URL, avatar, and badges, plus
authorIsVerified,authorIsChannelOwner,isPinnedandisHearted— so you can tell a creator reply, a pinned announcement, and a hearted fan comment apart without a second pass.commentUrllinks straight back to the comment on YouTube. - 🔀 Top or newest, with a cost ceiling: ask YouTube for
top(its own ranking) ornewest(chronological). Volume is bounded twice:maxCommentsper video, andmaxItemsas the total the run may deliver — so a channel-wide job cannot surprise you. - ♻️ Incremental mode: re-run the same configuration and receive only the comments that appeared since last time. Each record carries
changeType,firstSeenAt, andlastSeenAt. Pair it withsortBy: newestand a schedule to turn the actor into a new-comment monitor for a video or a channel. - 🔌 MCP connectors: export your results into Notion via Apify's MCP connectors — a clean run-summary page, no glue code. Opt-in via the App connector field; deterministic field-mapping, no AI. Built on Apify's connector framework, so more destinations open up as their catalog grows.
What data can you extract from youtube.com?
Each result includes Core video fields (datasetType, commentId, videoId, author, authorChannelId, authorChannelUrl, authorAvatarUrl, and authorIsVerified, and more). All fields are always present — unavailable data points are returned as null, never omitted.
Input
Configure the actor through the input schema in Apify Console.
Key parameters:
videoUrls— YouTube video URLs to scrape comments from (one per line). Accepts watch links, Shorts, youtu.be short links, embed links, and bare 11-character video IDs. Every URL you paste here is processed — Max Videos only limits videos discovered from channels and search queries. Also accepts the aliasesvideoUrl,url,urls, andstartUrls. (default:[])channelUrls— Channel URLs or bare @handles (one per line), e.g. "https://www.youtube.com/@MrBeast" or "@veritasium". The channel's latest videos are collected (up to Max Videos) and their comments are scraped. Default: empty. Also accepts the aliaschannelUrl. (default:[])searchQueries— Keywords to search on YouTube (one per line). The top matching videos (up to Max Videos) are used as comment sources. Default: empty. Also accepts the aliasesquery,q,keyword,keywords,search. (default:[])maxComments— Maximum number of top-level comments to scrape per video. YouTube returns comments in pages of roughly 20, so higher values follow more continuation pages and take longer. 0 = no limit of our own, though the walk still stops after 200 pages (roughly 4,000 comments) for one video, and the total cap below always applies. Default: 100. Also accepts the aliasescommentsPerVideo,maxCommentsPerVideo,commentsCount,count. (default:100)maxItems— Hard ceiling on how many comments the whole run delivers (and therefore on what the run costs), across every video. Reached mid-run, the run stops and pushes what it has. 0 = unlimited. Default: 1000. Also accepts the aliasmaxTotalComments. (default:1000)sortBy— Comment order requested from YouTube. "Top comments" is YouTube's own ranking (most engagement first); "Newest first" is chronological — use it together with Incremental Mode to monitor fresh comments. Default: top. Also accepts the aliasescommentsSort,orderBy,sort,order. (default:"top")includeReplies— Fetch each comment's reply thread and attach it to the parent comment underreplies. Replies are part of the parent comment's record — they are not billed as extra results. Replies are fetched for up to 200 comments per video, and up to the first 20 replies on each of those. Adds one extra request per comment thread, so runs take longer. Default: false. (default:false)- ...and 9 more parameters
Input examples
Comments from one video — undefined
→ undefined
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"maxComments": 100,"sortBy": "top"}
Comments with reply threads — undefined
→ undefined
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"maxComments": 100,"includeReplies": true}
Comments across a channel's latest videos — undefined
→ undefined
{"channelUrls": ["https://www.youtube.com/@MrBeast"],"maxVideos": 5,"maxComments": 100,"maxItems": 500}
New comments only, on a schedule — undefined
→ undefined
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"sortBy": "newest","maxComments": 200,"incrementalMode": true}
Comments from the top videos for a keyword — undefined
→ undefined
{"searchQueries": ["iphone 17 review"],"maxVideos": 5,"maxComments": 50}
Output
Each run produces a dataset of structured video records. Results can be downloaded as JSON, CSV, or Excel from the Dataset tab in Apify Console.
Example video record
{"datasetType": "comment","commentId": "Ugzge340dBgB75hWBm54AaABAg","videoId": "dQw4w9WgXcQ","author": "@YouTube","authorChannelId": "UCBR8-60-B28hp2BmDPdntcQ","authorChannelUrl": "https://www.youtube.com/channel/UCBR8-60-B28hp2BmDPdntcQ","authorAvatarUrl": "https://yt3.ggpht.com/3s6evpqAiDU9tQR4sC2siJippbH2RWVPnwHgyl4V0th2iuQz0VDQZbUhQBGmsxLYo-mjG6TqZQ=s88-c-k-c0x00ffffff-no-rj","authorIsVerified": true,"authorIsChannelOwner": false,"authorBadges": ["verified"],"text": "can confirm: he never gave us up","likeCount": 309000,"likeCountText": "309K","publishedTimeText": "1 year ago","publishedAt": "2025-09-01T13:06:30.869Z","replyCount": 963,"isPinned": true,"isHearted": true,"isReply": false,"isEdited": false,"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","commentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=Ugzge340dBgB75hWBm54AaABAg","replies": [{"datasetType": "comment","commentId": "Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHE9eIiztxR","videoId": "dQw4w9WgXcQ","author": "@linganguliguliwatcha","authorChannelId": "UCjFRISlX-LPxiqViJAE3h6Q","authorChannelUrl": "https://www.youtube.com/channel/UCjFRISlX-LPxiqViJAE3h6Q","authorAvatarUrl": "https://yt3.ggpht.com/AbGqKNjK9k5tyOqdV7cdXx-GgnGuuGQ5wj8RN42U5YCDvYHT0vaOKXGFahR36iaDPseGN08DjQ=s88-c-k-c0x00ffffff-no-rj","authorIsVerified": false,"authorIsChannelOwner": false,"text": "YOUTUBE AND ONE LIKE WOOHAAAAH","likeCount": 7400,"likeCountText": "7.4K","publishedTimeText": "1 year ago","publishedAt": "2025-09-01T13:06:30.869Z","isPinned": false,"isHearted": true,"parentCommentId": "Ugzge340dBgB75hWBm54AaABAg","isReply": true,"isEdited": false,"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","commentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHE9eIiztxR","scrapedAt": "2026-09-01T19:06:30.869Z"},{"datasetType": "comment","commentId": "Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHEAB_-JmDA","videoId": "dQw4w9WgXcQ","author": "@_bugrabilgin","authorChannelId": "UCg9tPtxMOieUEyhSv63uJ4g","authorChannelUrl": "https://www.youtube.com/channel/UCg9tPtxMOieUEyhSv63uJ4g","authorAvatarUrl": "https://yt3.ggpht.com/LvMpN24GYYr8w43sGoMeYZYejDPJz_skehI6jm_XGGhfM5YeRa9OOsaplj60LnFNehE79ZxImg=s88-c-k-c0x00ffffff-no-rj","authorIsVerified": false,"authorIsChannelOwner": false,"text": "HEY YOUTUBE","likeCount": 3100,"likeCountText": "3.1K","publishedTimeText": "1 year ago","publishedAt": "2025-09-01T13:06:30.869Z","isPinned": false,"isHearted": true,"parentCommentId": "Ugzge340dBgB75hWBm54AaABAg","isReply": true,"isEdited": false,"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","commentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHEAB_-JmDA","scrapedAt": "2026-09-01T19:06:30.869Z"},{"datasetType": "comment","commentId": "Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHEAOCSlaNN","videoId": "dQw4w9WgXcQ","author": "@NashiraArif","authorChannelId": "UCWrbmlBO2iW7jwhSuvLsgXQ","authorChannelUrl": "https://www.youtube.com/channel/UCWrbmlBO2iW7jwhSuvLsgXQ","authorAvatarUrl": "https://yt3.ggpht.com/ytc/AIdro_n1guDiz8iQIUgFGnmh5VA5PJlNSiWQwX3Ik0ywlPv8JUDRXZiF6wxDvbC7F3YSi1BdlA=s88-c-k-c0x00ffffff-no-rj","authorIsVerified": false,"authorIsChannelOwner": false,"text": "new comment alert","likeCount": 2100,"likeCountText": "2.1K","publishedTimeText": "1 year ago","publishedAt": "2025-09-01T13:06:30.869Z","isPinned": false,"isHearted": true,"parentCommentId": "Ugzge340dBgB75hWBm54AaABAg","isReply": true,"isEdited": false,"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","commentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHEAOCSlaNN","scrapedAt": "2026-09-01T19:06:30.869Z"},{"datasetType": "comment","commentId": "Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHEAQwtwdoZ","videoId": "dQw4w9WgXcQ","author": "@jennaortega-m4m","authorChannelId": "UCbHhpa0tTOY_LO-uMH5ZKig","authorChannelUrl": "https://www.youtube.com/channel/UCbHhpa0tTOY_LO-uMH5ZKig","authorAvatarUrl": "https://yt3.ggpht.com/ytc/AIdro_lVdgv6VK0IOScTdHt1R4NdIFdRkvG2Y1jsrCR_otHBLogTg1YjnUt3k9YQBrmAT3VFLg=s88-c-k-c0x00ffffff-no-rj","authorIsVerified": false,"authorIsChannelOwner": false,"text": "oop 3rd didnt realise youtube was here😄","likeCount": 944,"likeCountText": "944","publishedTimeText": "1 year ago","publishedAt": "2025-09-01T13:06:30.869Z","isPinned": false,"isHearted": true,"parentCommentId": "Ugzge340dBgB75hWBm54AaABAg","isReply": true,"isEdited": false,"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","commentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHEAQwtwdoZ","scrapedAt": "2026-09-01T19:06:30.869Z"},{"datasetType": "comment","commentId": "Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHEB5iPJLDp","videoId": "dQw4w9WgXcQ","author": "@TheAngelofBattle99","authorChannelId": "UCCejpvuOWrro8w-YM4SecQQ","authorChannelUrl": "https://www.youtube.com/channel/UCCejpvuOWrro8w-YM4SecQQ","authorAvatarUrl": "https://yt3.ggpht.com/92UP2htp8mRB1oRt7tZ1bmid5hSmtrt-fNUlOH0sgx0zBFEwLSQ7OT0Vo8nuyWC3XSyUxNl3oMQ=s88-c-k-c0x00ffffff-no-rj","authorIsVerified": false,"authorIsChannelOwner": false,"text": "He's ingrained in our brains at this point. Such a devoted man.","likeCount": 732,"likeCountText": "732","publishedTimeText": "1 year ago","publishedAt": "2025-09-01T13:06:30.869Z","isPinned": false,"isHearted": true,"parentCommentId": "Ugzge340dBgB75hWBm54AaABAg","isReply": true,"isEdited": false,"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","commentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHEB5iPJLDp","scrapedAt": "2026-09-01T19:06:30.869Z"},"... 5 more items"],"scrapedAt": "2026-09-01T19:06:30.869Z","position": 0}
Incremental fields
When incremental mode is on, each record also carries:
changeType— one ofNEW,UPDATED,UNCHANGED,REAPPEARED,EXPIRED.
How to scrape youtube.com
- Go to YouTube Comment Scraper in Apify Console.
- Configure the input.
- Set
maxItemsto control how many results you need. - Click Start and wait for the run to finish.
- Export the dataset as JSON, CSV, or Excel.
Use cases
- Extract video data from youtube.com for market research and competitive analysis.
- Monitor new and changed videos on scheduled runs without processing the full dataset every time.
- Export clean, structured data to dashboards, spreadsheets, or data warehouses.
How much does it cost to scrape youtube.com?
YouTube Comment Scraper uses pay-per-event pricing. You pay a small fee when the run starts and then for each result that is actually produced.
- Run start: $0.001 per run
- Per result: $0.00025 per video record
Example costs:
- 10 results: $0.0035
- 25 results: $0.00725
- 100 results: $0.026
- 200 results: $0.051
- 500 results: $0.13
Example: recurring monitoring savings
These examples compare full re-scrapes with incremental runs at different churn rates. Churn is the share of videos that are new or whose tracked content changed since the previous run. Actual churn depends on your query breadth, source activity, and polling frequency — the scenarios below are examples, not predictions.
Example setup: 250 videos per run, daily polling (30 runs/month). Costs scale linearly with the number of videos.
| Churn rate | Full re-scrape run cost | Incremental run cost | Savings vs full re-scrape | Monthly cost after baseline |
|---|---|---|---|---|
| 5% — stable niche query | $0.06 | $0.00413 | $0.06 (94%) | $0.12 |
| 15% — moderate broad query | $0.06 | $0.01 | $0.05 (84%) | $0.31 |
| 30% — high-volume aggregator | $0.06 | $0.02 | $0.04 (69%) | $0.59 |
Full re-scrape monthly cost at the same cadence: $1.91. First month with incremental costs $0.18 / $0.36 / $0.64 for the 5% / 15% / 30% scenarios because the first run builds baseline state at full cost before incremental savings apply.
Platform usage is included in the per-result fee shown above.
FAQ
How many results can I get from youtube.com?
The number of results depends on the search query and available videos on youtube.com. Use the maxItems parameter to control how many results are returned per run.
Does YouTube Comment Scraper support recurring monitoring?
Yes. Enable incremental mode to only receive new or changed videos on subsequent runs. This is ideal for scheduled monitoring where you want to track changes over time without re-processing the full dataset.
Can I integrate YouTube Comment Scraper with other apps?
Yes. YouTube Comment Scraper works with Apify's integrations to connect with tools like Zapier, Make, Google Sheets, Slack, and more. You can also use webhooks to trigger actions when a run completes.
Can I use YouTube Comment Scraper with the Apify API?
Yes. You can start runs, manage inputs, and retrieve results programmatically through the Apify API. Client libraries are available for JavaScript, Python, and other languages.
Can I use YouTube Comment Scraper through an MCP Server?
Yes. Apify provides an MCP Server that lets AI assistants and agents call this actor directly. Use excludeEmptyFields to keep payloads manageable for LLM context windows.
Is it legal to scrape youtube.com?
This actor extracts publicly available data from youtube.com. Web scraping of public information is generally considered legal, but you should always review the target site's terms of service and ensure your use case complies with applicable laws and regulations, including GDPR where relevant.
What counts as a billable result?
A "result" is one comment written to the dataset, billed at the per-comment price.
- Top-level comments — 1 result each.
- Replies — when
includeRepliesis on, replies are nested under their parent comment'srepliesfield and are not billed separately. A comment with 40 replies is still 1 result. - Videos — scanning a video to reach its comments is never billed as a result, whether you pasted its URL or it came from a channel or a search.
Two inputs bound what a run can cost: maxComments caps comments per video, and maxItems caps the total for the whole run. A run that hits the total cap stops and delivers what it collected.
Do I need a proxy, and what does it cost?
No. The default proxy setting is what this actor is tuned for, and platform usage (compute and network) is paid by us — the per-event price is the whole price. You can point the Proxy input at your own provider if your setup requires it, but nothing here needs it.
What should I know about coverage and limits?
- Comments can be turned off. A creator can disable comments on a video; that video contributes no records. This is normal, not an error, and the run reports how many videos came back empty.
- YouTube pages comments in blocks of roughly 20. A high
maxCommentsfollows more continuation pages, so large jobs take proportionally longer. - Sort order changes what you get first.
topis YouTube's own ranking, so a capped run returns the most-engaged comments.newestis chronological — the right choice for monitoring, and the one to pair with incremental mode. - Reply threads are capped: up to 20 replies per comment, and up to 200 threads per video, so one enormous thread cannot consume the whole job. The parent comment always carries YouTube's true
replyCount, even when fewer replies are attached. publishedAtis derived. YouTube exposes a relative timestamp ("2 months ago"), so the ISO date is an approximation of it, computed against the scrape instant.publishedTimeTextcarries YouTube's original label.maxVideosapplies to discovery only. A channel or a search contributes at most that many videos; video URLs you paste are always all processed.
Your feedback
If you have questions, need a feature, or found a bug, please open an issue on the actor's page in Apify Console. Your feedback helps us improve.
You might also like
- Douyin Hot Search Scraper — Scrape douyin.com real-time trending boards — hot search, seeding, entertainment, social.
- Facebook Ads Library Scraper [💰$0.05/1k] — Scrape facebook.com/ads/library by keyword or advertiser: ad copy, image and video URLs, landing.
- Meta Ads Library Scraper [💰$0.05/1k] — Scrape Meta's Ad Library across Facebook, Instagram, WhatsApp, Threads, Messenger and Audience.
- Pexels Scraper — Photos, Videos & Engagement Data — This Pexels scraper extracts photos and videos by search, curated feed, photo ID, user, collection,.
- Pinterest Scraper — Pins, Boards, Profiles & Engagement — Scrape Pinterest pins, boards and profiles by keyword or start URL — images, videos, engagement.
- Reddit Scraper — Posts & Full Comment Threads — Scrape Reddit posts with full nested comment threads, or search any subreddit or keyword across.
- Video & Audio Transcriber — Transcribe any video, audio or podcast URL to text: full transcript with timestamped segments plus.
- YouTube Scraper $2/1K — Videos, Channels, Comments, Transcripts — Scrape YouTube videos, channels, comments, and transcripts in one tool — by keyword or by video,.
Getting started with Apify
New to Apify? Create a free account with $5 credit — no credit card required.
- Sign up — $5 platform credit included
- Open this actor and configure your input
- Click Start — export results as JSON, CSV, or Excel
Need more later? See Apify pricing.
Disclaimer
This actor accesses only publicly available data on youtube.com. You are responsible for how you use the extracted data — in particular any personal information such as names, phone numbers, or email addresses — and for complying with YouTube Comment's terms of use, applicable data-protection law (including the GDPR where it applies), and the anti-spam rules of your jurisdiction.
This actor is not affiliated with, endorsed by, or connected to YouTube Comment.
Search keywords
youtube scraper, youtube api, apify youtube, youtube data extraction, youtube comment scraper, youtube comment api, apify youtube comment, youtube comment data extraction, youtube.com scraper, youtube.com data, youtube.com api, social media scraper, video data, creator data.