YouTube Comments Scraper avatar

YouTube Comments Scraper

Pricing

Pay per usage

Go to Apify Store
YouTube Comments Scraper

YouTube Comments Scraper

Scrape YouTube comments with replies, timestamps, likes, hearts, pins, and verified badges.

Pricing

Pay per usage

Rating

5.0

(1)

Developer

Happy B

Happy B

Maintained by Community

Actor stats

2

Bookmarked

3

Total users

2

Monthly active users

5 hours ago

Last modified

Share

What is YouTube Comments Extractor?

YouTube Comments Extractor scrapes comments from any public YouTube video with complete, structured data — ISO 8601 timestamps, exact like counts, creator hearts, pinned status, verified badges, and full reply threads with parent-child relationships.

Every comment comes with precise, machine-readable fields ready for analysis pipelines, databases, and spreadsheets.

Data points extracted per comment

FieldDescriptionExample
commentIdUnique YouTube comment IDUgzge340dBgB75hWBm54AaABAg
contentPlain text comment bodyThis song never gets old!
contentHtmlHTML-formatted comment with links/formattingThis song <b>never</b> gets old!
publishedAtISO 8601 timestamp2025-04-22T19:05:08Z
likeCountExact numeric like count209980
replyCountNumber of replies to this comment960
isHeartedCreator hearted this commenttrue
isPinnedComment is pinned by creatortrue
authorDisplayNameComment author's display name@YouTube
authorIsVerifiedAuthor has YouTube verification badgetrue
authorIsCreatorAuthor is the video's channel ownerfalse
parentCommentIdParent comment ID (for replies)Ugzge340dBgB75hWBm54AaABAg
replyLevel0 = top-level comment, 1 = reply1

Plus: updatedAt, isEdited, authorChannelId, authorChannelUrl, authorAvatarUrl, authorIsArtist, videoId, videoTitle, videoUrl, videoCommentCount, scrapeTimestamp.

24 fields per comment. Every field populated.

Why use this scraper?

Our Actor vs Top 3 YouTube Comment Actors

FieldUsStreamersAPI NinjaDeeper
publishedAt ISO 8601 exact
updatedAt ISO 8601
isEdited
isPinned
isHearted
likeCount exact integer
replyLevel (0/1)
Reply threading
contentHtml
authorChannelId
authorChannelUrl
authorAvatarUrl
authorIsVerified
authorIsArtist
authorIsCreator
videoTitle
videoCommentCount

Reply threading — each reply has parentCommentId pointing to the comment it's replying to. You can rebuild the thread:

@YouTube: "can confirm: he never gave us up" ← parentCommentId: ""
└─ @Cheese: "Bro is 15 years late" ← parentCommentId: "Ugzge340d..."
└─ @SleepyBear: "Only took 15 years" ← parentCommentId: "Ugzge340d..."
@ochkalov: "1987: normal song, 2026: national anthem"
└─ @armin: "so true" ← parentCommentId: "UgxIOV-s..."
  • Incremental delivery — Results appear in your dataset within seconds. Export anytime, don't wait for the run to finish.
  • From $0.50 per 1,000 items — Volume discounts down to $0.25 on Business plan.

Use cases

  • Brand monitoring — Track what people say about your brand in competitor video comments. Filter by authorIsCreator to find official channel responses.
  • Sentiment analysis — Feed complete comment text with ISO timestamps into your NLP pipeline. Replies give you conversation context that top-level-only scrapers miss.
  • Research & academia — Extract large comment corpora with exact dates and engagement metrics for reproducible studies.
  • Content strategy — Identify what resonates by sorting through high-engagement comments (likeCount, isHearted, isPinned).
  • Community management — Find creator-hearted comments, pinned comments, and verified user interactions across multiple videos.
  • ML training data — Structured JSON with 24 fields per comment, ready for classification, fine-tuning, or embedding pipelines.

How much does it cost?

Each comment or reply counts as one item.

PlanPrice per 1,000 items
Free$0.50
Starter$0.45
Scale$0.40
Business$0.25
ScenarioItemsCost
1 video, 500 comments, no replies500$0.25
1 video, 100 comments, ~30 have replies (avg 5 each)~250$0.12
10 videos, 500 comments each, no replies5,000$2.50
1 video, 5,000 comments (Newest First)5,000$2.50

Replies are opt-in. With includeReplies off (default), you only pay for top-level comments. When enabled, each reply is a separate item. You control the maximum replies per comment with maxRepliesPerComment.

Apify also charges a small compute cost (CU) for the actor's runtime — typically under $0.01 for most runs.

Input

ParameterTypeDefaultDescription
videoUrlsstring[]requiredYouTube video URLs or bare video IDs. Supports youtube.com/watch, youtu.be, /shorts/, /embed/, /live/ formats.
maxCommentsPerVideointeger500Maximum top-level comments to fetch per video (1-10,000).
sortBystringrelevancerelevance (Top Comments) or time (Newest First). Top Comments is capped at ~1,200 by YouTube. Use Newest First for full extraction.
includeRepliesbooleanfalseFetch replies for each comment. Each reply counts as a billable item.
maxRepliesPerCommentinteger50Maximum replies per comment (1-200). Only used when Include Replies is on.

Output example

Each item in the dataset is a single comment or reply:

{
"commentId": "Ugzge340dBgB75hWBm54AaABAg",
"content": "Check out my channel https://youtube.com/@example",
"contentHtml": "Check out my channel <a href=\"https://youtube.com/@example\">https://youtube.com/@example</a>",
"publishedAt": "2025-04-22T19:05:08Z",
"updatedAt": "2025-04-22T19:05:08Z",
"isEdited": false,
"likeCount": 209980,
"replyCount": 960,
"replyLevel": 0,
"isPinned": true,
"isHearted": true,
"authorDisplayName": "@YouTube",
"authorChannelId": "UCBR8-60-B28hp2BmDPdntcQ",
"authorChannelUrl": "https://www.youtube.com/channel/UCBR8-60-B28hp2BmDPdntcQ",
"authorAvatarUrl": "https://yt3.ggpht.com/...",
"authorIsVerified": true,
"authorIsCreator": false,
"authorIsArtist": false,
"videoId": "dQw4w9WgXcQ",
"videoTitle": "Rick Astley - Never Gonna Give You Up",
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"videoCommentCount": 3200000,
"scrapeTimestamp": "2026-04-01T12:00:00Z",
"parentCommentId": ""
}

A reply to this comment looks identical, except:

{
"commentId": "Ugzge340dBgB75hWBm54AaABAg.AHE8_QAWJx9AHEjU2AWVXk",
"content": "Bro is 15 years late",
"replyLevel": 1,
"replyCount": 0,
"parentCommentId": "Ugzge340dBgB75hWBm54AaABAg",
"isPinned": false,
"likeCount": 1810,
"publishedAt": "2025-05-15T08:22:41Z"
}

Replies appear in the dataset directly after their parent comment, making thread reconstruction straightforward.

Download your results as JSON, CSV, Excel, XML, or HTML from the dataset tab, or access them via the Apify API.

Good to know

YouTube caps "Top Comments" at ~1,200 results. This is a YouTube limitation on relevance-sorted comments for popular videos. If you need more than 1,200 comments, use sortBy: "time" (Newest First), which has no cap.

Reply costs scale with discussion depth. A video where most comments have 0-2 replies adds minimal cost. A viral video where top comments have 500+ replies each will produce many more billable items. Use maxRepliesPerComment to cap costs.

Integrations

Connect this actor to your workflow with Apify integrations:

  • Make (Integromat) — trigger workflows when new data is available
  • Zapier — push comments to Google Sheets, Slack, or databases
  • GitHub — store results in repositories
  • Google Drive — export directly to spreadsheets
  • Webhooks — notify your API when the run completes
  • Apify API — programmatic access for custom pipelines

This actor extracts publicly available data from YouTube. You should ensure your use of the extracted data complies with YouTube's Terms of Service, applicable data protection laws (GDPR, CCPA), and your jurisdiction's regulations regarding web scraping and data processing.

Comments are public content posted by users on a public platform. Author information (display names, channel URLs) is publicly visible on YouTube.

Support

Found a bug or have a feature request? Open an issue on the Issues tab or contact us through Apify messaging.