youtube-data について
youtube-dataは、TranscriptAPI.com経由でYouTubeのデータを取得するエージェント向けスキルです。文字起こし、メタデータ、検索、チャンネルやプレイリストの情報を扱います。
主な機能
- 01文字起こしと動画メタデータの取得
- 02動画、チャンネル、プレイリストの検索
- 03チャンネル動画、投稿、プロフィールの照会
- 04プレイリスト動画の一覧取得
- 05チャンネルとプレイリストのページ取得
活用シーン
- 01テーマに合う動画の検索
- 02チャンネル投稿と統計の確認
- 03文字起こしや詳細メタデータの調査
- 04チャンネル投稿やプレイリストの取得
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zeropointrepo/ youtube-skills --skill youtube-dataインストール後、Claude Code で/youtube-dataを入力して読み込まれたか確認します。
同梱ファイルreferences/auth-setup.mdreferences/curl-examples.md
詳細
YouTube データ
TranscriptAPI.com 経由で YouTube データにアクセスします。Google の YouTube Data API に代わる軽量な選択肢です。
セットアップ
$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。最新のパラメーターとスキーマについては、こちらを参照してください。
動画データ(文字起こし+メタデータ)— 1 クレジット
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_URL&format=json&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
レスポンス:
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": [
{ "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 }
],
"metadata": {
"title": "Rick Astley - Never Gonna Give You Up",
"author_name": "Rick Astley",
"author_url": "https://www.youtube.com/@RickAstley",
"thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"
}
}
動画情報と詳細なメタデータ
文字起こしのクレジットを消費する前に言語を確認する(無料)、または視聴回数/高評価数、公開日、説明、再生時間、タグを取得します(1 クレジット)。
GET https://transcriptapi.com/api/v2/youtube/info?video_url=VIDEO_URL
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
GET https://transcriptapi.com/api/v2/youtube/video/metadata?video_url=VIDEO_URL&include=details,related
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
video/metadata は、title、viewCountText、likeCountText、publishDate、description、descriptionLinks、channel、thumbnails に加えて、details(再生時間、カテゴリ、タグ、字幕トラック)と、include で指定した場合の関連動画 related を返します。
名称:
/video/metadataは以前/video/infoでした。古いパスも引き続き動作しますが、非推奨です。
検索データ — 1 ページあたり 1 クレジット
GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
type には playlist と movie も指定できます。最初のページのみを対象とし、sort(relevance/views)、upload_date(hour/today/week/month/year)、duration(short/medium/long)、features(例:hd,subtitles,cc)を追加できます。
動画の結果フィールド: videoId、title、channelId、channelTitle、channelHandle、channelVerified、lengthText、viewCountText、publishedTimeText、hasCaptions、thumbnails
チャンネルの結果フィールド(type=channel):channelId、title、handle、url、description、subscriberCount、verified、rssUrl、thumbnails
チャンネルデータ
チャンネルのエンドポイントは channel を受け付けます。@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
返される値:{"channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED"}
最新の動画 15 件と正確な統計情報(無料):
GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
返される値:channel 情報、videoId、title、published(ISO)、viewCount(正確な数値)、description、thumbnail を含む results 配列
チャンネルのすべての動画(ページネーション、1 ページあたり 1 クレジット):
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
1 ページあたり約 100 件の動画と、ページネーション用の continuation_token が返されます。tab は shorts または streams も受け付けます。ページネーションでは、同じ tab を繰り返し指定してください。
並べ替え。 channel/videos に sort=latest、popular、または oldest を追加すると、チャンネルの動画を希望する順序で取得できます。たとえば、人気の高い動画を先に表示できます。並べ替えたページでは約 30 件の動画が返されます(並べ替えなしのページでは約 100 件)。ページごとのクレジット消費量はどちらも同じ 1 クレジットです。
ページネーションでは、各リクエストで同じ sort を指定してください。
項目のフィールド。 各項目には members_only が含まれます。この値は YouTube で「メンバー限定」と表示されている場合にのみ true になり、該当する項目には viewCountText がありません。tab=streams の項目には lengthText と publishedTimeText(例:Streamed 2 years ago)が含まれます。tab=shorts では、YouTube の Shorts グリッドにはどちらも表示されないため、両方とも null になります。チャンネルタブのフィード(sort を指定した tab=videos、tab=shorts、tab=streams)では、channelId、channelTitle、channelHandle、index は null になります。
チャンネル内を検索(1 クレジット):
GET https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=QUERY&limit=30
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
チャンネルのプロフィール(1 クレジット):
GET https://transcriptapi.com/api/v2/youtube/channel/info?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
返される値:title、handle、verified、subscriberCountText、videoCountText、description、tags、thumbnails、banners、availableTabs
チャンネルの再生リスト(1 ページあたり 1 クレジット):
GET https://transcriptapi.com/api/v2/youtube/channel/playlists?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
返される値:results(playlistId、title、url、videoCountText、thumbnails)、continuation_token、has_more
チャンネルのコミュニティ投稿(1 ページあたり 1 クレジット):
GET https://transcriptapi.com/api/v2/youtube/channel/posts?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
返される値:results(postId、authorName、text、publishedTimeText、voteCountText、attachment)、continuation_token、has_more
チャンネルのキュレーション済みセクション(1 クレジット):
GET https://transcriptapi.com/api/v2/youtube/channel/sections?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
チャンネル独自の順序で、動画/再生リスト/ショート動画/おすすめチャンネルの棚が返されます。tab は podcasts または releases も受け付けます。
再生リストデータ — 1 ページあたり 1 クレジット
playlist には、YouTube の再生リスト URL または再生リスト ID を指定します。
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
返される値:results(動画)、playlist_info(title、numVideos、ownerName、viewCount)、continuation_token、has_more
クレジット消費量
| エンドポイント | 消費量 | 返されるデータ |
|---|---|---|
| transcript | 1 | 字幕全文+メタデータ |
| info | 無料 | 基本的なメタデータ+言語 |
| video/metadata | 1 | 詳細なメタデータ(詳細/関連情報を含む) |
| search | 1/ページ | 動画/チャンネル/再生リスト/映画の詳細 |
| channel/resolve | 無料 | チャンネル ID の対応情報 |
| channel/info | 1 | チャンネルのプロフィール |
| channel/latest | 無料 | 動画 15 件+正確な統計情報 |
| channel/videos | 1/ページ | 並べ替えなしで約 100 件/ページ、並べ替えありで約 30 件/ページ |
| channel/search | 1 | 検索クエリに一致する動画 |
| channel/playlists | 1/ページ | チャンネルの再生リスト |
| channel/posts | 1/ページ | コミュニティタブのコンテンツ |
| channel/sections | 1 | キュレーション済みのホームページの棚 |
| playlist/videos | 1/ページ | 1 ページあたり 100 件の動画 |
エラー
| コード | 意味 | 対処 |
|---|---|---|
| 401 | API キーが無効です | キーを確認してください |
| 402 | クレジットがありません | transcriptapi.com/billing |
| 403/1010 | Cloudflare によるブロック | User-Agent ヘッダーを追加または修正してください |
| 404 | 見つかりません | リソースが存在しません |
| 408 | タイムアウト | 1 回再試行してください |
| 422 | 検証エラー | パラメーターの形式を確認してください |
無料プラン:100 クレジット、毎分 300 リクエスト。
コピー&ペースト用の例
このファイル内のすべてのリクエストを、すぐに実行できる 1 行形式で掲載しています:references/curl-examples.md