YouTube Comments Scraper - Likes, Replies, Date, $0.40/1K
Pricing
from $0.22 / 1,000 comments
YouTube Comments Scraper - Likes, Replies, Date, $0.40/1K
YouTube comments scraper: up to 50,000 comments per video with replies, newest or top first, date limit, exact likes, reply count, author channel, pinned and creator-heart flags. $0.40 per 1,000, first 10 per run free. No API key, no login. JSON, CSV, API, MCP. $0.40 per 1,000 comments.
Pricing
from $0.22 / 1,000 comments
Rating
0.0
(0)
Developer
Khandji Omar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
YouTube Comments Scraper — Newest Comments, Likes, Replies, $0.40/1K
Export the comments of any YouTube video, with their replies: text, author, likes, reply count, date and a direct link to each comment. Up to 50,000 per video, newest or top first, with a date limit. Read straight from YouTube, no API key, no login.
Price: $0.40 per 1,000 comments ($0.0004 per comment). The first 10 results of every run are free.
Free tier — 10 results free on every run
The first 10 results of every run are free, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.
What you get
Each comment contains: text, author, authorHandle, authorChannelId, authorUrl, authorThumbnail, authorIsChannelOwner, authorIsVerified, likeCount, replyCount, type (comment or reply), replyToCid (the parent comment of a reply), isPinned, isHearted, isEdited, commentsCount (total comments of the video), published_at (ISO date) and publishedTimeText, url (direct link to the comment), commentId, videoId and videoTitle.
How much does it cost?
$0.0004 per comment — $0.40 per 1,000. You pay only for results actually delivered.
| Comments | Cost |
|---|---|
| 1,000 | $0.40 |
| 10,000 | $4.00 |
| 100,000 | $40.00 |
- No per-run fee and no check fee.
- Failed inputs are never charged, and
maxTotalChargeUsdcan cap any run. - Comments YouTube serves with no text (about 15% of the newest ones) are skipped: never delivered, never charged.
- The first 10 results of every run are free (never more than half of a run).
- Larger Apify plans pay less per result automatically.
Input
| Field | What it does |
|---|---|
videoUrls | YouTube video URLs, Shorts URLs or 11-character video IDs. |
maxComments | Comments per video, 1 to 50,000. Replies count inside this number. Default 100. |
sortBy | newest (default) or top (YouTube's Top comments order). |
includeReplies | Open every thread and return the replies as rows too, each linked to its parent with replyToCid. Default off. |
maxRepliesPerComment | Replies read under each comment, 1 to 1,000. Default 100. |
oldestCommentDate | YYYY-MM-DD. Keep only comments from this day on. With newest the read stops there. |
maxTotalChargeUsd | Optional hard cost cap for the run. |
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"maxComments": 500,"sortBy": "top","includeReplies": true,"maxRepliesPerComment": 20}
Output
One row per comment, and one per reply when includeReplies is on. Real example:
{"commentId": "Ugzge340dBgB75hWBm54AaABAg","type": "comment","replyToCid": null,"text": "can confirm: he never gave us up","author": "@YouTube","authorChannelId": "UCBR8-60-B28hp2BmDPdntcQ","authorIsVerified": true,"authorIsChannelOwner": false,"likeCount": 321000,"replyCount": 1000,"isHearted": true,"isPinned": true,"commentsCount": 2458371,"isEdited": false,"published_at": "2025-09-29T17:38:46+00:00","publishedTimeText": "1 year ago","videoId": "dQw4w9WgXcQ","videoTitle": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=Ugzge340dBgB75hWBm54AaABAg"}
Compared with other YouTube comment scrapers
| This Actor | Most-used alternative | |
|---|---|---|
| Price per 1,000 comments | $0.40 | $2.00 |
| Exact like count, reply count, creator heart | Yes | Varies |
| Newest or Top order | Yes | Varies |
| Replies as rows, linked to their parent | Yes | Yes |
| Date limit (stop at a given day) | Yes | Yes |
| Pinned flag, author avatar and channel link | Yes | Varies |
| First 10 comments of every run free | Yes | No |
Prices checked on the Apify Store on 29 September 2026.
Tips and limits
- Comments turned off on a video returns zero rows for that video — not an error, and nothing is billed.
- For sentiment analysis or LLM summaries, use
sortBy: "top"to get the comments viewers engaged with most. - Very large pulls (thousands of comments) take a few minutes per video; split long lists of videos across runs if you need results faster.
- Replies are returned as their own rows when
includeRepliesis on; without it you still get each comment'sreplyCount. - YouTube shows relative dates ("3 weeks ago"), so
published_atandoldestCommentDateare exact to the hour for fresh comments and approximate for old ones. - The pinned comment is always first, even with
newest.
Use cases
- Audience research — what viewers actually say about a product, a creator or a competitor.
- Sentiment analysis — feed comments to an LLM or a classifier.
- Community management — catch new questions and complaints under your videos.
- Lead discovery — people asking where to buy, or for help.
Why this one
- First-party data. It reads YouTube's own public endpoints directly, with no resold scraper in between: fast, fresh and cheap.
- Clean, normalized rows plus a
RUN_SUMMARY.jsonwith counts and signals. - Hard cost cap with
maxTotalChargeUsd.
Related tools
- Want to catch the new video itself, not just its comments? → YouTube Channel Videos Scraper - Exact Views, $0.50/1K
How to use it in 3 steps
- Click Try for free and fill in YouTube video URLs (
videoUrls). - Optional: adjust the other fields; every one has a description and a sensible default.
- Click Start and download the results as JSON, CSV or Excel, or read them from the API.
Use it from code (API)
Every Apify Actor is an API. Start a run and read the results with one call.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("om_kh/youtube-comments-scraper").call(run_input={"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('om_kh/youtube-comments-scraper').call({"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
One HTTP call (cURL) — runs the Actor and returns the dataset in the same response:
curl -X POST "https://api.apify.com/v2/acts/om_kh~youtube-comments-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}'
Integrations: n8n, Make, Zapier, Google Sheets
- n8n — the official Apify node, operation Run Actor and get dataset, Actor
om_kh/youtube-comments-scraper. - Make — Apify › Run an Actor, then Apify › Get Dataset Items.
- Zapier — Apify › Run Actor; map the dataset items into your next step.
- Google Sheets, webhooks, Slack — add an integration from the Integrations tab of this Actor.
- Schedules — run it every hour or day from Schedules in Apify Console.
Use it from an AI agent (MCP and x402)
Connect Claude Desktop, Cursor, VS Code or any MCP client to Apify's MCP server
at https://mcp.apify.com and add this Actor, om_kh/youtube-comments-scraper, as a tool — the
agent passes the same JSON as the run input and gets the dataset back.
AI agents that pay with x402 can run it too, without an Apify account: the Actor charges only per result delivered, so an agent pays exactly for what it gets.
FAQ
How many comments can I get per video?
Up to 50,000 per video per run with maxComments, replies included. The default is 100.
Can I get the most liked comments instead of the newest?
Yes, set sortBy to top.
Can I use the comments for sentiment analysis or an LLM? Yes. Each row has clean text plus likes and reply counts, so you can weight the comments that mattered most. Export JSON or CSV, or call it from Python, n8n or an AI agent through MCP.
Is it legal to scrape YouTube? This Actor collects only publicly available YouTube data and never logs in. You are responsible for how you use it; check YouTube's terms and your local law (GDPR, CCPA) if you store personal data, and ask a lawyer if unsure.
Do I need an account, cookies or an API key? No. You only need an Apify account to run it.
What data do I get? Comments with text, likes, replies count, author and date. Download it as JSON, CSV, Excel, HTML or XML, or read it from the API.
Am I charged when something fails? No. An input that fails is listed with its reason in the run summary and is never charged.
Can I run it on a schedule? Yes. Create a schedule in Apify Console (hourly, daily, weekly) and connect webhooks, Google Sheets, Slack, n8n, Make or Zapier.
Can I use it from Python, JavaScript or an AI agent?
Yes: see the code samples above, or connect AI agents through MCP with the youtube_video_new_comments tool.
Your feedback
Did this Actor save you time? A short review on the Reviews tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the Issues tab: it is answered and fixed fast.