Youtube Comment Scraper avatar

Youtube Comment Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Youtube Comment Scraper

Youtube Comment Scraper

Scrape YouTube video comments with full metadata. Extracts comment text, author info, likes, timestamps, pinned/hearted status, and reply threads. Supports sorting by Top comments or Newest first.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(5)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

17 days ago

Last modified

Share

Scrape YouTube video comments with full metadata including author info, likes, timestamps, pinned/hearted status, and reply threads. Supports sorting by Top comments or Newest first.

Input

FieldTypeDefaultDescription
videoUrlsarrayrequiredYouTube video URLs, short links (youtu.be), shorts URLs, or plain video IDs
maxCommentsinteger100Max top-level comments per video (1–50,000). Replies don't count toward this limit
includeRepliesbooleantrueWhether to fetch reply threads for each comment
maxRepliesPerCommentinteger5Max replies to fetch per comment (0–100)
sortBystring"top"Sort order: "top" (most relevant) or "newest" (chronological)

Supported URL Formats

  • https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • https://youtu.be/dQw4w9WgXcQ
  • https://www.youtube.com/shorts/dQw4w9WgXcQ
  • https://www.youtube.com/embed/dQw4w9WgXcQ
  • https://www.youtube.com/live/dQw4w9WgXcQ
  • dQw4w9WgXcQ (bare video ID)

Example Input

{
"videoUrls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ"
],
"maxComments": 100,
"includeReplies": true,
"maxRepliesPerComment": 5,
"sortBy": "top"
}

Output

Each row in the dataset is either a top-level comment (replyDepth: 0) or a reply (replyDepth: 1). Replies appear immediately after their parent comment.

FieldTypeDescription
commentIdstringUnique comment identifier
textstringComment text content
authorNamestringAuthor's display name
authorChannelIdstringAuthor's YouTube channel ID
authorChannelUrlstringAuthor's channel URL
authorProfileImageUrlstringAuthor's profile image URL
authorIsChannelOwnerbooleanWhether the author is the video's channel owner
likeCountintegerNumber of likes on the comment
replyCountintegerNumber of replies (top-level comments only)
publishedTimeTextstringRelative publish time (e.g., "2 days ago")
isHeartedbooleanWhether the creator hearted this comment
isPinnedbooleanWhether this comment is pinned
isReplybooleanWhether this is a reply (true) or top-level comment (false)
parentCommentIdstring/nullParent comment ID (replies only, null for top-level)
replyDepthinteger0 for top-level comments, 1 for replies
videoIdstringYouTube video ID
videoUrlstringFull video URL
videoTitlestringVideo title
videoChannelNamestringVideo channel name
videoChannelIdstringVideo channel ID
scrapedAtstringISO 8601 timestamp of when the data was scraped

Example Output

{
"commentId": "UgxB...",
"text": "Great video!",
"authorName": "John Doe",
"authorChannelId": "UCxxx...",
"authorChannelUrl": "https://www.youtube.com/@johndoe",
"authorProfileImageUrl": "https://yt3.ggpht.com/...",
"authorIsChannelOwner": false,
"likeCount": 42,
"replyCount": 3,
"publishedTimeText": "2 days ago",
"isHearted": false,
"isPinned": false,
"isReply": false,
"parentCommentId": null,
"replyDepth": 0,
"videoId": "dQw4w9WgXcQ",
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"videoTitle": "Rick Astley - Never Gonna Give You Up",
"videoChannelName": "Rick Astley",
"videoChannelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"scrapedAt": "2026-02-11T12:00:00.000000+00:00"
}

Cost

  • Average run: ~$0.01–0.05 per video (100 comments)
  • Uses HTTP requests (no browser) for comment fetching, keeping costs low
  • Reply fetching adds minimal cost per reply thread