logo
languageJPdown
menu

YouTube Comments Scraper

Collect public YouTube comments with commenter, engagement, video, and channel context from one or more video URLs.

概要

Turn public YouTube conversations into a structured dataset without manually opening each video and copying comments one by one. For every available top-level comment, the result keeps the comment text together with its public author handle, engagement signals, and the video and channel context needed to interpret it.

This combination is useful when a research, marketing, support, or content team needs more than an isolated quote. It lets analysts connect what viewers said with the video they reacted to, distinguish creator participation from audience participation, and retain visible engagement snapshots for later comparison.

Data notes

The data comes from publicly accessible YouTube video pages and their visible comment sections. Each record represents one top-level comment. Comment ID identifies the comment, while Video ID and Video URL identify the video that received it. Reply Count reports the number of replies shown for that comment, but reply messages are not separate records in this dataset.

Comment Time preserves YouTube's displayed text and may be relative, such as “10 years ago,” rather than a normalized timestamp. Comment Like Count, Video Like Count, Video View Count, Video Comment Count, and Channel Subscribers are text snapshots observed at collection time and can change later. Channel-owner Comment, Creator Heart, and Comments Disabled are also supplied as source text rather than converted booleans. Private, removed, restricted, or comment-disabled videos may not provide comment records.

What the results look like

Each record represents one public top-level YouTube comment and its video context.

Comment IDComment textComment timeComment like countVideo titleChannel name
UgiH2bCFcyVmAHgCoAECWant to try it out :)10 years ago1What is web scraping - Octoparse, your first web scraper!Octoparse
UgxExampleComment002This walkthrough answered my setup question.2 years ago3What is web scraping - Octoparse, your first web scraper!Octoparse

Other available fields include Commenter Handle, Commenter Avatar URL, Reply Count, Creator Heart, Video ID, Video URL, Video Description, Video View Count, Video Like Count, Video Comment Count, Video Thumbnail URL, Channel Handle, Channel URL, Channel Avatar URL, and Channel Subscribers.

Use cases

  • For audience feedback analysis, group Comment Text by Video Title to identify recurring questions, objections, praise, and requests around each video.
  • For engagement review, compare Comment Like Count and Reply Count to find comments that generated the strongest visible reaction from other viewers.
  • For creator-community analysis, use Channel-owner Comment and Creator Heart to distinguish direct creator participation from ordinary audience discussion.
  • For channel research, combine Channel Name, Channel Subscribers, Video View Count, and Video Like Count to retain the public context surrounding each collected comment.

適用範囲と境界

Each run accepts 1 to 10,000 public YouTube video URLs; an optional limit can request 20 to 5,000 comments per video, while unavailable, private, restricted, or comment-disabled videos may return no comment records.

  • 適している用途
  • Use it when you need public comment text and engagement details for one or more YouTube videos.
  • Use it to study audience questions, reactions, recurring topics, or creator interaction around public videos.
  • 適さない用途
  • Do not use it for private, removed, age-restricted, region-restricted, or otherwise inaccessible videos.
  • Do not use it when you need reply-thread records rather than top-level comment records.

失敗時の処理

作者が宣言した失敗時と再試行の動作です。連携時にはシステムプロンプトに含めることをおすすめします。

  1. 1If a run fails, retry the same small URL set once; if it fails again, split a large batch into smaller groups.
  2. 2If no records are returned, confirm that the video is public, still available, and has comments enabled before retrying.

入力

この App の呼び出しに必要なパラメータで、manifest.json の input.schema から生成されています。

フィールド業務名称必須デフォルト列挙値/制約説明
video_urlsYouTube video URLsarray<string>はい最大 10000 件["https://www.youtube.com/watch?v=xBBAD407zzU"]Public YouTube video page URLs whose comments you want to collect. Provide between 1 and 10,000 URLs per run.
comment_limitComments per videointegerいいえ20–5000Maximum number of comments to request for each video, from 20 to 5,000. When omitted, the collector decides the limit; set it explicitly when predictable depth is important.

出力

1 件のレコードのフィールド構造で、manifest.json の output.schema から生成されています。

フィールド業務名称説明
account_avatar_urlChannel avatar URLstringhttps://yt3.ggpht.com/F2Tcm5xLoN764EY8s9e35Pn3FA--I-hVTIySlAJ8EQKp6--Je1KHMUbfVBGYJfrj45hgMM7mBnY=s48-c-k-c0x00ffffff-no-rjImage address for the channel avatar observed with the video.
account_fans_countChannel subscribersstring12.5KSubscriber-count text displayed for the video channel at collection time.
account_home_urlChannel URLstringhttps://www.youtube.com/@OctoparsewebscrapingYouTube channel page address associated with the video.
account_idChannel handlestring@OctoparsewebscrapingChannel identifier or handle associated with the video.
account_nameChannel namestringOctoparseDisplay name of the channel that published the video.
author_is_channel_ownerChannel-owner commentstringfalseSource text indicating whether the comment author is the video's channel owner.
comment_countVideo comment countstring22Comment-count text displayed for the video at collection time.
comment_idComment IDstringUgiH2bCFcyVmAHgCoAECIdentifier supplied for the YouTube comment.
comment_textComment textstringWant to try it out :)Text written in the YouTube comment.
comment_timeComment timestring10 years agoComment publication time as displayed by YouTube, which may be relative text.
comment_typeComment typestringcommentSource label describing the kind of comment record.
comment_user_avatar_urlCommenter avatar URLstringhttps://yt3.ggpht.com/ytc/AIdro_kgZ5qNQYtjliDe_8XSTjzgtZ-pVBvmRF57LzBS9U7xgg=s88-c-k-c0x00ffffff-no-rjImage address for the comment author's public avatar.
comment_user_idCommenter handlestring@nanachoi9361Public YouTube handle or identifier displayed for the comment author.
comments_turned_offComments disabledstringfalseSource text indicating whether comments are turned off for the video.
content_idVideo IDstringxBBAD407zzUYouTube identifier for the video that received the comment.
content_textVideo descriptionstringSubscribe and Visit Us https://www.octoparse.com ✨What is a web crawler? ✨How does a web crawler work? ✨What are the differences between it and a web scraper?Description text displayed for the video; the prefill is an excerpt from the retained source record.
content_titleVideo titlestringWhat is web scraping - Octoparse, your first web scraper!Title displayed for the YouTube video.
content_urlVideo URLstringhttps://www.youtube.com/watch?v=xBBAD407zzUYouTube page address for the video that received the comment.
content_like_countVideo like countstring44Like-count text displayed for the video at collection time.
cover_image_urlVideo thumbnail URLstringhttps://i.ytimg.com/vi/xBBAD407zzU/hqdefault.jpgImage address for the video's thumbnail.
has_creator_heartCreator heartstringfalseSource text indicating whether the channel owner gave the comment a creator heart.
keywordSubmitted video URLstringhttps://www.youtube.com/watch?v=xBBAD407zzUInput video address associated with the collected record.
like_countComment like countstring1Like-count text displayed for the comment at collection time.
play_countVideo view countstring103538View-count text displayed for the video at collection time.
reply_countReply countstring0Number of replies shown for the comment, supplied as text.

レコード Schema

出力はレコード単位で 1 件ずつ返されます。 detail.output.idFieldHint

output.schema
{
  "type": "object",
  "properties": {
    "account_avatar_url": {
      "type": "string",
      "title": "Channel avatar URL",
      "description": "Image address for the channel avatar observed with the video.",
      "prefill": "https://yt3.ggpht.com/F2Tcm5xLoN764EY8s9e35Pn3FA--I-hVTIySlAJ8EQKp6--Je1KHMUbfVBGYJfrj45hgMM7mBnY=s48-c-k-c0x00ffffff-no-rj"
    },
    "account_fans_count": {
      "type": "string",
      "title": "Channel subscribers",
      "description": "Subscriber-count text displayed for the video channel at collection time.",
      "prefill": "12.5K"
    },
    "account_home_url": {
      "type": "string",
      "title": "Channel URL",
      "description": "YouTube channel page address associated with the video.",
      "prefill": "https://www.youtube.com/@Octoparsewebscraping"
    },
    "account_id": {
      "type": "string",
      "title": "Channel handle",
      "description": "Channel identifier or handle associated with the video.",
      "prefill": "@Octoparsewebscraping"
    },
    "account_name": {
      "type": "string",
      "title": "Channel name",
      "description": "Display name of the channel that published the video.",
      "prefill": "Octoparse"
    },
    "author_is_channel_owner": {
      "type": "string",
      "title": "Channel-owner comment",
      "description": "Source text indicating whether the comment author is the video's channel owner.",
      "prefill": "false"
    },
    "comment_count": {
      "type": "string",
      "title": "Video comment count",
      "description": "Comment-count text displayed for the video at collection time.",
      "prefill": "22"
    },
    "comment_id": {
      "type": "string",
      "title": "Comment ID",
      "description": "Identifier supplied for the YouTube comment.",
      "prefill": "UgiH2bCFcyVmAHgCoAEC"
    },
    "comment_text": {
      "type": "string",
      "title": "Comment text",
      "description": "Text written in the YouTube comment.",
      "prefill": "Want to try it out :)"
    },
    "comment_time": {
      "type": "string",
      "title": "Comment time",
      "description": "Comment publication time as displayed by YouTube, which may be relative text.",
      "prefill": "10 years ago"
    },
    "comment_type": {
      "type": "string",
      "title": "Comment type",
      "description": "Source label describing the kind of comment record.",
      "prefill": "comment"
    },
    "comment_user_avatar_url": {
      "type": "string",
      "title": "Commenter avatar URL",
      "description": "Image address for the comment author's public avatar.",
      "prefill": "https://yt3.ggpht.com/ytc/AIdro_kgZ5qNQYtjliDe_8XSTjzgtZ-pVBvmRF57LzBS9U7xgg=s88-c-k-c0x00ffffff-no-rj"
    },
    "comment_user_id": {
      "type": "string",
      "title": "Commenter handle",
      "description": "Public YouTube handle or identifier displayed for the comment author.",
      "prefill": "@nanachoi9361"
    },
    "comments_turned_off": {
      "type": "string",
      "title": "Comments disabled",
      "description": "Source text indicating whether comments are turned off for the video.",
      "prefill": "false"
    },
    "content_id": {
      "type": "string",
      "title": "Video ID",
      "description": "YouTube identifier for the video that received the comment.",
      "prefill": "xBBAD407zzU"
    },
    "content_text": {
      "type": "string",
      "title": "Video description",
      "description": "Description text displayed for the video; the prefill is an excerpt from the retained source record.",
      "prefill": "Subscribe and Visit Us https://www.octoparse.com\n✨What is a web crawler?\n✨How does a web crawler work?\n✨What are the differences between it and a web scraper?"
    },
    "content_title": {
      "type": "string",
      "title": "Video title",
      "description": "Title displayed for the YouTube video.",
      "prefill": "What is web scraping - Octoparse, your first web scraper!"
    },
    "content_url": {
      "type": "string",
      "title": "Video URL",
      "description": "YouTube page address for the video that received the comment.",
      "prefill": "https://www.youtube.com/watch?v=xBBAD407zzU"
    },
    "content_like_count": {
      "type": "string",
      "title": "Video like count",
      "description": "Like-count text displayed for the video at collection time.",
      "prefill": "44"
    },
    "cover_image_url": {
      "type": "string",
      "title": "Video thumbnail URL",
      "description": "Image address for the video's thumbnail.",
      "prefill": "https://i.ytimg.com/vi/xBBAD407zzU/hqdefault.jpg"
    },
    "has_creator_heart": {
      "type": "string",
      "title": "Creator heart",
      "description": "Source text indicating whether the channel owner gave the comment a creator heart.",
      "prefill": "false"
    },
    "keyword": {
      "type": "string",
      "title": "Submitted video URL",
      "description": "Input video address associated with the collected record.",
      "prefill": "https://www.youtube.com/watch?v=xBBAD407zzU"
    },
    "like_count": {
      "type": "string",
      "title": "Comment like count",
      "description": "Like-count text displayed for the comment at collection time.",
      "prefill": "1"
    },
    "play_count": {
      "type": "string",
      "title": "Video view count",
      "description": "View-count text displayed for the video at collection time.",
      "prefill": "103538"
    },
    "reply_count": {
      "type": "string",
      "title": "Reply count",
      "description": "Number of replies shown for the comment, supplied as text.",
      "prefill": "0"
    }
  },
  "required": [
    "comment_id"
  ],
  "additionalProperties": false
}

連携方法

この App は MCP、API、SDK、ファイルエクスポートのいずれでも連携でき、どのチャネルも同じ能力と料金を共有します。すべてのリクエストは Authorization: Bearer ヘッダーで認証し、認証情報には API Key(長期有効。Open Platform コンソールで作成)を使用します。MCP クライアントは OAuth によるキー不要のログインにも対応しています。CLI や Skill など、さらに多くの連携方法も準備中です。

MCP(Model Context Protocol)を使うと、Claude や Cursor などの AI クライアントからこの App を直接呼び出せます。クライアントと認証方式を選び、下の設定をコピーしてください。

クライアント設定

Bearer の後の値を長期有効な API Key に置き換えてください。あらゆるクライアント、CI、ヘッドレス環境で利用できます。

mcpServers config
{
  "mcpServers": {
    "YiJacobJohnRaku__youtube-comments-scraper": {
      "type": "http",
      "url": "https://mcp-v2.octoparse.com?pin=YiJacobJohnRaku/youtube-comments-scraper",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

AI に設定を任せる

設定を手作業で編集したくない場合は、インストールプロンプトをコピーして任意の AI クライアントに貼り付けてください。AI が自分のやり方でセットアップを完了します(プロンプトは AI があなたに API Key を尋ねる形になっているため、認証情報がチャット履歴や共有設定に残りません)。

detail.access.mcp.composeHint

料金

returned comment record

正常に返されたレコードの件数に応じて課金されます。失敗したタスクには課金されません。

$0.0006/

複数の課金イベントはそれぞれ独立して累計されます。詳細は各項目をご覧ください。失敗したタスクには課金されません。

今すぐ試す

パラメータを入力して実行してください。結果は実際の呼び出しによるものです。

サンプル
パラメータは送信前に input.schema で検証されます
まず必須パラメータを入力してください
$0.0006 / 件