💥 YouTube Comments Scraper pro 💫 avatar
💥 YouTube Comments Scraper pro 💫

Pricing

$1.50 / 1,000 results

Go to Apify Store
💥 YouTube Comments Scraper pro 💫

💥 YouTube Comments Scraper pro 💫

Developed by

Alpha Scraper

Alpha Scraper

Maintained by Community

[🔥Special🔥] Here $1.5 for 100 results .⚡ Get a super-fast, dependable scraper that extracts cid, type, publishedTimeText, comment, author, pageUrl — and much more — in seconds! ⏱️ Boost your workflow, save hours, and power up your data game today! 🚀✨

5.0 (1)

Pricing

$1.50 / 1,000 results

0

2

2

Last modified

21 hours ago

🎥 YouTube Comments Scraper

Quickly extract structured comment data from one or more YouTube videos — including comment text, author info, timestamps, votes, and raw fields.

Built to run as an Apify actor. This README shows a summary, inputs, outputs, examples, troubleshooting tips and proxy recommendations. 🔧


✨ Summary

This actor scrapes comments from YouTube video URLs and returns structured JSON objects per video, including:

  • 💬 Comments (text, id, author, replies, likes/votes, timestamps)
  • 👤 Author info (author name, author id, author url, avatar if available)
  • 🧾 Video metadata (video id, video url, title, best-effort commentsCount)
  • 📦 Raw payload — the original raw comment object is preserved for every comment so you don’t lose any fields.

Key points:

  • Input: one or more YouTube video URLs (startUrls).
  • Optional: maxComments to limit how many comments per video are scraped.
  • Optional: getAllComments to ignore maxComments and fetch all available comments.
  • Optional: sortBytop (highest votes first) or newest (most recent first).

🚀 Highlights

  • ⚡ Fast, structured output — one JSON object per video run.
  • 🧩 Preserves full raw comment object for custom fields.
  • 🎯 Exact maxComments support (when getAllComments is false) and getAllComments toggle.
  • 🌐 Proxy-aware (Apify Proxy recommended for stability) — use RESIDENTIAL for best results.
  • 🔁 Supports sorting by top or newest.

🛠️ Example Input

{
"startUrls": [
"https://www.youtube.com/watch?v=wT4HcYAeV5U",
"https://www.youtube.com/watch?v=H6l0q4l2NLo"
],
"maxComments": 100,
"sortBy": "top",
}

📤 Output

For every video the actor writes results both to the Apify dataset and to container files:

  • output_<videoId>.json — full JSON object for the video (including comments array).
  • comments_<videoId>.jsonl — newline-delimited JSON with one comment per line (good for streaming).
  • Apify dataset entry for each video — downloadable from the Apify Console. ☁️

Example output (one video object)

{
"videoUrl": "https://www.youtube.com/watch?v=wT4HcYAeV5U",
"videoId": "wT4HcYAeV5U",
"title": "YouTube",
"commentsCount": null,
"comments": [
{
"cid": "Ugxl_IUyS2PaN9t-_wV4AaABAg",
"type": "comment",
"publishedTimeText": "7 hours ago",
"publishedTimeTs": 1759729079.617027,
"comment": "Madhubanti + Rashmika = 🔥",
"author": "@maddockfilmsindia",
"authorId": null,
"authorUrl": null,
"authorThumbnail": null,
"replyCount": 7,
"voteCount": 5,
"isHearted": false,
"isEdited": false,
"raw": {
"cid": "Ugxl_IUyS2PaN9t-_wV4AaABAg",
"text": "Madhubanti + Rashmika = 🔥",
"time": "7 hours ago",
"author": "@maddockfilmsindia",
"channel": "UCGgi8DSEirlGCQ3B3bO5BsQ",
"votes": "5",
"replies": "7",
"photo": "https://yt3.ggpht.com/bhYAlBYCO9k-CfeGL42c3db-vBGi-3vLwQFgXWrQgHAstpaqE5LxHdIHDYdJ0RVje0-v5j7RLQ=s88-c-k-c0x00ffffff-no-rj",
"heart": false,
"reply": false,
"time_parsed": 1759729079.616943
},
"videoId": "H6l0q4l2NLo",
"pageUrl": "https://www.youtube.com/watch?v=H6l0q4l2NLo"
},
{
"cid": "UgxR7iZmrx-cvVYyIZJ4AaABAg",
"type": "comment",
"publishedTimeText": "10 hours ago",
"publishedTimeTs": 1759718280.088529,
"comment": "This song honestly has the soul of Aaj Ki Raat.\nFeels like Sachin–Jigar were asked to recreate that same vibe — and they pulled it off.\nJust try singing Aaj Ki Raat over this track and you’ll get exactly what I mean",
"author": "@saho_x",
"authorId": null,
"authorUrl": null,
"authorThumbnail": null,
"replyCount": 1,
"voteCount": 4,
"isHearted": false,
"isEdited": false,
"raw": {
"cid": "UgxR7iZmrx-cvVYyIZJ4AaABAg",
"text": "This song honestly has the soul of Aaj Ki Raat.\nFeels like Sachin–Jigar were asked to recreate that same vibe — and they pulled it off.\nJust try singing Aaj Ki Raat over this track and you’ll get exactly what I mean",
"time": "10 hours ago",
"author": "@saho_x",
"channel": "UCnVC00Vv0foM0EKkz6Y1iWQ",
"votes": "4",
"replies": "1",
"photo": "https://yt3.ggpht.com/TUTguFWKoy3k8SUTycBbxzhJ3T7B6enA0MGQqsE77VSCl8YeL4p8dK9iZu1QZ5gqGj_IWqN3=s88-c-k-c0x00ffffff-no-rj",
"heart": false,
"reply": false,
"time_parsed": 1759718280.088388
},
"videoId": "H6l0q4l2NLo",
"pageUrl": "https://www.youtube.com/watch?v=H6l0q4l2NLo"
},
{
"cid": "UgyDoXT2Qt9yi8s_K0V4AaABAg",
"type": "comment",
"publishedTimeText": "16 hours ago",
"publishedTimeTs": 1759696680.562509,
"comment": "Thama Massive Hit Hai 💯🔥",
"author": "@KAMALBOLTAHAI",
"authorId": null,
"authorUrl": null,
"authorThumbnail": null,
"replyCount": 0,
"voteCount": 2,
"isHearted": false,
"isEdited": false,
"raw": {
"cid": "UgyDoXT2Qt9yi8s_K0V4AaABAg",
"text": "Thama Massive Hit Hai 💯🔥",
"time": "16 hours ago",
"author": "@KAMALBOLTAHAI",
"channel": "UC7QK8aH2kx8kV3ZDb78gudg",
"votes": "2",
"replies": "",
"photo": "https://yt3.ggpht.com/-dSC3L4wVQlPFXaE1DQ0pa861J_1gJmKr0whQ_OBAVuC_du6rp3UNXtb9mIImMk2akwNfj1-=s88-c-k-c0x00ffffff-no-rj",
"heart": false,
"reply": false,
"time_parsed": 1759696680.562357
},
"videoId": "H6l0q4l2NLo",
"pageUrl": "https://www.youtube.com/watch?v=H6l0q4l2NLo"
},
{
"cid": "UgxjmCCpexYiRfqxtOZ4AaABAg",
"type": "comment",
"publishedTimeText": "52 minutes ago",
"publishedTimeTs": 1759751159.068628,
"comment": "🗿AAJ KI RAAT 2.0✅",
"author": "@SANJAY_GALAXY_369",
"authorId": null,
"authorUrl": null,
"authorThumbnail": null,
"replyCount": 0,
"voteCount": 1,
"isHearted": false,
"isEdited": false,
"raw": {
"cid": "UgxjmCCpexYiRfqxtOZ4AaABAg",
"text": "🗿AAJ KI RAAT 2.0✅",
"time": "52 minutes ago",
"author": "@SANJAY_GALAXY_369",
"channel": "UC1aOBn-22LWDKOXIEjWpaBQ",
"votes": "1",
"replies": "",
"photo": "https://yt3.ggpht.com/PgPHT8B88ib2qteQGAaQe_zQWPs5D4hQHM6xlyBijbL0paF_AUO6VPdj0eH49QCT5o_5JiVa=s88-c-k-c0x00ffffff-no-rj",
"heart": false,
"reply": false,
"time_parsed": 1759751159.068529
},
"videoId": "H6l0q4l2NLo",
"pageUrl": "https://www.youtube.com/watch?v=H6l0q4l2NLo"
},
{
"cid": "UgxieB4nLFkp3lMGhY94AaABAg",
"type": "comment",
"publishedTimeText": "7 hours ago",
"publishedTimeTs": 1759729079.616322,
"comment": "Aaj Ki Raat 2.0 ❤",
"author": "@maddockfilmsindia",
"authorId": null,
"authorUrl": null,
"authorThumbnail": null,
"replyCount": 0,
"voteCount": 1,
"isHearted": false,
"isEdited": false,
"raw": {
"cid": "UgxieB4nLFkp3lMGhY94AaABAg",
"text": "Aaj Ki Raat 2.0 ❤",
"time": "7 hours ago",
"author": "@maddockfilmsindia",
"channel": "UCGgi8DSEirlGCQ3B3bO5BsQ",
"votes": "1",
"replies": "",
"photo": "https://yt3.ggpht.com/bhYAlBYCO9k-CfeGL42c3db-vBGi-3vLwQFgXWrQgHAstpaqE5LxHdIHDYdJ0RVje0-v5j7RLQ=s88-c-k-c0x00ffffff-no-rj",
"heart": false,
"reply": false,
"time_parsed": 1759729079.616239
},
"videoId": "H6l0q4l2NLo",
"pageUrl": "https://www.youtube.com/watch?v=H6l0q4l2NLo"
},
]
"scrapedCount": 1
}

📑 Typical fields

FieldDescription
videoUrlInput video URL
videoIdYouTube video ID
titleBest-effort page title (if available)
commentsCountBest-effort comment count (may be null)
commentsArray of comment objects
comments[].cidComment unique id
comments[].commentComment text
comments[].authorAuthor display name
comments[].authorIdAuthor channel id (if available)
comments[].authorUrlAuthor channel URL (if available)
comments[].authorThumbnailAuthor avatar URL (if available)
comments[].publishedTimeTextHuman readable time (e.g. "2 days ago")
comments[].publishedTimeTsParsed timestamp (when parseable)
comments[].replyCountNumber of replies
comments[].voteCountLikes / votes count (if available)
comments[].isHeartedWhether channel owner hearted the comment
comments[].isEditedWhether the commenter edited the comment
comments[].rawFull raw object returned by underlying parser

🧩 Troubleshooting

IssuePossible CauseFix / Tip
Empty datasetWrong video URL or comments disabledVerify URLs and check video has comments; try another video.
Fewer comments than expectedmaxComments limit or generator yielded fewerSet getAllComments=true or increase maxComments
commentsCount is nullNot present in page HTMLUse comments[].raw to inspect raw payload for count
Partial metadataFields hidden or loaded dynamicallyCheck raw field; consider retries with proxy
Rate limiting / 429 errorsToo many requests without proxyUse Apify Proxy RESIDENTIAL or reduce concurrency