YouTube Comments Scraper — No API Key, Exact Likes, Replies
Pricing
from $0.32 / 1,000 extracted comments
YouTube Comments Scraper — No API Key, Exact Likes, Replies
Scrape YouTube comments without an API key or cookies: top-level plus replies, top or newest sort, exact like counts (not rounded), author channel IDs, batch videos. $0.0004 per comment. Videos with comments turned off are never charged.
Pricing
from $0.32 / 1,000 extracted comments
Rating
0.0
(0)
Developer
Broke to Built
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
YouTube Comments Extractor — Replies, Exact Likes, No API Key
Export YouTube comments to a clean dataset: one record per comment, top-level and replies, sorted by top or newest, with exact like counts (not the rounded "56K" you see on screen). No YouTube API key, no quota, no cookies, no proxy required.
What you get
One record per comment:
{"videoId": "dQw4w9WgXcQ","commentId": "Ugzge340dBgB75hWBm54AaABAg","parentId": null,"author": "@YouTube","authorChannelId": "UCBR8-60-B28hp2BmDPdntcQ","text": "can confirm: he never gave us up","likeCount": 295000,"publishedTimeText": "1 year ago","isReply": false,"replyCount": 961}
Replies carry parentId and isReply: true, so you can rebuild full threads. After each video,
one summary record reports what happened:
{ "videoId": "dQw4w9WgXcQ", "type": "summary", "ok": true,"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)","commentsExtracted": 30, "requested": 30, "sort": "top", "tookMs": 2218 }
(Real output from a real run — that video, those fields.)
Why this one
- Exact like counts. Parsed from YouTube's accessibility labels (
"56,394 likes"), not the abbreviated display string, solikeCountis an integer you can actually sort on. - No duplicates, ever. Records are deduplicated by
commentIdwithin the run. - Clean text. Zero-width characters stripped, whitespace normalized.
- Honest billing. You are charged only for comment records actually delivered. Videos that
fail (comments disabled, video private) produce a summary record with
ok: falseand anerror— and are never charged. - Batch friendly. Up to 50 videos per run; one failing video never stops the rest.
Common requests this handles
Phrased the way people actually ask, so a buyer — or an AI agent choosing a tool — can match on the real requirement rather than the category name:
- "Scrape YouTube comments without an API key." No YouTube Data API key, no quota units, no OAuth and no cookies.
- "Get comments AND their replies." Reply threads are returned, not just top-level comments.
- "Exact like counts, not rounded." The API surfaces "1.2K"; this returns the exact integer where YouTube exposes it, which matters if you are ranking or summing.
- "Top comments vs newest comments." Both sort orders are selectable per run.
- "Comments for a list of video URLs in bulk." Pass a batch; each video becomes its own set of records, and a video with comments disabled is reported and never charged.
- "YouTube comment sentiment / audience research data." Author, channel ID, like count and timestamp come back as structured fields ready to score or group.
- "Export YouTube comments to CSV or JSON." Dataset export handles both, plus Excel.
Input
| Field | Default | Notes |
|---|---|---|
videoUrls | — | Watch / youtu.be / shorts / embed URLs, or bare 11-char IDs. Max 50. |
maxCommentsPerVideo | 100 | Cap 2000. Replies count toward it — it is your budget cap. |
sort | top | top (YouTube's ranking) or newest. Note: a creator-pinned comment stays first even in newest — that is YouTube's own behavior. |
includeReplies | true | Fetch reply threads under each comment. |
maxRepliesPerComment | 10 | Cap 100. |
Honest limits
- Comments come from YouTube's own web feed (InnerTube), not the official Data API. YouTube changes this surface occasionally; the client version we present is pinned and maintained. If extraction breaks after a YouTube change, expect a fix, not silence — but no forever-guarantee.
publishedTimeTextis YouTube's relative label ("7 days ago"), not an absolute timestamp — the feed does not expose exact dates.- Like counts on brand-new comments can lag what the page shows by a few minutes (YouTube's own counters disagree with themselves at that horizon).
- Very large requests (2000 comments with replies) take a few minutes; ~100 comments with replies typically completes in well under a minute.
Keywords: youtube comments scraper, export youtube comments, youtube comment extractor, scrape youtube comments without api key, youtube replies scraper, youtube comment dataset.
Pricing
$0.0004 per comment record delivered — 1,000 comments cost $0.40. Measured against the category on 2026-08-07: apidojo/youtube-comments-scraper charges $0.0005 per comment plus $0.001 per video queried; streamers/youtube-comments-scraper (the most-used) charges $0.002 per result on the free plan and $0.0006–0.0015 on paid tiers. Videos that fail (comments disabled, private, deleted) produce an ok: false summary and are never charged.
Use from code or AI agents
Run it from any HTTP client and get the comments back in the same call:
curl -X POST "https://api.apify.com/v2/acts/eliai~youtube-comments-extractor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"], "maxCommentsPerVideo": 100}'
Or with the Apify JS client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('eliai/youtube-comments-extractor').call({videoUrls: ['dQw4w9WgXcQ'], sort: 'newest', maxCommentsPerVideo: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
AI agents can call this actor as a tool through Apify's MCP server — an MCP-enabled agent can discover it, read the input schema, and pull comment datasets autonomously.
FAQ
How do I export YouTube comments to CSV or Excel? Run the actor, then download the dataset as CSV, Excel, JSON, or JSONL from the run's Storage tab — or request the dataset API with format=csv.
Do I need a YouTube API key or Google Cloud project? No. Extraction reads YouTube's own web feed — no API key, no quota, no cookies, no proxy required.
Can it scrape replies, not just top-level comments? Yes — includeReplies is on by default. Replies carry parentId and isReply: true, so you can rebuild full threads.
Are the like counts exact? Yes — parsed from YouTube's accessibility labels ("56,394 likes"), not the rounded "56K" shown on screen, so likeCount is an integer you can sort on.
How many comments can I get from one video? Up to 2,000 records per video per run, replies included. maxCommentsPerVideo is also your budget cap since billing is per comment delivered.
Can I get the newest comments instead of the top ones? Set sort to newest. One YouTube quirk to know: a creator-pinned comment stays first even in newest — that is YouTube's own ordering.
Does it work on YouTube Shorts? Yes — watch, youtu.be, shorts, and embed URLs all work, as do bare 11-character video IDs.
For AI agents
This Actor is built to be called by software, not just by people.
- Mount it directly as an MCP tool — no Store search, no ranking, just this one tool:
https://mcp.apify.com/?actors=eliai/youtube-comments-extractor - Or call it over HTTP and get the results in the same request:
POST https://api.apify.com/v2/acts/eliai~youtube-comments-extractor/run-sync-get-dataset-items - Pay with x402, without an Apify account. This Actor is whitelisted for agentic payments, so an agent holding USDC on Base can buy a prepaid token and spend it here. The minimum purchase is $1, the token balance is an absolute spending cap, and it expires 14 days after purchase.
- Costs are predictable before you call. Pricing is pay-per-event (see Pricing above), so an agent can budget a run in advance instead of discovering the bill afterwards.
- Send only the field you mean. If you pass the bulk field, it is used on its own; the single-value field is a fallback, never merged into your request. You are charged for the items you sent and nothing else.