Cheapest YouTube Comment Scraper
Pricing
from $0.40 / 1,000 comments
Cheapest YouTube Comment Scraper
[$0.5/1000] ✨ Cheapest YouTube Comment Scraper API. Get instant results and export to JSON/CSV. Useful for sentiment analysis and research.
Pricing
from $0.40 / 1,000 comments
Rating
5.0
(1)
Developer
Epic Scrapers
Maintained by CommunityActor stats
2
Bookmarked
12
Total users
3
Monthly active users
4 days ago
Last modified
Categories
Share
YouTube Comments Scraper: export video comments and replies to CSV, JSON or Excel
YouTube Comments Scraper turns YouTube video URLs into a spreadsheet of comments. Each row is one comment or reply with its text, like count, author name and channel link, post time and the video it came from. It is built for creators, brand and community managers, researchers and ML teams who need comment data without the YouTube Data API quota.
- Replies included. Top-level comments and replies come in one dataset.
parentisrootfor a top-level comment, otherwise the ID of the comment it answers. - Top or newest. Set
sortCommentsBytotopfor the most engaged comments ornewfor the latest discussion. - You set the volume.
maxCommentsPerUrllimits comments per video. Use0to collect all of them. - Many videos per run. Add as many video URLs as you like. Every row carries
video_id,video_urlandvideo_title. - Pay per comment, no login. No API key or YouTube account. Prices drop with higher Apify plans. Export to JSON, CSV, Excel or Google Sheets.
Scope: This Actor collects comments from videos you name. For transcripts use YouTube Transcript Scraper. For thumbnails use YouTube Thumbnail Downloader or YouTube Thumbnail Search Scraper.
What can you do with YouTube Comments Scraper?
| Goal | How |
|---|---|
| Sentiment analysis | Run text through a classifier and weight by like_count. |
| Find the best comments | Sort by like_count, or collect with sortCommentsBy: "top". |
| Monitor new feedback | Schedule runs with sortCommentsBy: "new" and sort on timestamp. |
| Rebuild conversations | Group rows by parent to reconstruct reply threads. |
| Spot creator replies | Filter author_is_uploader and author_is_verified. |
| Find engaged commenters | Count comments per author_id and open author_url. |
| Build text datasets for LLMs | Export text with video_title as context. Combine with video transcripts from YouTube Transcript Scraper or pages from Webpage to Markdown. |
How it compares
| What you need | YouTube Comments Scraper | YouTube Data API | Manual copy-paste |
|---|---|---|---|
| Setup | Paste URLs | Google project, API key | None |
| Daily limits | None set by the Actor | Daily quota units | Your time |
| Replies | Included, linked by parent | Extra calls | Click each thread |
| Export | JSON, CSV, Excel, API | Build it yourself | Manual |
| Cost | Pay per comment | Free within quota | Free |
Quick start
- Click Try for free and sign in to Apify.
- Add video URLs to Start URLs.
- For a first run, set Max Comments to
20. - Click Start, then export from the Output tab.
Input
{"startUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"sortCommentsBy": "top","maxCommentsPerUrl": 100,"maxRepliesPerComment": 5}
| Field | Type | Default | Effect |
|---|---|---|---|
startUrls | Array of strings | Required | YouTube video URLs (watch, youtu.be, Shorts, live) or IDs. |
sortCommentsBy | String | "top" | "top" or "new". |
maxCommentsPerUrl | Integer | 100 | Maximum comments per video, replies included. 0 means all. |
maxRepliesPerComment | Integer | 5 | Maximum replies under each comment. 0 skips replies. |
Output
{"id": "Ugzge340dBgB75hWBm54AaABAg","parent": "root","text": "can confirm: he never gave us up","like_count": 238000,"author_id": "UCBR8-60-B28hp2BmDPdntcQ","author": "@YouTube","author_thumbnail": "https://yt3.ggpht.com/...","author_is_uploader": false,"author_is_verified": true,"author_url": "https://www.youtube.com/@YouTube","is_favorited": true,"_time_text": "1 year ago","timestamp": 1747180800,"video_id": "dQw4w9WgXcQ","video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","video_title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)"}
Notes: timestamp is a Unix time in seconds and can be null. _time_text is a relative label for display, so sort on timestamp. video_url is the URL you supplied. is_favorited means the video owner hearted or favorited the comment. Missing values are null.
Monitor YouTube comments over time with scheduled runs
Apify can run the Actor for you on a schedule and send the results wherever you need them.
1. Save your input as a task
Open the Actor, set your video URLs and options, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.
2. Schedule the task
In Apify Console, go to Schedules, click Create new, choose how often to run (for example daily at 06:00 in your time zone), and add your task. See Schedules and How to create a schedule.
Watch how to schedule an Actor:
Or schedule a saved task:
Common schedules:
| Use case | Frequency | Cron expression |
|---|---|---|
Moderation and brand monitoring (new sort) | Daily | 0 6 * * * |
| Launch week feedback | Every 6 hours | 0 */6 * * * |
| Weekly sentiment report | Weekly (Monday) | 0 6 * * 1 |
3. Send the results to a spreadsheet
Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:
4. Compare runs
Every row has id, video_id and timestamp, so runs are easy to join:
- New comments: keep
ids you have not seen before, or filtertimestampafter your last run. - Engagement growth:
like_countperidover time. - Sentiment trend: average sentiment of
textpervideo_idand week. - Creator activity: new rows with
author_is_uploaderset totrue.
FAQ
How many comments can I get?
Set maxCommentsPerUrl to 0 for all comments. Very large videos take longer and cost more, so start with a limit or set a maximum cost per run.
Does it include replies?
Yes. Replies are rows whose parent is another comment's id. They count toward maxCommentsPerUrl. maxRepliesPerComment (default 5) caps replies under each comment so one long thread doesn't use up the limit; set it to 0 for top-level comments only, or raise it for full threads.
Why are there no results for a video?
Comments may be disabled, or the video may be private or unavailable. The Actor logs the reason, moves to the next URL and lists failed videos in the run's status message. Channel, playlist and search URLs are skipped; add the video URLs instead.
Do I need an API key or login?
No. The Actor uses Apify's residential proxies for you.
Can I scrape a whole channel?
No, it takes video URLs. Collect the URLs you want and paste them in.
Is it legal?
It reads publicly visible comments. You are responsible for complying with YouTube's terms and privacy laws such as GDPR when you store or analyze personal data.
Cost
Pay per event: one comment is one event, plus Apify's start event. Comment prices by plan are $0.001 (Free), $0.0005 (Bronze) and $0.0004 (Silver and above), so $1, $0.50 and $0.40 per 1,000 comments. The start event is $0.01 per GB of memory, at least one. Check the Pricing tab for the current prices.
| Comments | Free plan | Bronze plan |
|---|---|---|
| 1,000 | $1.01 | $0.51 |
| 10,000 | $10.01 | $5.01 |
Related Actors
- YouTube Transcript Scraper: captions and AI transcripts.
- YouTube Thumbnail Downloader: download video thumbnails.
- YouTube Thumbnail Search Scraper: thumbnails from YouTube searches.
- Webpage to Markdown: web pages as clean Markdown for LLM pipelines.
Support
Found a problem? Open an issue in the Issues tab and include the run ID and your input.
This Actor is not affiliated with, endorsed by or sponsored by YouTube or Google. YouTube is a trademark of Google LLC.