YouTube Comments Scraper - Comments and Replies by Video avatar

YouTube Comments Scraper - Comments and Replies by Video

Pricing

$0.30 / 1,000 comment returneds

Go to Apify Store
YouTube Comments Scraper - Comments and Replies by Video

YouTube Comments Scraper - Comments and Replies by Video

Scrape YouTube comments for any video: text, author, likes, reply count and pinned flag as clean JSON. Top or newest first, with or without replies. $0.30 per 1,000 comments, no API key, no quota, no login.

Pricing

$0.30 / 1,000 comment returneds

Rating

0.0

(0)

Developer

DataSignals Lab

DataSignals Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

YouTube Comments Scraper: comments and replies for any video, no API key

Get the comments under any YouTube video as clean JSON: text, author, likes, reply count, pinned flag and a link to the comment. Paste video URLs or ids, choose top comments or newest first, and switch replies on to get the whole conversation. Built for marketing, research and community teams that need comment text at scale without the quota of the official API.

No API key, no quota, no login. It reads the same public data the YouTube page loads for a visitor who is not signed in.

Run it with the default input to see it work. It returns the top 100 comments of the first video ever uploaded to YouTube.

What you get

One row per comment or reply:

fieldmeaning
comment_idYouTube's id for the comment, stable across runs
video_idThe video the comment belongs to
video_titleTitle of the video
channel_nameChannel that published the video
textFull comment text
authorHandle of the commenter
author_channel_idChannel id of the commenter
author_is_verifiedTrue when the commenter has a verified badge
author_is_creatorTrue when the commenter is the creator of the video
likesNumber of likes. YouTube rounds large numbers, so 4.8M becomes 4800000
reply_countNumber of replies to this comment
publishedAge as YouTube shows it, for example "6 years ago". YouTube does not show an exact date
is_replyTrue for a reply to another comment
parent_idFor a reply, the id of the comment it answers
is_pinnedTrue when the creator pinned the comment
urlLink that opens the video with this comment highlighted

Example row:

{
"comment_id": "UgzuC3zzpRZkjc5Qzsd4AaABAg",
"video_id": "jNQXAC9IVRw",
"video_title": "Me at the zoo",
"channel_name": "jawed",
"text": "We're so honored that the first ever YouTube video was filmed here!",
"author": "@SanDiegoZoo",
"author_channel_id": "UC4QobU6STFB0P71PMvOGN5A",
"author_is_verified": true,
"author_is_creator": false,
"likes": 4800000,
"reply_count": 985,
"published": "6 years ago",
"is_reply": false,
"parent_id": null,
"is_pinned": true,
"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw&lc=UgzuC3zzpRZkjc5Qzsd4AaABAg"
}

How to scrape YouTube comments with this Actor

  1. Open the Actor in the Apify Console and click Try for free. The input is prefilled with one video URL.
  2. Replace videos with the video URLs or ids you want, one per line. Watch URLs, youtu.be links, Shorts links and plain 11 character ids all work.
  3. Set maxCommentsPerVideo, pick sort, and switch includeReplies on if you want the replies. Use maxRepliesPerComment to stop one popular thread from using the whole cap.
  4. Click Start. Rows appear in the Dataset tab during the run. Export as JSON, CSV or Excel, or read them through the Apify API.
  5. From code: POST https://api.apify.com/v2/acts/datasignalslab~youtube-comments-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN with the same JSON input as the body.

Input

fieldwhat it does
videosvideo URLs (watch, youtu.be or Shorts) or 11 character video ids, one per line
maxCommentsPerVideocap per video, default 100. Replies count toward it
sorttop (default, as YouTube ranks them) or newest
includeRepliesalso return the replies under each comment, default off
maxRepliesPerCommentcap per thread, default 20, only with replies on
maxCommentshard stop across the run, 0 means no limit, also your budget cap

Minimal input:

{ "videos": ["https://www.youtube.com/watch?v=jNQXAC9IVRw"] }

The newest 500 comments of two videos, with replies:

{ "videos": ["jNQXAC9IVRw", "https://youtu.be/dQw4w9WgXcQ"], "sort": "newest", "maxCommentsPerVideo": 500, "includeReplies": true }

Whole conversations, 50 replies per thread, with a budget cap for the run:

{ "videos": ["https://www.youtube.com/shorts/jNQXAC9IVRw"], "includeReplies": true, "maxRepliesPerComment": 50, "maxCommentsPerVideo": 5000, "maxComments": 10000 }

Pricing

Pay per comment returned: $0.30 per 1,000 comments, charged only for rows that land in the dataset. A reply counts as a comment. No start fee. A video without comments, or a video that cannot be read, costs nothing. Apify's free monthly credit covers thousands of comments, so you can evaluate without paying.

Example: 10,000 comments cost $3.00. The default run of 100 comments costs $0.03. A daily schedule for the 200 newest comments on 10 videos is 2,000 comments a day, about $18 a month.

More from DataSignals Lab

This Actor is one of the pay-per-result data Actors of DataSignals Lab: job listings per ATS platform and job board, app and company reviews, YouTube comments and transcripts, website contacts and tech stacks. Every Actor returns the same clean JSON style and charges only for rows that land in the dataset, so you can combine feeds without remapping fields. All Actors and prices are listed on datasignalslab.com.

Use cases

  • Marketing and brand teams: what viewers say under their own videos and those of competitors, with likes to weight the loudest opinions.
  • Creators and agencies: questions and content ideas in the comments, found by filtering text on a question mark and sorting on likes.
  • Researchers and NLP teams: comment text at scale without the daily quota of the official API, with is_reply and parent_id to rebuild threads.
  • Community managers: a scheduled run with sort set to newest that pushes new comments into Slack, with author_is_creator to skip their own replies.
  • Product teams: the reaction to a launch video, split into top level comments and replies, with is_pinned to find the creator's own note.
  • AI agents that answer "what do viewers think of this video" from live data through MCP.

Need reviews instead of comments? See Trustpilot Reviews Scraper, App Store Reviews Scraper and Google Play Reviews Scraper.

YouTube API alternative: how it compares

  • The official YouTube Data API needs a Google project, an API key and a daily quota that a few large videos exhaust. This Actor has no key and no quota. In return it returns the relative age and rounded likes that the YouTube page shows, not the exact values the API gives.
  • Replies are included, with parent_id to link them to their comment, and both sort orders YouTube offers are supported. Some alternatives return top level comments only.
  • Each video is tried through up to three connections, the last one a residential proxy. A video that still fails is logged, costs nothing and does not stop the other videos in the run.
  • The price is $0.30 per 1,000 comments with no start fee and no charge per video. Several alternatives charge more per comment, a fee per video or a start fee per run.

Limits

  • YouTube shows the age of a comment, such as "6 years ago", not an exact date. published is that text. If you need exact timestamps, the official API is the only source.
  • Large like counts are rounded by YouTube. 4.8M is returned as 4800000. Small counts are exact.
  • A pinned comment stays on top, also when you sort by newest.
  • Videos with comments switched off, private videos, members-only videos and live chats return nothing and cost nothing.
  • Comments only. Video details beyond title and channel, transcripts, channel pages and search are out of scope. For transcripts see YouTube Transcript Scraper.
  • No channel URL or playlist input. List the video URLs you want, one per line.
  • No date filter. To track new comments over time, run it on a schedule with sort set to newest and de-duplicate on comment_id.
  • YouTube serves 20 comments per request and 10 replies per request, so a run for 10,000 comments with replies takes several minutes. The Actor saves and charges per page, so a run that stops early keeps what it has.

FAQ

The Actor reads only what YouTube shows to any visitor who is not signed in: the comment text, the public handle, likes and the reply count. Respect YouTube's terms of service and the privacy laws that apply to you, and do not use handles or channel ids beyond the comment itself. If you are unsure about your use case, ask a lawyer.

Do I need a YouTube API key or a Google account?

No. There is no API key, no quota and no login. Paste the video URL and run.

Can the YouTube Comments Scraper get replies too?

Yes. Switch includeReplies on. Each reply is its own row with is_reply set to true and parent_id pointing to the comment it answers. maxRepliesPerComment, default 20, keeps one thread from using the whole cap.

Why is the date "6 years ago" instead of a timestamp?

Because that is what YouTube shows on the page for a visitor who is not signed in. The exact publish time is only in the official API. For a timeline, record the run time together with published.

How much do 10,000 YouTube comments cost?

$3.00. Replies count as comments. There is no start fee and nothing is charged for videos that return nothing.

Can I schedule it to track new comments?

Yes. Create a schedule in the Apify Console, set sort to newest and maxCommentsPerVideo a little above the number of comments the video gets per interval, and skip any comment_id you already stored. The id is stable across runs.

Can an AI agent (MCP) call the YouTube Comments Scraper?

Yes. Add the Apify MCP server to Claude, ChatGPT or another agent and the Actor shows up as a tool. The agent passes a video URL and gets the comments back as JSON.

What happens when YouTube blocks a video or stops mid-way?

Each video gets up to three attempts, the first two through Apify's datacenter proxy and the third through a residential proxy. If a page fails after comments were already saved, the run keeps and charges only what it saved, logs the error and continues with the next video. If every video in a run is refused, the run is marked failed, nothing is charged and you can simply run it again.

Integrations

  • Apify API, including run-sync-get-dataset-items for one call that returns the rows.
  • Schedules and webhooks from the Apify Console, for feeds and for triggering your own processing when a run finishes.
  • Apify MCP server, so Claude, ChatGPT and other agents call this Actor as a tool.
  • Make, Zapier, n8n and Google Sheets through the Apify integrations, or CSV and Excel export from the Dataset tab.

Support

Use the Issues tab on this page, or email support@datasignalslab.com. You get an answer within one working day. Built and maintained by DataSignals Lab.

Changelog

  • 2026-10: README rewritten with a step-by-step guide, what happens when a video fails, honest limits and a FAQ. No change to the output fields or the price.
  • 2026-10: First release. Comments and replies per video, top or newest, three attempts per video with a residential fallback, saved and charged per page. Daily health check in place.