youtube-search について
youtube-searchは、TranscriptAPI.com経由でYouTubeを検索し、選んだ動画の字幕を取得するエージェントスキルです。動画、チャンネル、再生リスト、映画の横断検索と、チャンネル内検索に対応します。
主な機能
- 01動画、チャンネル、再生リスト、映画の検索
- 02日付、長さ、機能による結果の絞り込み
- 03関連度または再生回数による動画の並べ替え
- 04チャンネル内の動画検索
- 05検索結果から動画の字幕を取得
活用シーン
- 01テーマに関する最近の動画を探す
- 02検索語から再生リストやチャンネルを見つける
- 03チャンネル内で特定テーマの動画を探す
- 04選んだ検索結果の字幕を取得する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zeropointrepo/ youtube-skills --skill youtube-searchインストール後、Claude Code で/youtube-searchを入力して読み込まれたか確認します。
同梱ファイル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 — 最新のパラメーターとスキーマについては、こちらを参照してください。
GET /api/v2/youtube/search — 1 クレジット/ページ
YouTube 全体を検索し、動画、チャンネル、再生リスト、映画を探します。
GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
| Param | Required | Default | Validation |
|---|---|---|---|
q | 条件付き | — | 1~200 文字(前後の空白を除去)、最初のページ |
type | いいえ | video | video、channel、playlist、movie(最初のページ) |
sort | いいえ | relevance | relevance または views(最初のページ) |
upload_date | いいえ | — | hour、today、week、month、year — 動画、最初のページ |
duration | いいえ | — | short(<4m)、medium(4-20m)、long(>20m) — 動画、最初のページ |
features | いいえ | — | カンマ区切り:hd、subtitles、cc、live、4k、hdr など |
limit | いいえ | 20 | 1~50 |
continuation | 条件付き | — | 前のレスポンスから取得したトークン(後続ページ) |
q(最初のページ)または continuation(次のページ)のいずれか一方だけを指定してください。トークンにはフィルターがすでに含まれています。sort/upload_date/duration/features が適用されるのは最初のページのみです。
最近の再生回数が最も多い動画を検索する:
GET https://transcriptapi.com/api/v2/youtube/search?q=innovation&sort=views&duration=long&upload_date=month
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
あるトピックの再生リストを検索する:
GET https://transcriptapi.com/api/v2/youtube/search?q=react+tutorial&type=playlist
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
動画検索のレスポンス:
{
"results": [
{
"type": "video",
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"channelTitle": "Rick Astley",
"channelHandle": "@RickAstley",
"channelVerified": true,
"lengthText": "3:33",
"viewCountText": "1.5B views",
"publishedTimeText": "14 years ago",
"hasCaptions": true,
"thumbnails": [{ "url": "...", "width": 120, "height": 90 }]
}
],
"result_count": 20
}
チャンネル検索のレスポンス(type=channel):
{
"results": [{
"type": "channel",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"title": "Rick Astley",
"handle": "@RickAstley",
"url": "https://www.youtube.com/@RickAstley",
"description": "Official channel...",
"subscriberCount": "4.2M subscribers",
"verified": true,
"rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UC...",
"thumbnails": [...]
}],
"result_count": 5
}
GET /api/v2/youtube/channel/search — 1 クレジット
特定のチャンネル内の動画を検索します。channel には @handle、チャンネル URL、または UC... ID を指定します。
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
| Param | Required | Validation |
|---|---|---|
channel | はい | @handle、チャンネル URL、または UC... ID |
q | はい | 1~200 文字 |
limit | いいえ | 1~50(デフォルトは 30) |
最大約 30 件の結果を返します(YouTube の上限)。動画検索のレスポンスと同じ形式です。
GET /api/v2/youtube/channel/resolve — 無料
@handle をチャンネル ID に変換します。
GET https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
ワークフロー:検索 → 文字起こし
# 1. Search for videos
GET https://transcriptapi.com/api/v2/youtube/search?q=python+web+scraping&type=video&limit=5
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
# 2. Get transcript from result
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
エラー
| Code | Meaning | Action |
|---|---|---|
| 401 | API キーが無効です | キーを確認してください |
| 402 | クレジットがありません | transcriptapi.com/billing |
| 403/1010 | Cloudflare にブロックされました | User-Agent ヘッダーを追加するか、修正してください |
| 404 | 見つかりません | リソースが存在しません |
| 408 | タイムアウトしました | 1 回再試行してください |
| 422 | 無効なパラメーター | パラメーターの形式を確認してください |
無料プラン:100 クレジット、300 リクエスト/分。
コピー&ペースト用の例
このファイルのすべてのリクエストを、すぐに実行できるワンライナーとして掲載しています:references/curl-examples.md