YouTube Comments Scraper
Pricing
from $0.80 / 1,000 comments
YouTube Comments Scraper
Scrape YouTube comments without API limits or quotas. Extract comment text, author, likes, replies, publish time & video metadata. Sort by Top or Newest. Pay per result — no charge if no comments found. Export JSON, CSV, Excel.
Pricing
from $0.80 / 1,000 comments
Rating
5.0
(1)
Developer
Mubeen Ali
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
YouTube Comments Scraper — No Quota. Pay Per Result.
Extract YouTube comments without API limits. Scrape comment text, author name, like count, reply count, publish time, replies, and full video metadata from any YouTube video — in seconds. Download as JSON, CSV, or Excel. No YouTube Data API key needed.
Zero charges if no comments are retrieved. You only pay for actual results.
What Is YouTube Comments Scraper?
YouTube Comments Scraper is an unofficial YouTube comments API alternative that bypasses the YouTube Data API v3 quota system entirely. The official YouTube Data API gives you just 10,000 units per day — enough for roughly 100 videos before you hit the wall. This actor has no quotas, no limits, no key required.
Paste in one URL or ten thousand. Sort by top comments or newest first. Include full reply threads or top-level only. Get clean, structured data ready for sentiment analysis, AI training, brand monitoring, or competitive research — all without managing infrastructure, proxies, or API credentials.
Key Features
- No YouTube API key required — uses YouTube's internal InnerTube API, the same endpoint the YouTube app itself uses
- No daily quota limits — scrape as many videos as you need in a single run
- Replies support — optionally fetch every reply thread under every comment
- Sort control — retrieve Top comments (most-liked first) or Newest first
- Flexible URL formats — supports
youtube.com/watch?v=,youtu.be/,youtube.com/shorts/,/embed/, and mobilem.youtube.comURLs - Rich per-comment output — comment ID, text, author username, channel ID, avatar URL, like count, reply count, verified badge, creator heart, publish timestamp, video title, and video channel name
- Pay-per-result pricing — charged per comment retrieved, not per compute minute
- Zero charge on zero results — if a video has no comments or is unavailable, you pay nothing
Pricing
| Plan | Price per 1,000 Comments |
|---|---|
| Free | $2.00 |
| Starter | $1.40 |
| Scale | $1.10 |
| Business | $0.80 |
No comments retrieved = no charge. Unavailable videos, age-restricted videos, and videos with disabled comments are returned as error items at zero cost.
Input
| Field | Type | Default | Description |
|---|---|---|---|
videoUrls | array | — | One or more YouTube video URLs to scrape. Required. |
maxComments | integer | 100 | Max top-level comments per video. Set to 0 for all available comments. |
sortBy | select | top | top = most-liked first. newest = most recent first. |
includeReplies | boolean | false | When enabled, fetches all reply threads under every comment. Increases run time proportionally. |
Supported URL formats:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://youtube.com/shorts/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDhttps://m.youtube.com/watch?v=VIDEO_ID
Input JSON example:
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"maxComments": 500,"sortBy": "top","includeReplies": false}
Output
Each scraped comment is returned as one structured JSON item. Comments and replies share the same schema — differentiated by the type field.
Output fields per item:
| Field | Description |
|---|---|
type | "comment" or "reply" |
commentId | Unique YouTube comment ID (CID) |
text | Full comment text |
authorName | Author's YouTube handle (e.g. @username) |
authorChannelId | Author's YouTube channel ID |
authorAvatarUrl | URL of the author's profile picture |
likeCount | Number of likes on the comment |
replyCount | Number of replies (top-level comments only) |
publishedTime | Relative publish time (e.g. "2 hours ago") |
isVerified | Whether the author has a verified badge |
isCreator | Whether the comment was posted by the video's creator |
isArtist | Whether the author is a verified music artist |
videoId | YouTube video ID |
videoUrl | Full URL of the video |
videoTitle | Title of the video |
videoChannel | Name of the video's channel |
commentsCount | Total comment count on the video |
scrapedAt | ISO 8601 timestamp of when the comment was scraped |
Output JSON sample:
{"type": "comment","commentId": "UgxwmauZ1ebebrAGUMt4AaABAg","text": "This is genuinely one of the best videos on this topic.","authorName": "@username","authorChannelId": "UCAV3YypyX8YNn6ITSMaKBkQ","authorAvatarUrl": "https://yt3.ggpht.com/ytc/...","likeCount": 142,"replyCount": 7,"publishedTime": "3 days ago","isVerified": false,"isCreator": false,"isArtist": false,"videoId": "dQw4w9WgXcQ","videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","videoTitle": "Rick Astley - Never Gonna Give You Up (Official Music Video)","videoChannel": "Rick Astley","commentsCount": 4800000,"scrapedAt": "2026-06-21T11:06:36.550Z"}
How to Use
- Create a free Apify account at apify.com — includes $5 monthly platform credits
- Open YouTube Comments Scraper in the Apify Store
- Paste one or more YouTube video URLs into the
videoUrlsfield - Set your options — max comments, sort order, and whether to include replies
- Click Start and wait for the run to complete
- Download your data from the Storage tab in JSON, CSV, Excel, XML, or HTML
What Can You Do With YouTube Comment Data?
Sentiment analysis & NLP Feed raw comment text into your sentiment pipeline. Classify audience reactions, train text classifiers, or build fine-tuning datasets for LLMs — without touching the YouTube Data API quota.
Brand monitoring Track every mention of your brand, product, or competitor across any set of videos. Sort by newest to catch emerging conversations in real time.
Competitor intelligence Scrape comments on your competitors' most popular videos. Identify recurring complaints, feature requests, and praise patterns — then act on them before they do.
Audience research Understand exactly what your target audience cares about. YouTube comments are unfiltered, high-signal data about user intent, confusion, and enthusiasm.
Content strategy Find the questions people are asking in comments. Answer them in your next video and outrank the competition on search.
AI training data Build labeled datasets for comment toxicity detection, spam classification, intent recognition, or multi-language NLP models.
Academic research Collect large-scale comment corpora for social media studies, misinformation research, or computational linguistics without institutional API access issues.
Error Handling
When a video cannot be scraped, the actor pushes an error item to the dataset instead of failing silently. Normal output items are never affected.
Error item structure:
{"url": "https://www.youtube.com/watch?v=EXAMPLE","error": "VIDEO_UNAVAILABLE","note": "This video is not available"}
Error codes:
| Code | Meaning |
|---|---|
VIDEO_UNAVAILABLE | Video is deleted, region-blocked, or otherwise unavailable |
AGE_RESTRICTED | Video requires login to view |
NO_COMMENTS | Video exists but has comments disabled or zero comments |
NOT_FOUND | URL returned a 404 |
NO_VALID_START_URLS | All provided URLs were invalid or malformed |
INVALID_INPUT | Actor configuration is invalid — run is terminated |
Error items are not charged. You only pay for successfully extracted comment items.
YouTube Comments API vs YouTube Data API v3
| YouTube Comments Scraper | YouTube Data API v3 | |
|---|---|---|
| API key required | ❌ No | ✅ Yes |
| Daily quota limit | ❌ None | ✅ 10,000 units/day |
| Replies support | ✅ Yes | ✅ Yes (costs extra quota) |
| Author avatar URL | ✅ Yes | ❌ Not returned |
| Author channel ID | ✅ Yes | ✅ Yes |
| Creator heart flag | ✅ Yes | ❌ No |
| Verified badge flag | ✅ Yes | ❌ No |
| Artist badge flag | ✅ Yes | ❌ No |
| Pay per result | ✅ Yes | ❌ Flat compute billing |
| Infrastructure needed | ❌ None | ✅ Your own server |
Use via API
Run this actor programmatically using the Apify API. Integrate it into any workflow, data pipeline, or automation stack.
Node.js (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('scraperhive/youtube-comments-scraper').call({videoUrls: ['https://www.youtube.com/watch?v=dQw4w9WgXcQ'],maxComments: 500,sortBy: 'top',includeReplies: false,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python (apify-client):
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("scraperhive/youtube-comments-scraper").call(run_input={"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"maxComments": 500,"sortBy": "top","includeReplies": False,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Integrations
Connect YouTube Comments Scraper to your existing stack via the Apify platform's native integrations:
Workflow automation: Make (Integromat), Zapier, n8n Cloud storage: Google Drive, Dropbox, AWS S3 Databases: Airtable, Google Sheets, MongoDB Messaging: Slack, Discord Developer tools: GitHub Actions, webhooks
Use webhooks to trigger a downstream action the moment a run completes — push results to a Slack channel, write to a database, or kick off a sentiment analysis pipeline automatically.
MCP Server Support
This actor is available via Apify's MCP server, compatible with Claude Desktop, LibreChat, Cursor, and any other MCP client.
To connect:
- Go to the MCP tab on this actor's page
- Start a Server-Sent Events (SSE) session to receive a
sessionId - Send API messages using that
sessionIdto trigger the scraper
FAQ
Is scraping YouTube comments legal? This actor only extracts publicly visible comments — data that any user can read in their browser. It does not extract private data, email addresses, or any information that requires a login. That said, you are responsible for how you use the data. If your use case involves personal data, consult your legal team. See Apify's blog on the legality of web scraping for more context.
Do I need a proxy? Residential proxies are required for reliable YouTube scraping. They are automatically included when you run this actor on the Apify platform — no configuration needed. Proxies are included in Apify's Starter plan and above.
Can I scrape comments from YouTube Shorts?
Yes. The actor supports youtube.com/shorts/VIDEO_ID URLs natively alongside standard video URLs.
Does it scrape replies to comments?
Yes. Enable includeReplies in the input. Each reply is returned as a separate item with type: "reply" and the same field schema as top-level comments.
What happens if a video has no comments or is unavailable? The actor pushes an error item to the dataset with the relevant error code. You are not charged for error items.
How do I get all comments from a video?
Set maxComments to 0. The actor will paginate through all available comments until none remain.
Can I scrape multiple videos in one run?
Yes. Add as many URLs as you need to the videoUrls array. Each video is processed independently.
What export formats are available? JSON, CSV, Excel (XLSX), XML, and HTML table — all available from the Storage tab after a run completes.
Related Actors
- YouTube Transcript Scraper — full subtitles and auto-generated captions
Feedback & Issues
Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. We actively maintain this actor and respond to all reports.