YouTube Comment Scraper avatar

YouTube Comment Scraper

Pricing

from $0.95 / 1,000 results

Go to Apify Store
YouTube Comment Scraper

YouTube Comment Scraper

Scrape YouTube comments. Extract clean JSON data for SEO, lead generation, competitor monitoring, and market research with contact enrichment. The ultimate YouTube comment scraper.

Pricing

from $0.95 / 1,000 results

Rating

0.0

(0)

Developer

DataFusionX

DataFusionX

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape YouTube comments easily with this powerful YouTube comment scraper. Extract comments, replies, author details, likes, timestamps, and contact enrichment data from any YouTube video.

Perfect for researchers, marketers, developers, and data analysts who need a reliable YouTube comments scraper, YouTube comment downloader, or comment extractor.


πŸš€ Features

  • Scrape YouTube comments from any public video
  • Extract top-level comments and replies
  • Support for Newest First and Top Comments sorting
  • Clean, normalized YouTube URLs (handles youtu.be, Shorts, extra parameters, etc.)
  • Deduplication of input URLs
  • Full comment metadata:
    • Comment text (exact UI content)
    • Author name, channel ID, avatar
    • Like count & reply count
    • Published time (relative + absolute + Unix timestamp)
    • Creator heart status
    • Paid / Super Thanks indicators
  • Optional contact enrichment:
    • Emails, phones, websites
    • Social profiles (Discord, Instagram, X/Twitter, LinkedIn, TikTok, Telegram, etc.)
    • Lead signals & lead score
  • Concurrent scraping with configurable concurrency
  • Flat, linear JSON output – ready for datasets, CRM, or analysis
  • Built with Python – ideal for those searching youtube comment scraper python

πŸ“₯ Input

FieldTypeRequiredDescriptionDefault
startUrlsArrayYesList of YouTube video URLs–
maxCommentsIntegerNoMaximum comments to fetch per video100
sortCommentsByStringNoTOP_COMMENTS or NEWEST_FIRSTTOP_COMMENTS
includeContactEnrichmentBooleanNoExtract emails, phones, social links & lead signalstrue

Input Example

{
"startUrls": [
{
"url": "https://www.youtube.com/watch?v=xObhZ0Ga7EQ"
},
{
"url": "https://youtu.be/87SH2Cn0s9A?t=30"
}
],
"maxComments": 200,
"sortCommentsBy": "TOP_COMMENTS",
"includeContactEnrichment": true
}

The actor automatically:

  • Cleans URLs (removes tracking parameters, converts youtu.be / Shorts)
  • Deduplicates videos
  • Supports both object format ({"url": "..."}) and plain strings

πŸ“€ Output

Each comment is pushed as a flat JSON object to the Apify dataset.

Output Example

{
"video_url": "https://www.youtube.com/watch?v=xObhZ0Ga7EQ",
"comment_id": "Ugx8YyWHF6vy5s3Bax54AaABAg.9nlIRheKSsX9nlQx6EfGF-",
"parent_id": "Ugx8YyWHF6vy5s3Bax54AaABAg",
"is_reply": true,
"text": "Sorry about that! Thanks for pointing it out🀐 It's now added in the description, but you can just directly use this link: https://discord.com/invite/jyEM2PRvMU",
"published_time": "2023-08-21 06:11:02",
"published_time_relative": "3 years ago",
"published_timestamp": 1692598262,
"author_name": "@Apify",
"isCreator": true,
"isArtist": false,
"author_channel_id": "UCTgwcoeGGKmZ3zzCXN2qo_A",
"author_avatar": "https://yt3.ggpht.com/m4tS7WA15DeUqAi90tn0NnshLvW7liMNpAGAN5I78UNQKTPDcLHw_0dc1GXeW75_ccDiuqUEmQ=s88-c-k-c0x00ffffff-no-rj",
"like_count": 1,
"reply_count": 0,
"hearted_by_creator": false,
"paid": null,
"enrichment": {
"has_contact": false,
"has_social": true,
"has_lead_signal": false,
"lead_score": 20,
"emails": [],
"phones": [],
"websites": [],
"social_profiles": [
{
"platform": "discord",
"handle": "jyEM2PRvMU",
"url": "https://discord.com/invite/jyEM2PRvMU"
}
],
"mentions": [],
"lead_phrases": [],
"all_urls": [
"https://discord.com/invite/jyEM2PRvMU"
]
}
}

Field Descriptions

FieldDescription
video_urlCleaned YouTube video URL
comment_idUnique comment ID
parent_idParent comment ID (for replies)
is_replytrue if this is a reply
textExact comment text as shown in the YouTube UI
published_timeAbsolute time (UTC) – YYYY-MM-DD HH:MM:SS
published_time_relativeRelative time (e.g. "3 years ago")
published_timestampUnix timestamp
author_nameDisplay name of the commenter
author_channel_idYouTube channel ID of the author
author_avatarProfile picture URL
like_countNumber of likes
reply_countNumber of replies
hearted_by_creatorWhether the video creator hearted the comment
paidSuper Thanks / paid comment indicator
enrichmentContact & social enrichment object (when enabled)

πŸ” Use Cases

  • Market research – Analyze audience sentiment and feedback
  • Lead generation – Find emails, Discord, Instagram, LinkedIn from comments
  • Competitor analysis – Monitor comments on competitor videos
  • Content strategy – Discover what resonates with viewers
  • Academic research – Collect large comment datasets
  • Brand monitoring – Track mentions and reactions
  • Influencer outreach – Extract social profiles of active commenters

βš™οΈ Technical Details

  • Written in Python
  • Uses efficient continuation-token based pagination (same method as the official YouTube client)
  • Concurrent video processing with configurable thread limit (MAX_THREADS)
  • Automatic consent / cookie handling
  • Robust number parsing (1.2K β†’ 1200, 3.4M β†’ 3400000)
  • Relative time β†’ absolute timestamp conversion
  • Fully flat output – no nested complexity

❓ Frequently Asked Questions (FAQ)

How to scrape YouTube comments?

Simply provide one or more YouTube video URLs in the startUrls field, set the maximum number of comments you want, choose sorting order, and run the Actor. The YouTube comment scraper will automatically extract comments and replies.

Does this YouTube comments scraper extract replies?

Yes. Both top-level comments and nested replies are scraped. Replies include a parent_id field so you can easily reconstruct the conversation thread.

Can I scrape comments from multiple videos at once?

Yes. Just add multiple URLs to the startUrls array. The Actor processes them concurrently for maximum speed.

What is the difference between TOP_COMMENTS and NEWEST_FIRST?

  • TOP_COMMENTS – Returns the most relevant / highest-engagement comments first (YouTube’s default ranking).
  • NEWEST_FIRST – Returns the latest comments in chronological order.

Yes. The Actor automatically cleans and normalizes all common YouTube URL formats including Shorts, youtu.be, and URLs with extra parameters.

What does contact enrichment do?

When enabled, the Actor analyzes each comment text and extracts:

  • Email addresses
  • Phone numbers
  • Websites
  • Social media profiles (Discord, Instagram, X, LinkedIn, TikTok, Telegram, etc.)
  • Lead intent phrases
  • A lead score (0–100)

This makes the Actor excellent for lead generation and outreach.

Is this a YouTube comment scraper Python solution?

Yes. The Actor is fully written in Python and can also be run locally with the Apify CLI or integrated into your own Python projects via the Apify API client.

How many comments can I scrape per video?

You can set maxComments up to 10,000 per video. Actual results depend on how many public comments the video has.

Will the Actor get blocked?

The Actor uses advanced proxy rotation and session management to minimize blocking. For high-volume usage, we recommend running it on the Apify platform.

Can I use this as a YouTube comment downloader?

Yes. The Actor functions as a complete YouTube comment downloader β€” it downloads comments in structured JSON format that you can export to CSV, Excel, or any database.

Does it scrape private or age-restricted videos?

No. Only publicly available comments from public videos are supported.

Can I export the results?

Yes. You can download the dataset in JSON, CSV, Excel, XML, or HTML format directly from the Apify platform, or access it programmatically via the API.


πŸ“Œ Notes & Limitations

  • Only public comments are scraped
  • Comments disabled on a video β†’ empty result for that video
  • Very high maxComments values may take longer depending on video popularity
  • Enrichment quality depends on what commenters write in their text
  • Respect YouTube’s Terms of Service and fair-use guidelines

🏷️ Keywords

youtube comment scraper β€’ scrape youtube comments β€’ youtube comment scraper python β€’ youtube comments scraper β€’ how to scrape youtube comments β€’ youtube comment downloader β€’ youtube video scraper β€’ yt scraper β€’ comment extractor β€’ youtube channel scraper


πŸ“„ License

This Actor is provided for legitimate research, analysis, and business use. Users are responsible for complying with YouTube’s Terms of Service and applicable laws.