YouTube Comments Scraper & API Alternative | $0.12 / 1K avatar

YouTube Comments Scraper & API Alternative | $0.12 / 1K

Pricing

from $8.00 / 1,000 actor starteds

Go to Apify Store
YouTube Comments Scraper & API Alternative | $0.12 / 1K

YouTube Comments Scraper & API Alternative | $0.12 / 1K

Export YouTube comments and replies from any video: text, author, likes, reply count, pinned and hearted flags. Sort by top or newest. YouTube API alternative, no API key or quota. $0.008/run + $0.00012/comment + $0.00008/reply.

Pricing

from $8.00 / 1,000 actor starteds

Rating

0.0

(0)

Developer

Hriday Rungta

Hriday Rungta

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

YouTube Comments Scraper | Export YouTube Comments & Replies

Export YouTube comments and reply threads from any video without an API key or quota units. Paste video links, pick top or newest comments, and get one row per comment: text, author, likes, reply count, pinned and creator-hearted flags. Turn on replies to include the threads under each comment. Download as JSON, CSV or Excel, or send it to Google Sheets, Make, n8n or Zapier.

It reads YouTube's public watch page and the same internal "innertube" API the YouTube web player uses. No login, no browser, no proxy. $0.00012 per comment ($0.12 per 1,000) and $0.00008 per reply, plus a $0.008 start fee per run.

What can you do with YouTube comments data?

  • Export YouTube comments to CSV or Excel. Get every comment you ask for as a flat table, with the author, like count and link to each comment.
  • Run sentiment analysis on YouTube comments. Feed the comment text and like counts into your own model, a spreadsheet or an LLM pipeline.
  • Research your audience. See what viewers ask, complain about and praise on your own videos or a competitor's.
  • Monitor new comments after a launch. Sort by newest and schedule the Actor to check a video again later.
  • Collect reply threads. Include replies to see the full conversation under a comment, not just the top-level text.
  • Replace the YouTube Data API for read-only comment jobs. If you only need public comments and keep hitting API keys, quota units and approval steps, this does the same reading job without them. See the FAQ for what it does not cover.

Ready-made versions of these jobs are available as saved tasks on this Actor's page: top comments, comments with replies, several videos at once, newest comments and a sentiment-analysis export.

Input

FieldWhat it does
videoUrlsVideos to export comments from: a watch, Shorts or youtu.be URL, or a bare 11-character video id, one per line. Required.
sortBytop (YouTube's default: most-liked and pinned first) or newest.
includeRepliesAlso fetch the reply thread under each comment. Off by default. Each reply is billed as its own row.
maxCommentsCost cap: the total number of top-level comments for the whole run, across all videos. Default 1,000.
maxCommentsPerVideoCap on comments from any single video. Default 1,000.
maxRepliesCost cap on replies for the whole run. Only used when replies are on. Default 1,000.
maxRepliesPerCommentCap on replies under any one comment, so one heavily replied comment cannot use up the budget. Default 20.
maxPagesPerVideoSafety cap on pages of comments to follow per video. Default 500.
maxRetriesRetries with backoff for network errors and 5xx responses.

Input example

{
"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
"sortBy": "top",
"includeReplies": true,
"maxComments": 30,
"maxCommentsPerVideo": 30,
"maxReplies": 60,
"maxRepliesPerComment": 3
}

Output

One row per comment or reply. A real comment row (avatar link shortened):

{
"kind": "comment",
"commentId": "UgyEnXfdC-umwvTt8JF4AaABAg",
"commentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=UgyEnXfdC-umwvTt8JF4AaABAg",
"text": "Gonna flag this for nudity so I can rick roll the YouTube staff",
"publishedTimeText": "6 years ago",
"likeCount": 568000,
"replyCount": 719,
"isPinned": false,
"isHearted": false,
"isReply": false,
"authorName": "@Oatman69",
"authorHandle": "Oatman69",
"authorChannelId": "UCWf34D_s8K_m2vwBISIDWtg",
"authorChannelUrl": "https://www.youtube.com/@Oatman69",
"authorAvatarUrl": "https://yt3.ggpht.com/...",
"authorIsVerified": false,
"authorIsChannelOwner": false,
"videoId": "dQw4w9WgXcQ",
"videoTitle": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"channelTitle": "Rick Astley",
"totalCommentCount": 2460192,
"sortedBy": "top"
}

Reply rows have kind: "reply", isReply: true, a parentCommentId pointing at the comment they belong to, and replyLevel: 1.

Other fields: kind, pinnedText, authorIsArtist, videoUrl and channelId.

Things to know about the data

  • Dates are relative text. YouTube shows comment times as "6 years ago" or "33 minutes ago", and that is what you get in publishedTimeText. There is no exact timestamp.
  • Like counts can be rounded by YouTube for large numbers.
  • Comments turned off: a video with comments disabled is skipped with a warning and is not charged.
  • Reply order and caps: replies are fetched under each comment up to maxRepliesPerComment, and the run stops when maxReplies is reached.

Pricing

EventPrice
Actor start (once per run)$0.008
Comment scraped$0.00012 per top-level comment ($0.12 per 1,000)
Reply scraped$0.00008 per reply ($0.08 per 1,000), only when replies are on

Worked examples:

  • 100 comments: $0.008 + 100 x $0.00012 = $0.020
  • 1,000 comments: $0.128
  • 10,000 comments: $1.208
  • 1,000 comments and 3,000 replies: $0.008 + $0.12 + $0.24 = $0.368

maxComments and maxReplies are hard caps on billed rows, so a run can never cost more than the start fee plus those caps at the prices above.

Integrations and scheduling

  • Apify Schedules: re-run on a video every day or week to catch new comments (sort by newest).
  • Google Sheets, Make, n8n, Zapier: push every run's dataset to your tools, for example by webhook when the run succeeds.
  • API: start runs and read the dataset over the Apify API, or use the Apify client for JavaScript or Python.
  • MCP and AI agents: call it from AI agents through Apify's MCP server.

FAQ

Is this a YouTube Data API alternative for comments?

For reading public comments, yes. You do not need a Google Cloud project, an API key or quota units. It does not post, delete or moderate comments and cannot see anything that is not public.

Can I export all comments from a video?

Up to your caps. Set maxComments and maxCommentsPerVideo as high as you want (up to 200,000) and the Actor pages through comments until it runs out or hits a cap. Very large videos take longer and cost more, so start with a small cap.

Does it include replies?

Yes, when includeReplies is on. Replies are billed per reply and capped per comment.

Can I get comments by date range?

No. YouTube only lets you sort by top or newest, and comment times come back as relative text. Sort by newest and stop at the cap you need.

Why not the official YouTube Data API?

The official API works, but needs a Google Cloud project and key, and every request spends quota units (the default daily quota is limited). This Actor skips the key and the quota and charges per row instead. If you need to write to YouTube or read private data, you need the official API.

Will YouTube block it?

YouTube can change or restrict access at any time. Requests are retried with backoff. If a video's comments cannot be read, it is skipped with a warning.

It reads public pages only: no login, no private data. Comments contain personal data such as names and handles. You are responsible for using it in line with YouTube's Terms of Service and privacy laws such as GDPR.