youtube-channels について
youtube-channels は TranscriptAPI.com 経由で YouTube チャンネルのデータを取得・監視するスキルです。チャンネルの動画フィード、プロフィール、プレイリスト、コミュニティ投稿、セクションに対応し、一部はページ送りできます。
主な機能
- 01ハンドル、URL、チャンネル ID の解決
- 02最新動画とチャンネルプロフィールの取得
- 03アップロード動画、Shorts、ライブ配信の閲覧
- 04チャンネル内動画の検索
- 05プレイリスト、投稿、セクションの一覧
活用シーン
- 01チャンネルの最新アップロードの監視
- 02テーマ別のチャンネル動画検索
- 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 + sort | tab=streams | tab=shorts |
|---|---|---|---|---|
lengthText | 値あり | 値あり | 値あり(配信中は LIVE) | null |
publishedTimeText | 値あり | 値あり | 値あり(Streamed 2 years ago) | null |
viewCountText | 値あり | 値あり | 値あり(配信中は null) | 値あり |
channelId / channelTitle / channelHandle / index | 値あり | null | null | null |
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
| パラメーター | 必須 | 検証 |
|---|---|---|
channel | yes | @handle、チャンネル URL、または UC... ID |
q | yes | 1〜200 文字 |
limit | no | 1〜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
| パラメーター | 必須 | 検証 |
|---|---|---|
channel | yes | @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
| パラメーター | 必須 | デフォルト | 検証 |
|---|---|---|---|
channel | yes | — | @handle、チャンネル URL、または UC... ID |
tab | no | featured | featured(ホーム)、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/1010 | Cloudflare によるブロック | User-Agent ヘッダーを追加または修正してください |
| 404 | チャンネルが見つかりません | ハンドルまたは URL を確認してください |
| 408 | タイムアウト | 1 回再試行してください |
| 422 | チャンネル識別子が無効です | パラメータの形式を確認してください |
無料プラン:100 クレジット、300 リクエスト/分。無料のエンドポイント(resolve、latest)は認証が必要ですが、クレジットは消費しません。
コピーしてすぐ使える例
このファイル内のすべてのリクエストを、すぐに実行できる 1 行コマンドにまとめています:references/curl-examples.md