YouTube Video Comment & Reply Thread Scraper

Get a YouTube video's comments with nested replies attached, author identity, like counts, and pinned/hearted/verified flags, filterable by keyword and minimum likes.

Open in Apify Store$0.99 / 1K on Free

Short answer

YouTube Video Comment & Reply Thread Scraper is an Apify Store Actor for YouTube data that returns 24 published output fields, including videoTitle, videoId, commentId, authorName. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 17 input settings, none required. It covers 2 of the 8 core YouTube fields this site tracks. Last updated Oct 24, 2026.

From the public Store listing and published build schema, synced 2026-11-12.
YouTube AutomationSocial mediaVideo

What it returns

24 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.

  • recordType
  • commentId
  • authorName
  • text
  • likeCount
  • replyCount
  • isHearted
  • videoTitle
  • parentCommentId
  • rootCommentId
  • replyLevel
  • threadPosition
  • authorHandle
  • likeCountText
  • replyCountText
  • isPinned
  • heartedBy
  • creatorReplied
  • publishedTimeText
  • publishedAtApprox
  • publishedAtPrecision
  • videoId
  • sourceInput
  • sourceScope

Not in the schema among the core YouTube fields: channel, views, duration, published_at, url, transcript. The field matrix shows which other tools return them.

How it differs from the other YouTube Actors

Among the 17 catalogue Actors for YouTube with a published schema, only this one returns replyCount, isHearted, replyLevel, replyCountText, isPinned, heartedBy, creatorReplied.

Pick another Actor if you need

Fields other YouTube catalogue Actors return that YouTube Video Comment & Reply Thread Scraper does not
ActorFields it addsPrice / 1K
YouTube Search Results & Entity Type Scraper channelName, viewCount, duration, url $0.99
YouTube Shorts Metadata Extractor for Channels & Hashtags viewCount, duration, uploadDate, url $0.99
YouTube Channel Video Catalog & Profile Scraper viewCount, duration, url, authorMetadata.subscriberCount $0.99
YouTube Caption & Whisper AI Transcript Extractor channel_name, transcript_language, segment_count, success $0.99
YouTube Hashtag Video & Shorts Ranking Scraper hashtag, url, channelName, viewCount $0.99

Input

Input settings for YouTube Video Comment & Reply Thread Scraper
SettingTypeRequiredDefaultWhat it does
videoUrls array No [] Watch, youtu.be, Shorts, embed, live, v/ links, or bare 11-character IDs. Every video is normalized to a watch URL internally.
channelUrls array No [] Channel /videos sources: /@handle, /channel/UC..., /c/name, /user/name, a bare @handle, or a UC... channel ID. Scrapes up to Max videos per source.
playlistUrls array No [] Playlist sources: youtube.com/playlist?list=... or a bare playlist ID. Scrapes up to Max videos per source.
searchQueries array No [] YouTube search terms or search-result URLs. Only video results are used, deduplicated, up to Max videos per source.
maxVideosPerSource integer No 20 Discovery cap for channel, playlist and search sources. 0 = every video the source exposes.
maxComments integer No 100 Top-level comments to examine per video. 0 = all. Comments rejected by filters still count toward this scan cap (so restrictive filters cannot paginate forever); replies do not. Both emitted comments and replies count toward Max total rows.
includeReplies boolean No true Fetch reply threads. Emitted as flat rows by default; use Output mode tree to embed them instead.
maxRepliesPerComment integer No 50 Per-thread reply cap. 0 = all replies, stopping when the continuation token is exhausted. YouTube serves roughly 9-10 on the first reply page and 44-49 afterwards.
maxReplyDepth integer No 1 0 = top-level comments only, 1 = direct replies (the shape observed publicly). Values above 1 are reserved for nested sub-threads, which YouTube has not exposed in the samples used to build this actor.
maxTotalRows integer No 5000 Global budget for emitted comment + reply rows. 0 = unlimited. Status rows are never counted and are not billable data rows.
Show the other 7 settings
More input settings for YouTube Video Comment & Reply Thread Scraper
SettingTypeRequiredDefaultWhat it does
sortBy string No top top = YouTube relevance order; newest = chronological, recommended for date cutoffs and complete windows. A date cutoff forces newest automatically.
commentsSince string No – Optional cutoff as an ISO date/datetime (2026-10-16) or relative duration (7d, 24h, 30m). Forces newest sort. Pinned comments are always kept; pagination stops at the first non-pinned comment older than the cutoff.
keywords array No [] Case-insensitive OR filter on comment and reply text. Empty = no keyword filter. A parent comment that does not match is skipped, so its replies are not fetched.
minLikes integer No 0 Drop comments and replies below this like count. Applied after fetching. YouTube only exposes rounded counts (K/M), so the comparison uses the rounded value.
onlyCreatorHearted boolean No false Keep only comments/replies that the video creator hearted. HeartedBy identifies the creator where YouTube exposes the tooltip.
outputMode string No flat flat = one row per comment and reply (recommended for CSV/Excel/SQL); tree = parent rows with embedded replies[] (backward compatible); both = flat rows plus parent rows carrying replies[].
emitStatusRows boolean No true Write one recordType=status row for blocked, private, unavailable, comments-off, empty-token, invalid-input, partial and budget-stop cases. Status rows are never counted toward Max total rows; disable this to keep the dataset data-only.

Example input

Built from the input form's published example values and defaults.

{
  "videoUrls": [
    "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  ],
  "channelUrls": [],
  "playlistUrls": [],
  "searchQueries": [],
  "maxVideosPerSource": 20,
  "maxComments": 3,
  "includeReplies": true,
  "maxRepliesPerComment": 3,
  "maxReplyDepth": 1,
  "maxTotalRows": 20,
  "sortBy": "top",
  "keywords": [],
  "minLikes": 0,
  "onlyCreatorHearted": false,
  "outputMode": "flat",
  "emitStatusRows": true
}

Run it from code or an AI agent

The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.

Python

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
    "videoUrls": [
        "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    ],
    "channelUrls": [],
    "playlistUrls": [],
    "searchQueries": [],
    "maxVideosPerSource": 20,
    "maxComments": 3,
    "includeReplies": True,
    "maxRepliesPerComment": 3,
    "maxReplyDepth": 1,
    "maxTotalRows": 20,
    "sortBy": "top",
    "keywords": [],
    "minLikes": 0,
    "onlyCreatorHearted": False,
    "outputMode": "flat",
    "emitStatusRows": True
}

run = client.actor("nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper").call(run_input=run_input)
if run is None:
    raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

pip install apify-client

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
    "videoUrls": [
        "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    ],
    "channelUrls": [],
    "playlistUrls": [],
    "searchQueries": [],
    "maxVideosPerSource": 20,
    "maxComments": 3,
    "includeReplies": true,
    "maxRepliesPerComment": 3,
    "maxReplyDepth": 1,
    "maxTotalRows": 20,
    "sortBy": "top",
    "keywords": [],
    "minLikes": 0,
    "onlyCreatorHearted": false,
    "outputMode": "flat",
    "emitStatusRows": true
};

const run = await client.actor("nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

npm install apify-client

cURL

curl -X POST "https://api.apify.com/v2/actors/nimbryxo-studio~youtube-video-comment-and-reply-thread-scraper/run-sync-get-dataset-items"   -H "Authorization: Bearer $APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"videoUrls":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"channelUrls":[],"playlistUrls":[],"searchQueries":[],"maxVideosPerSource":20,"maxComments":3,"includeReplies":true,"maxRepliesPerComment":3,"maxReplyDepth":1,"maxTotalRows":20,"sortBy":"top","keywords":[],"minLikes":0,"onlyCreatorHearted":false,"outputMode":"flat","emitStatusRows":true}'

Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).

MCP (AI agents)

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.

What a run costs

The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.

Cost of YouTube Video Comment & Reply Thread Scraper results by Apify plan
Apify planPer 1,00010,000 results100,000 results
Free plan$0.99$9.90$99
Starter plan$0.82$8.20$82
Scale plan$0.66$6.60$66
Business plan$0.49$4.90$49
  • Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
  • The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
  • Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
  • Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.

Where it fits among YouTube routes

It ranks 14 of 17 catalogue Actors for YouTube on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.

Route diagram for YouTube dataYouTube Search Results & Entity Type Scraper: stops at 9 of the 10 fields shown; YouTube Shorts Metadata Extractor for Channels & Hashtags: stops at 7 of the 10 fields shown; YouTube Channel Video Catalog & Profile Scraper: stops at 8 of the 10 fields shown; YouTube Video Comment & Reply Thread Scraper: stops at 1 of the 10 fields shown; Other Store tools (7): stops at 9 of the 10 fields shown; YouTube Data API v3: public, field coverage not compared.YouTubechannelviewsdurationpublished aturltranscriptlike countviewCountscrapedAtdescription12314+API

Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.

Official route: YouTube Data API v3

Public API. The Data API exposes public video, channel, playlist and comment data. Each project receives a daily quota measured in units.

No per-call fee is published; the constraint is the daily quota. Extra quota is not self-serve.

Official documentation

Other Store tools for YouTube

Reference only, from their public listings.

Other Store tools for YouTube
ToolFieldsPrice / 1K
Youtube Channel Video Scraper23$1.00
YouTube Video Transcript25$5.00
YouTube Scraper: Videos, Channels & Search14$0.50
YouTube Video Downloader26$5.00
Youtube Video/Shorts Details Scraper Pro7$0.01

What people use it for

  • Collect comment threads
  • Analyze audience responses
  • Filter comments by engagement

Other catalogue Actors for YouTube

YouTube Search Results & Entity Type Scraper

Search YouTube by keyword for videos, Shorts, channels, or playlists, with view counts, duration, and channel details, filterable by upload date,…

7/8 core fields 42 output fields $0.99 per 1K

YouTube Shorts Metadata Extractor for Channels & Hashtags

Pull Shorts from a channel's Shorts tab, a hashtag feed, or specific Shorts links, with views, likes, comment counts, upload dates and channel…

7/8 core fields 38 output fields $0.99 per 1K

YouTube Channel Video Catalog & Profile Scraper

Get a YouTube channel's profile details (subscribers, description, links, verification) together with its video, Shorts, playlist or live-stream…

6/8 core fields 49 output fields $0.99 per 1K

YouTube Caption & Whisper AI Transcript Extractor

Get timestamped transcripts from YouTube videos in your preferred language, with optional AI transcription for videos that have no captions at…

6/8 core fields 31 output fields $0.99 per 1K

YouTube Hashtag Video & Shorts Ranking Scraper

Look up one or more YouTube hashtags and get the videos and Shorts currently ranked under them, in order, with view count, channel, duration and…

7/8 core fields 40 output fields $0.99 per 1K

YouTube Trending Feed Extractor by Category & Market

Get video lists for YouTube's Gaming, Music, News, Movies and Trending sections in any of 31 regional markets, with views, duration and channel…

7/8 core fields 70 output fields $0.99 per 1K

YouTube Video Metadata & Chapter Extractor

Get full metadata for any YouTube video or Short: channel info, chapters, endscreen elements, caption track list, related videos and comments,…

60 output fields $0.99 per 1K

TikTok Comment & Reply Thread Extractor

Pull comments and reply threads from TikTok videos by URL or post ID, with pinned/hearted-by-author flags, commenter details, and like counts. No…

14 output fields $0.99 per 1K

YouTube Channel About, Playlists & Posts Finder

Look up a YouTube channel's About page details - subscribers, views, country, join date, links - with optional playlist and Community Post…

20 output fields $0.99 per 1K

YouTube Channel Video Feed Quick Scraper

Quickly list any YouTube channel's videos, sorted newest, most popular or oldest, with channel subscriber count, verification and optional Shorts,…

52 output fields $0.99 per 1K

YouTube Community Tab Post & Poll Scraper

Read a YouTube channel's Community tab and get structured records for every text post, image, poll, and shared video, with vote counts and…

7 output fields $0.99 per 1K

YouTube Playlist Contents & Channel Playlist Finder

List every video in a YouTube playlist, or discover every public playlist a channel owns, with titles, durations, thumbnails, and playlist metadata.

47 output fields $0.99 per 1K

Questions people ask

How much does YouTube Video Comment & Reply Thread Scraper cost?

The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.

What data does YouTube Video Comment & Reply Thread Scraper return?

Its published output schema lists 24 fields: recordType, commentId, authorName, text, likeCount, replyCount, isHearted, videoTitle, parentCommentId, rootCommentId, replyLevel, threadPosition, and 12 more. A listed field is not guaranteed to be filled in every row.

What input does YouTube Video Comment & Reply Thread Scraper need?

No input is strictly required; the defaults run as is. Common settings: videoUrls, channelUrls, playlistUrls, searchQueries, maxVideosPerSource, maxComments.

What are the alternatives to YouTube Video Comment & Reply Thread Scraper for YouTube?

17 catalogue Actors cover YouTube. Close alternatives: YouTube Search Results & Entity Type Scraper; YouTube Shorts Metadata Extractor for Channels & Hashtags; YouTube Channel Video Catalog & Profile Scraper. The YouTube page compares all of them field by field.

How do I run YouTube Video Comment & Reply Thread Scraper from Python or the API?

Use the Apify API client: in Python, ApifyClient(token).actor("nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("nimbryxo-studio/youtube-video-comment-and-reply-thread-scraper").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/nimbryxo-studio~youtube-video-comment-and-reply-thread-scraper/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.

Sources

Actor updated 2026-10-24 Data synced 2026-11-12
Cite this page

Scraper Finder. "YouTube Video Comment & Reply Thread Scraper." https://scraperfinder.com/catalogue/youtube-video-comment-and-reply-thread-scraper/ (data checked 2026-11-12).

Run YouTube Video Comment & Reply Thread Scraper

$0.99 per 1,000 results. Paste the example input above, set your YouTube query, then export the dataset. Still choosing? Compare every YouTube route.

Open in Apify Store