YouTube Comments Scraper: Replies, Likes & Hearts avatar

YouTube Comments Scraper: Replies, Likes & Hearts

Pricing

from $0.20 / 1,000 comments

Go to Apify Store
YouTube Comments Scraper: Replies, Likes & Hearts

YouTube Comments Scraper: Replies, Likes & Hearts

Scrape YouTube comments and replies from any video or Short, or from a channel, playlist or search. Text, author, likes, reply count, creator heart, pinned, date and exact comment total. No API key or quota. Same input and output as the popular YouTube Comments Scraper. $0.25 per 1,000 comments.

Pricing

from $0.20 / 1,000 comments

Rating

0.0

(0)

Developer

Wulfcare Data

Wulfcare Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Security

Limited permissions

Share

What does YouTube Comments Scraper do?

YouTube Comments Scraper extracts the comments and replies of YouTube videos and Shorts: the comment text, author, likes, reply count, creator heart, pinned and edited flags, date, the author's channel, and the video's exact total comment count.

  • Works with video URLs, Shorts, video IDs, channels, playlists, search URLs and plain search terms
  • Replies on request, each placed right after its comment
  • Top comments or Newest first, with an optional date cut-off
  • No YouTube API key, no quota, no login
  • $0.25 per 1,000 comments, nothing charged for errors or failed videos
  • Fast: about 1,000 comments in 20 seconds per video, several videos in parallel
  • Drop-in: the same input and output field names as the most used YouTube comments scraper on Apify, so existing runs, scripts and integrations keep working

What can I use YouTube comments for?

  • Sentiment analysis and opinion mining on videos about your brand, product or topic
  • Brand and competitor monitoring: what viewers say under reviews, ads and launches
  • Audience research for creators: questions, requests and the comments that got hearted or pinned
  • AI and LLM datasets: real conversations for RAG, classification and fine-tuning
  • Moderation and research: find spam, abuse or recurring topics across many videos

How to scrape YouTube comments

  1. Open the Input tab and paste one or more YouTube video URLs.
  2. Set Maximum comments per video (0 = all) and the sort order.
  3. Turn on Include replies if you want replies too.
  4. Click Start, then download the data as JSON, CSV, Excel or HTML, or get it by API.

Input examples

Comments of one video (fast, good first test):

{
"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }],
"maxComments": 100
}

Top comments with their replies (up to 5 replies each), from a video and a Short:

{
"startUrls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://www.youtube.com/shorts/vVTa1_hm4n4"
],
"sortCommentsBy": "TOP_COMMENTS",
"includeReplies": true,
"maxRepliesPerComment": 5,
"maxComments": 500
}

The last week's comments on a channel's 5 newest videos:

{
"startUrls": ["https://www.youtube.com/@mkbhd"],
"maxVideos": 5,
"maxComments": 0,
"sortCommentsBy": "NEWEST_FIRST",
"oldestCommentDate": "7 days"
}

What people say about a product, from the top 10 search results:

{
"searchQueries": ["iphone 17 review"],
"maxVideos": 10,
"maxComments": 200
}

Also accepted, for compatibility with other comment scrapers: sort (top / latest), maxItems (cap for the whole run), videoUrls, videoIds, and start URLs as plain strings or { "url": ... } objects.

Output example

Each comment or reply is one row:

{
"comment": "My algebra teacher said that this was a link to the test answers",
"cid": "UgwPwTibxdgqCHZxktd4AaABAg",
"author": "@bdr8823",
"videoId": "dQw4w9WgXcQ",
"pageUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"commentsCount": 2461284,
"replyCount": 664,
"voteCount": 70000,
"authorIsChannelOwner": false,
"hasCreatorHeart": false,
"type": "comment",
"replyToCid": null,
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"publishedTimeText": "7 years ago",
"publishedAt": "2019-11-05T20:45:44Z",
"isEdited": false,
"isPinned": false,
"replyLevel": 0,
"authorChannelId": "UCdi6tGxvFvTRGe-7dAn7m7w",
"authorChannelUrl": "https://www.youtube.com/@bdr8823",
"authorAvatarUrl": "https://yt3.ggpht.com/...",
"authorIsVerified": false,
"authorIsArtist": false,
"channelName": "Rick Astley",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"channelUrl": "https://www.youtube.com/@RickAstleyYT",
"input": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"order": 1,
"error": null
}

A reply has "type": "reply", "replyLevel": 1 and replyToCid set to its comment's cid.

If a video can't be read (unavailable, private, comments turned off), you get one row with error explaining why. Error rows are free.

How much does it cost to scrape YouTube comments?

$0.25 per 1,000 comments or replies ($0.00025 each). No start fee, no monthly rent, and Apify platform usage is included. Error rows are never charged. You can cap any run's spend with Maximum cost per run in the run options; the run stops cleanly when it reaches it.

Examples: 10,000 comments = $2.50. All 100 newest comments of 50 videos = $1.25.

Use it from code, Make, Zapier or an AI agent

  • API: start a run with POST https://api.apify.com/v2/acts/wulfcare~youtube-comments-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN and the input JSON as the body; the comments come back in the response.
  • Python / JavaScript: use the apify-client package, call wulfcare/youtube-comments-scraper, then read the run's dataset.
  • AI agents (MCP): add the Apify MCP server (https://mcp.apify.com) to Claude, ChatGPT, Cursor or any MCP client and ask, e.g., "get the top 200 comments of this YouTube video and summarize the main complaints". The default input finishes in a few seconds.
  • No-code: Make, Zapier, n8n, Google Sheets, Slack and webhooks via Apify integrations.

FAQ

Do I need a YouTube API key or a Google account? No. It reads the same public comments anyone sees on YouTube, logged out. There is no YouTube Data API quota.

How many comments can I get? All of them: set Maximum comments per video to 0. YouTube itself shows comments in pages of 20, so very large videos (100k+ comments) take a while; split them over several runs or use a date cut-off if you only need recent ones.

Are the dates exact? YouTube shows comment dates only as "3 days ago" / "2 years ago". publishedTimeText is that text, and publishedAt is the matching approximate date-time (exact to the day for recent comments, to the year for old ones).

Are like counts exact? YouTube rounds large like counts (70K, 1.1M) and the scraper turns them into numbers (70000, 1100000). Counts under 1,000 are exact. The video's total comment count (commentsCount) is exact.

Does it work for Shorts and live streams? Yes. Shorts work the same way as videos, and live streams (live now or finished) too, as long as the creator kept comments on. Many channels turn comments off on streams; you then get one free error row saying so. Live chat messages are not comments and are not included.

Can I get comments from every video of a channel? Yes: put the channel URL in YouTube URLs and set Maximum videos per channel (newest videos first). Add /shorts to the channel URL for its Shorts.

Is scraping YouTube comments legal? It collects publicly visible data. Comments can contain personal data (names, handles), so make sure your use follows GDPR and similar laws in your country, and YouTube's terms. If in doubt, consult a lawyer.

Found a bug or need a field? Open an issue on the Issues tab; replies usually within a day.