APIドキュメント
YouTubeの文字起こし、検索、メタデータを取得するREST APIです。ダッシュボードからAPIキーを取得してください — 100無料クレジット、カード登録不要。
認証
APIキーはベアラートークンとして、またはx-api-keyヘッダーで渡してください:
Authorization: Bearer sk_live_...
# or
x-api-key: sk_live_...ベースURL
https://getyoutubetranscript.com/api/v1クレジットとプラン
| プラン | 価格 | クレジット/月 | 追加購入価格 | レート制限 |
|---|---|---|---|---|
| 無料 | $0 | 100(一回限り) | — | 60リクエスト/分 |
| 月額 | $5.00/月 | 1,000 | $2.50 / 1,000 | 200リクエスト/分 |
| 年額 | $4.50/月(年額$54) | 1,000 | $1.50 / 1,000 | 300リクエスト/分 |
1クレジット = 1回の成功したリクエスト。失敗したリクエストに課金されることはありません。追加購入したクレジットは、購入から30日後または現在の請求期間終了時のいずれか遅い方で失効し、使用にはアクティブなサブスクリプションが必要です。
エンドポイント
/transcript1クレジット動画のタイトル、チャンネル名、サムネイルなどのメタデータとともに、YouTube動画の文字起こしを取得します。
| パラメータ | 必須 | 説明 |
|---|---|---|
v | はい | 動画IDまたは完全なYouTube URL |
language | いいえ | 言語コード(デフォルト: en) |
リクエスト
curl "https://getyoutubetranscript.com/api/v1/transcript?v=jNQXAC9IVRw" \
-H "Authorization: Bearer sk_live_..."レスポンス
{
"success": true,
"data": {
"video_id": "jNQXAC9IVRw",
"language_code": "en",
"title": "Me at the zoo",
"author_name": "jawed",
"author_url": "https://www.youtube.com/channel/UC4Qob...",
"thumbnail_url": "https://...",
"transcript": "All right, so here we are...",
"word_count": 39
}
}/search1クレジット / ページフィルターとページネーションを使ってYouTube動画を検索します。
| パラメータ | 必須 | 説明 |
|---|---|---|
q | はい | 検索クエリ(2文字以上) |
country | いいえ | 2文字の国コード(デフォルト: us) |
language | いいえ | 言語コード(デフォルト: en) |
page_token | いいえ | 次のページを取得するための、前回レスポンスのpagination.next_page_token |
limit | いいえ | 最大結果数(デフォルト20、最大50) |
リクエスト
curl "https://getyoutubetranscript.com/api/v1/search?q=lofi+beats" \
-H "Authorization: Bearer sk_live_..."レスポンス
{
"success": true,
"data": {
"query": "lofi beats",
"video_results": [ { "title": "...", "videoId": "...", "channel": { "name": "..." } } ],
"pagination": { "next_page_token": "..." }
}
}/resolve無料チャンネルのハンドル、URL、またはユーザー名を実際のチャンネルIDに解決します。構文的な入力(すでにチャンネルIDまたはIDを含むURL)は通信なしで即座に解決されますが、単なるハンドルの場合は1回の実際のルックアップが発生します。
| パラメータ | 必須 | 説明 |
|---|---|---|
handle | はい | チャンネルID、URL、または@ハンドル |
リクエスト
curl "https://getyoutubetranscript.com/api/v1/resolve?handle=@mkbhd" \
-H "Authorization: Bearer sk_live_..."レスポンス
{
"success": true,
"data": {
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"title": "Marques Brownlee",
"handle": "http://www.youtube.com/@mkbhd",
"resolved_via": "scrape"
}
}/playlist1クレジット / ページプレイリスト内の動画を取得します。現在は最初のページのみを返します - has_moreでさらに動画があるかどうかがわかりますが、追加ページの取得にはまだ対応していません。
| パラメータ | 必須 | 説明 |
|---|---|---|
list | はい | プレイリストIDまたはURL |
リクエスト
curl "https://getyoutubetranscript.com/api/v1/playlist?list=PLxxx" \
-H "Authorization: Bearer sk_live_..."レスポンス
{
"success": true,
"data": {
"playlist_id": "PLxxx",
"title": "...",
"videos": [ { "position": 1, "id": "...", "title": "...", "channel": { "name": "..." } } ],
"has_more": true
}
}エラー
エラーはHTTPステータスに加え、条件分岐に使える安定したcodeフィールドを含むJSONボディを返します:
| ステータス | コード | 意味 |
|---|---|---|
| 400 | BAD_REQUEST | パラメータが不足しているか無効です |
| 401 | MISSING_API_KEY / INVALID_API_KEY | キーが指定されていないか、無効/失効しています |
| 402 | PAYMENT_REQUIRED | クレジット不足 - 追加購入するかアップグレードしてください |
| 404 | VIDEO_UNAVAILABLE / TRANSCRIPT_NOT_FOUND | 動画またはリソースが見つかりません |
| 429 | RATE_LIMITED | プランのレート制限を超えるリクエストです |
| 503 | UPSTREAM_UNAVAILABLE | 一時的な上流の問題です - 再試行しても問題ありません |
近日公開
チャンネル内検索、チャンネル内の全動画一覧、完全なプレイリストのページネーションは開発中です。RSS経由の新規アップロード追跡は、YouTube側の無関係な問題により一時的に利用できません。
このAPIをAIツールと組み合わせて使う
リクエストを自分で書く代わりに、Claude(または他のAIコーディングツール)にこのAPIを呼び出させたいですか?YouTube Transcriptスキルをダウンロードしてください - 文字起こしの取得、検索などの方法をAIに教える、すぐに使えるClaude Skillです。