YouTube Video Comments Scraper avatar

YouTube Video Comments Scraper

Pricing

from $0.80 / 1,000 comments

Go to Apify Store
YouTube Video Comments Scraper

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

electra bot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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

FieldRequiredDescription
Video URLsOne or more videos: watch URLs, youtu.be links, /shorts/, or bare 11-character IDs. Each comment is one result.
Sort comments bytop (most-engaged first — best for analysis) or new (most recent).
Max comments per video1–5,000 (default 100). The run reports how many the video actually has.
Max replies per threadHow many replies to load under each top-level comment (0 = top-level only; default 10).
Proxy configurationAutomatic 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
}
FieldDescription
sentiment / sentimentScoreVADER sentiment (tuned for social text): label + compound score (−1…+1)
isReply / parentIdRebuild the thread tree, or analyze flat
isPinned / isHeartedWhat the creator promoted or endorsed
authorIsVerified / authorIsUploaderVerified accounts and the creator's own replies
likeCountEngagement 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 commentsScraped vs commentsAvailable per video in the SUMMARY, 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 — top sort 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 ApifyClient
client = 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.