YouTube Video Comments Scraper
Pricing
from $0.80 / 1,000 comments
YouTube Video Comments Scraper
Scrapes comments (text, author, likes, replies, timestamps) from YouTube videos. Supports top/newest sort and up to 1000 comments per video.
Pricing
from $0.80 / 1,000 comments
Rating
0.0
(0)
Developer
electra bot
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
YouTube Comments Scraper
Extract YouTube video comments — with replies, likes, verified and creator badges, pinned/hearted flags, timestamps, and built-in sentiment analysis — as JSON, CSV, or Excel.
Paste one video or a whole list. No browser under the hood.
Pay per result — you're charged per comment delivered. Videos with comments disabled or unavailable cost nothing.
What can I use it for?
- Audience & sentiment research — every comment ships with a positive/negative/neutral label and score. Measure how a video, product launch, or campaign actually landed.
- Creator analytics — which comments the creator pinned or hearted, who's verified, what drives engagement.
- Competitor & market intel — mine the comment sections of competitors' videos for complaints, requests, and objections.
- AI & LLM datasets — clean, structured comment text with reply threading intact.
- Community moderation — surface the most-liked and most-negative comments at a glance.
Input
| Field | Required | Description |
|---|---|---|
| Video URLs | ✅ | One or more videos: watch URLs, youtu.be links, /shorts/, or bare 11-character IDs. Each comment is one result. |
| Sort comments by | – | top (most-engaged first — best for analysis) or new (most recent). |
| Max comments per video | – | 1–5,000 (default 100). The run reports how many the video actually has. |
| Max replies per thread | – | How many replies to load under each top-level comment (0 = top-level only; default 10). |
| Proxy configuration | – | Automatic by default: datacenter proxy first, escalating to RESIDENTIAL only if YouTube blocks it. |
Output
One record per comment:
{"videoId": "dQw4w9WgXcQ","videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","videoTitle": "Rick Astley - Never Gonna Give You Up","channel": "Rick Astley","commentId": "UgxKREWxIgDrw71paZx4AaABAg","parentId": null,"isReply": false,"author": "@SomeUser","authorUrl": "https://www.youtube.com/@SomeUser","authorIsVerified": false,"authorIsUploader": false,"text": "This song is a timeless classic!","likeCount": 4200,"isPinned": false,"isHearted": true,"publishedTimeText": "2 years ago","timestamp": 1700000000,"sentiment": "positive","sentimentScore": 0.6597}
| Field | Description |
|---|---|
sentiment / sentimentScore | VADER sentiment (tuned for social text): label + compound score (−1…+1) |
isReply / parentId | Rebuild the thread tree, or analyze flat |
isPinned / isHearted | What the creator promoted or endorsed |
authorIsVerified / authorIsUploader | Verified accounts and the creator's own replies |
likeCount | Engagement per comment |
Why this scraper is reliable
- No browser — pure HTTP built on a battle-tested extraction engine whose maintainers track YouTube's changes daily. Fast cold starts, low cost.
- Sentiment included — no separate NLP step; every comment ships labeled and scored.
- Block-aware with automatic escalation — if YouTube blocks the cheap proxy tier, the scraper retries through a residential proxy, then a fresh IP, before giving up.
- No silent truncation — popular videos have far more comments than any run fetches. The run tells you
commentsScrapedvscommentsAvailableper video in theSUMMARY, so you always know whether you got everything. - Honest run statuses — videos with comments disabled are reported per video and never charged; a run with zero comments is Failed, never a silent empty dataset.
- Batch-safe — comments are saved incrementally and runs are checkpointed: an interruption never loses finished work or double-charges you.
Tips & limits
- Big videos: a viral video may have hundreds of thousands of comments. Set Max comments per video to what you actually need —
topsort gives you the most-engaged ones first, which is usually what matters. - Replies are loaded per thread; set Max replies per thread to 0 if you only want top-level opinions (cheaper and faster).
- Videos with comments disabled, private, or removed are reported in the
SUMMARY— never charged.
Use it from code
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("electrabot.info/youtube-video-comments").call(run_input={"videoUrls": ["dQw4w9WgXcQ"], "sort": "top", "maxComments": 200})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["sentiment"], item["likeCount"], item["text"][:60])
FAQ
Does it get all comments from a video?
It gets as many as you ask for (up to 5,000/video), sorted by top or newest. The SUMMARY always reports how many the video has in total, so you know exactly what you received.
What sentiment engine is used?
VADER — a lexicon tuned for social-media text (handles emphasis, negation, emoji, slang). sentimentScore runs from −1 (most negative) to +1 (most positive).
Can I get transcripts too? Yes — see our YouTube Transcript Scraper for single videos and YouTube Channel Transcript Scraper for whole channels.
Is scraping comments legal? This actor accesses only publicly visible comments. You are responsible for complying with applicable laws and YouTube's Terms of Service. Comments contain personal data — handle them accordingly (GDPR/CCPA).
Disclaimer
This is an unofficial tool. It is not affiliated with, endorsed by, sponsored by, or in any way officially connected to YouTube or Google LLC. "YouTube" and all related names, marks, and logos are trademarks of their respective owners and are used here for descriptive purposes only.
This actor only accesses publicly available information. You are responsible for ensuring your use complies with applicable laws, YouTube's Terms of Service, and any applicable rate-limiting rules. Use it ethically and at your own risk.