mcpField
Y
youtube-channels

youtube-channels

github.com/zeropointrepo生産性1.1k755 回インストール5 週間前に更新
リポジトリ

youtube-channels について

youtube-channels は TranscriptAPI.com 経由で YouTube チャンネルのデータを取得・監視するスキルです。チャンネルの動画フィード、プロフィール、プレイリスト、コミュニティ投稿、セクションに対応し、一部はページ送りできます。

主な機能

  1. 01ハンドル、URL、チャンネル ID の解決
  2. 02最新動画とチャンネルプロフィールの取得
  3. 03アップロード動画、Shorts、ライブ配信の閲覧
  4. 04チャンネル内動画の検索
  5. 05プレイリスト、投稿、セクションの一覧

活用シーン

  1. 01チャンネルの最新アップロードの監視
  2. 02テーマ別のチャンネル動画検索
  3. 03プレイリストとコミュニティ投稿の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zeropointrepo/youtube-skills --skill youtube-channels

インストール後、Claude Code で/youtube-channelsを入力して読み込まれたか確認します。

同梱ファイルreferences/auth-setup.mdreferences/curl-examples.md

詳細

YouTube チャンネル

TranscriptAPI.com 経由の YouTube チャンネルツールです。

セットアップ

$TRANSCRIPT_API_KEY が設定されていない場合は、references/auth-setup.md を読み、指示に従ってキーを取得して保存してください。

必須ヘッダー

すべてのリクエストに、次の2つのヘッダーが必要です。

  • Authorization: Bearer $TRANSCRIPT_API_KEY
  • User-Agent: わかる場合は、エージェント名とバージョン(例:HermesAgent/0.11.0、ClaudeCode/1.0)。バージョンは省略可能で、エージェント名だけでもかまいません。このヘッダーを省略したり、単なるデフォルト値を送信したりしないでください。Cloudflare が 403(エラーコード 1010)を返し、リクエストをブロックします。

API リファレンス

OpenAPI 仕様の全文:transcriptapi.com/openapi.json — 最新のパラメーターとスキーマについては、こちらを参照してください。

すべてのチャンネルエンドポイントは柔軟な入力に対応しており、@handle、チャンネル URL、または UC... チャンネル ID を指定できます。事前に解決する必要はありません。

GET /api/v2/youtube/channel/resolve — 無料

@handle、URL、または UC... ID を正規のチャンネル ID に変換します。

GET https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
パラメーター必須検証条件
inputはい1~200 文字 — @handle、URL、または UC... ID

レスポンス:

{ "channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED" }

入力がすでに UC[a-zA-Z0-9_-]{22} の形式の場合は、すぐに返します。

GET /api/v2/youtube/channel/latest — 無料

RSS 経由で最新の動画15件を、正確な統計情報とともに取得します。

GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
パラメーター必須検証条件
channelはい@handle、チャンネル URL、または UC... ID

レスポンス:

{
  "channel": {
    "channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",
    "title": "TED",
    "author": "TED",
    "url": "https://www.youtube.com/channel/UCsT0YIqwnpJCM-mx7-gSA4Q",
    "published": "2006-04-17T00:00:00Z"
  },
  "results": [
    {
      "videoId": "abc123xyz00",
      "title": "Latest Video Title",
      "channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",
      "author": "TED",
      "published": "2026-01-30T16:00:00Z",
      "updated": "2026-01-31T02:00:00Z",
      "link": "https://www.youtube.com/watch?v=abc123xyz00",
      "description": "Full video description...",
      "thumbnail": { "url": "https://i1.ytimg.com/vi/.../hqdefault.jpg" },
      "viewCount": "2287630",
      "starRating": {
        "average": "4.92",
        "count": "15000",
        "min": "1",
        "max": "5"
      }
    }
  ],
  "result_count": 15
}

チャンネルのモニタリングに最適です。無料で、正確な視聴回数と ISO 形式のタイムスタンプを取得できます。

GET /api/v2/youtube/channel/videos — 1ページあたり1クレジット

チャンネルのフィードをページ分割して取得します(1ページあたり約100件)。tab でアップロード動画(デフォルト)、ショート動画、ライブ配信を選択できます。また、任意の sort を指定すると、動画タブを新しい順、人気順、古い順に並べ替えられます。

# First page
GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&tab=videos
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# Most-viewed first (channel Videos tab, ~30 per page)
GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&sort=popular
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# Next pages (repeat the same tab AND sort)
GET https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN&sort=popular
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
パラメーター必須検証条件
channel条件付き@handle、チャンネル URL、または UC... ID
tabいいえvideos(デフォルト)、shorts、または streams
sortいいえlatest、popular、または oldest(アップロードフィードの場合は省略)
continuation条件付き空でない値(次のページ)

channel または continuation のどちらか一方だけを指定してください。ページ分割して取得する場合は、すべてのページで同じ tab および sort を渡してください。

並べ替え。 channel/videos に sort=latest、popular、または oldest を追加すると、たとえば最も人気のあるアップロード動画を先頭にするなど、チャンネルの動画を任意の順序で取得できます。並べ替えたページでは約30件の動画が返されます(並べ替えなしのページでは約100件)。どちらのページも同じ1クレジットです。

ページを取得する際は、リクエストごとに同じ sort を送信してください。

フィードごとの項目フィールド:

フィールドuploads(sort なし)tab=videos + sorttab=streamstab=shorts
lengthText値あり値あり値あり(配信中は LIVE)null
publishedTimeText値あり値あり値あり(Streamed 2 years ago)null
viewCountText値あり値あり値あり(配信中は null)値あり
channelId / channelTitle / channelHandle / index値ありnullnullnull
members_only常に falseメンバー限定動画では trueメンバー限定配信では true常に false

members_only が true になるのは、YouTube がその項目に「メンバー限定」バッジを表示している場合だけです。このような項目には viewCountText がありません。YouTube はメンバー限定コンテンツの視聴回数を公開していないためです。

レスポンス:

{
  "results": [{
    "videoId": "abc123xyz00",
    "title": "Video Title",
    "channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",
    "channelTitle": "TED",
    "channelHandle": "@TED",
    "lengthText": "15:22",
    "viewCountText": "3.2M views",
    "publishedTimeText": "2 years ago",
    "thumbnails": [...],
    "index": "0",
    "members_only": false
  }],
  "playlist_info": {"title": "Uploads from TED", "numVideos": "5000", "ownerName": "TED"},
  "continuation_token": "4qmFsgKlARIYVVV1...",
  "has_more": true
}

has_more: false になるまで、continuation を指定してリクエストを続けてください。

GET /api/v2/youtube/channel/search — 1 credit

特定のチャンネル内を検索します。

GET https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=climate+change&limit=30
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
パラメーター必須検証
channelyes@handle、チャンネル URL、または UC... ID
qyes1〜200 文字
limitno1〜50(デフォルト 30)

GET /api/v2/youtube/channel/info — 1 credit

チャンネルのプロフィールです。タイトル、ハンドル、認証済みフラグ、登録者数/動画数、説明、タグ、サムネイル、バナー、および公開しているタブが含まれます。

GET https://transcriptapi.com/api/v2/youtube/channel/info?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
パラメーター必須検証
channelyes@handle、チャンネル URL、または UC... ID

レスポンス:

{
  "channelId": "UCAuUUnT6oDeKwE6v1NGQxug",
  "title": "TED",
  "handle": "@TED",
  "verified": true,
  "subscriberCountText": "23.8M subscribers",
  "videoCountText": "4,300 videos",
  "description": "The TED Talks channel features ...",
  "tags": ["TED", "TED Talks"],
  "thumbnails": [...],
  "banners": [...],
  "availableTabs": ["videos", "shorts", "playlists", "community"]
}

件数は表示用文字列で、YouTube が非表示にしている場合は null になります。0 にはなりません。channel/sections または channel/videos を tab 付きで呼び出す前に、availableTabs を確認してください。

GET /api/v2/youtube/channel/playlists — 1 credit/page

チャンネルに表示されるプレイリストの一覧です。playlist/videos に渡すプレイリスト ID を見つけるのに便利です。

GET https://transcriptapi.com/api/v2/youtube/channel/playlists?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
パラメーター必須検証
channel条件付き@handle、チャンネル URL、または UC... ID
continuation条件付き空でないこと(次のページ)

channel と continuation のどちらか一方だけを指定し、両方は指定しないでください。results(playlistId、title、url、videoCountText、thumbnails)、continuation_token、has_more を返します。

GET /api/v2/youtube/channel/posts — 1 credit/page

チャンネルのコミュニティ(投稿タブ)コンテンツの一覧です。テキスト、公開日時、いいね数、および添付ファイル(画像、動画、プレイリスト、アンケート)が含まれます。

GET https://transcriptapi.com/api/v2/youtube/channel/posts?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
パラメーター必須検証
channel条件付き@handle、チャンネル URL、または UC... ID
continuation条件付き空でないこと(次のページ)

channel と continuation のどちらか一方だけを指定し、両方は指定しないでください。コミュニティタブのないチャンネルでは、エラーではなく空の results リストが返されます。

GET /api/v2/youtube/channel/sections — 1 credit

チャンネルのホームページ(または podcasts/releases ページ)にあるキュレーション済みの棚です。各棚には動画、プレイリスト、ショート動画、または注目チャンネルが、チャンネル独自の順序で表示されます。ページ分割はありません。

GET https://transcriptapi.com/api/v2/youtube/channel/sections?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
パラメーター必須デフォルト検証
channelyes—@handle、チャンネル URL、または UC... ID
tabnofeaturedfeatured(ホーム)、podcasts、releases

podcasts と releases は、それらを持つチャンネルにのみ存在します(それ以外は空の results が返されます。まず channel/info の availableTabs を確認してください)。

一般的なワークフロー

# 1. Check latest uploads (free — pass @handle directly)
GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# 2. Get transcript of recent video
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

エラー

コード意味対応
400無効なパラメータの組み合わせチャンネルと継続のいずれか一方のみ指定するか、どちらも指定しないでください
402クレジットがありませんtranscriptapi.com/billing
403/1010Cloudflare によるブロックUser-Agent ヘッダーを追加または修正してください
404チャンネルが見つかりませんハンドルまたは URL を確認してください
408タイムアウト1 回再試行してください
422チャンネル識別子が無効ですパラメータの形式を確認してください

無料プラン:100 クレジット、300 リクエスト/分。無料のエンドポイント(resolve、latest)は認証が必要ですが、クレジットは消費しません。

コピーしてすぐ使える例

このファイル内のすべてのリクエストを、すぐに実行できる 1 行コマンドにまとめています:references/curl-examples.md

コメント