Black Friday · 30% off

Get 30% off

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/月1,000$2.50 / 1,000200リクエスト/分
年額$4.50/月(年額$54)1,000$1.50 / 1,000300リクエスト/分
Starter$19/月7,500$1.50 / 1,000300リクエスト/分
Pro$49/月25,000$1.50 / 1,000400リクエスト/分
Scale$99/月60,000$1.50 / 1,000600リクエスト/分

1クレジット = 1回の成功したリクエスト。失敗したリクエストに課金されることはありません。例: 10回の文字起こしリクエストのうち2本の動画に字幕がない場合、消費は8クレジットです。失敗した動画の再試行は、成功するまで課金されません。追加購入したクレジットは、購入から30日後または現在の請求期間終了時のいずれか遅い方で失効し、使用にはアクティブなサブスクリプションが必要です。

エンドポイント

GET/transcript1クレジット

動画のタイトル、チャンネル名、サムネイルなどのメタデータとともに、YouTube動画の文字起こしを取得します。language_code と requested_language、caption_type(manual または auto、不明な場合は null)、cached / fetched_at も返します。

パラメータ必須説明
vはい動画IDまたは完全なYouTube URL
languageいいえ言語コード(デフォルト: en)
timestampsいいえtrue にすると行ごとのタイムスタンプ(segments: start、duration、text、秒単位)が追加されます。デフォルトはオフです。
translateいいえ機械翻訳する言語コード(例: es、zh-CN)。タイムスタンプはそのままで、レスポンスに translated_to が付きます。料金は同じ1クレジットです。

リクエスト

curl "https://getyoutubetranscript.com/api/v1/transcript?v=jNQXAC9IVRw" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "video_id": "jNQXAC9IVRw",
    "language_code": "en",
    "requested_language": "en",
    "caption_type": "manual",
    "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,
    "cached": true,
    "fetched_at": "2026-09-20T03:10:58.938Z"
  }
}
GET/transcript/languages1クレジット

文字起こしを取得する前に、動画で利用できる字幕言語(手動と自動生成)を一覧表示します。default_language_code は言語を指定しない /transcript が返す言語です。字幕のない動画では空のリストを返します。

パラメータ必須説明
vはい動画IDまたは完全なYouTube URL

リクエスト

curl "https://getyoutubetranscript.com/api/v1/transcript/languages?v=kJQP7kiw5Fk" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "video_id": "kJQP7kiw5Fk",
    "default_language_code": "en",
    "languages": [
      { "language_code": "en", "name": "English - en", "caption_type": "manual" },
      { "language_code": "es", "name": "Spanish", "caption_type": "manual" }
    ]
  }
}
POST/batch成功した動画ごとに1クレジット

1回の呼び出しで最大100本の動画をキューに追加します。すぐに batch_id を返し、文字起こしはバックグラウンドで取得します。GET /batch で状況を確認するか、webhook_url を指定すると完了時に署名付き POST(X-GYT-Signature ヘッダー)を受け取れます。失敗した動画に課金されることはありません。

パラメータ必須説明
videosはい動画IDまたはURLの配列(1〜100)。重複は1回だけ取得します。
languageいいえすべての動画に使う言語コード(デフォルト: en)
timestampsいいえtrue で結果に行ごとの segments を含めます
webhook_urlいいえバッチ完了時に通知される公開 https URL
Idempotency-Keyいいえヘッダー。リクエストを安全に再試行できます。同じキーなら元のバッチを返します。

リクエスト

curl -X POST "https://getyoutubetranscript.com/api/v1/batch" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
        "videos": ["jNQXAC9IVRw", "https://youtu.be/dQw4w9WgXcQ"],
        "webhook_url": "https://example.com/hooks/transcripts"
      }'

レスポンス

{
  "success": true,
  "data": {
    "batch_id": "324eb615-e4d5-4b3c-b8e7-04235671066b",
    "status": "queued",
    "total": 2,
    "succeeded": 0,
    "failed": 0,
    "pending": 2,
    "results_url": "https://getyoutubetranscript.com/api/v1/batch?id=324eb615-...",
    "webhook_secret": "whsec_..."
  }
}
GET/batch無料

バッチの状況、件数、送信順の結果1ページ分を返します。成功した項目は /transcript と同じフィールドを持ち、失敗した項目には error_code が付きます。

パラメータ必須説明
idはいPOST /batch で返された batch_id
offsetいいえスキップする件数(デフォルト: 0)
limitいいえ1ページの件数、1〜50(デフォルト: 20)

リクエスト

curl "https://getyoutubetranscript.com/api/v1/batch?id=324eb615-e4d5-4b3c-b8e7-04235671066b" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "batch_id": "324eb615-...",
    "status": "completed",
    "total": 2,
    "succeeded": 1,
    "failed": 1,
    "credits_charged": 1,
    "items": [
      { "position": 0, "status": "succeeded", "charged": true, "video_id": "jNQXAC9IVRw", "caption_type": "manual", "transcript": "All right, so here we are...", ... },
      { "position": 1, "status": "failed", "charged": false, "video_id": "dQw4w9WgXcQ", "error_code": "TRANSCRIPT_DISABLED" }
    ],
    "next_offset": null
  }
}
GET/search1クレジット / ページ

フィルターとページネーションを使ってYouTube動画を検索します。

パラメータ必須説明
qはい検索クエリ(2文字以上)
countryいいえ2文字の国コード(デフォルト: us)
languageいいえ言語コード(デフォルト: en)
page_tokenいいえ次のページを取得するための、前回レスポンスのcontinuation_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": "..." } } ],
    "continuation_token": "c_bKt9xQ2mVf7LpR0aZ3sWyA"
  }
}
GET/resolve1クレジット

チャンネルのハンドル、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": "lookup"
  }
}
GET/channel/latest1クレジット

チャンネル情報(タイトル、登録者数、説明、アイコン)と、チャンネルのホームタブに表示される最新動画を返します。すべてのアップロード履歴には /channel/videos を使用してください。

パラメータ必須説明
channelはいチャンネルの@handle、URL、またはチャンネルID

リクエスト

curl "https://getyoutubetranscript.com/api/v1/channel/latest?channel=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "channel": { "id": "UCBJycsmduvYEL83R_U4JriQ", "title": "Marques Brownlee", "subscribers": 1160000, "avatar": "https://..." },
    "about": { "description": "...", "links": [] },
    "videos_sections": [ ... ]
  }
}
GET/channel/videos1クレジット / ページ

チャンネルがアップロードしたすべての動画を新しい順にページ単位で返します。

パラメータ必須説明
channelはいチャンネルの@handle、URL、またはチャンネルID
tabいいえvideos(既定)、shorts、streams(ライブタブ)。最初のページのみ。
sortいいえlatest(既定)、popular、oldest。最初のページのみ。
continuationいいえ次のページを取得するための、前回のレスポンスのcontinuation_token(他のパラメータの代わりに指定)。24時間で失効します。

リクエスト

curl "https://getyoutubetranscript.com/api/v1/channel/videos?channel=@mkbhd&tab=shorts&sort=popular" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "videos": [ { "position": 1, "id": "...", "title": "...", "views": "6.2M", "published_time": "1d ago", "length": "10:47" } ],
    "has_more": true,
    "continuation_token": "c_pqHR9v13sqaqxlcKhA4MnA"
  }
}
GET/channel/playlists1クレジット / ページ

チャンネルの再生リスト(「再生リスト」タブ)をページ分割で返します。再生リストの ID を /playlist に渡すと、その動画を一覧できます。

パラメータ必須説明
channelはいチャンネルの@handle、URL、またはチャンネルID
continuationいいえ次のページを取得するための、前回のレスポンスのcontinuation_token(他のパラメータの代わりに指定)。24時間で失効します。

リクエスト

curl "https://getyoutubetranscript.com/api/v1/channel/playlists?channel=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "playlists": [ { "position": 1, "id": "PL...", "title": "...", "link": "https://www.youtube.com/playlist?list=PL...", "video_count": 5 } ],
    "has_more": false,
    "continuation_token": null
  }
}
GET/channel/posts1クレジット / ページ

チャンネルのコミュニティ投稿(「投稿」タブ)をページ分割で返します。テキスト、リンク、高評価数、コメント数、添付画像を含みます。

パラメータ必須説明
channelはいチャンネルの@handle、URL、またはチャンネルID
continuationいいえ次のページを取得するための、前回のレスポンスのcontinuation_token(他のパラメータの代わりに指定)。24時間で失効します。

リクエスト

curl "https://getyoutubetranscript.com/api/v1/channel/posts?channel=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "posts": [ { "position": 1, "id": "Ugkx...", "url": "https://www.youtube.com/post/Ugkx...", "text": "...", "published_time": "2 years ago", "likes": "12K", "comments": "1K" } ],
    "has_more": true,
    "continuation_token": "c_DfE9mQx2Ln8TbW4kJ1pZsA"
  }
}
GET/channel/search1クレジット / ページ

1つのチャンネルの動画内を検索します(ページ単位)。

パラメータ必須説明
channelはいチャンネルの@handle、URL、またはチャンネルID
qはい検索クエリ(2文字以上)
continuationいいえ次のページを取得するための、前回のレスポンスのcontinuation_token(他のパラメータの代わりに指定)。24時間で失効します。

リクエスト

curl "https://getyoutubetranscript.com/api/v1/channel/search?channel=@mkbhd&q=iphone" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "videos": [ { "position": 1, "id": "...", "title": "...", "published_time": "3w ago", "length": "17:14", "channel": { "name": "Marques Brownlee" } } ],
    "has_more": true,
    "continuation_token": "c_pnm10M6orzLgOTVWJk2oww"
  }
}
GET/playlist1クレジット / ページ

プレイリスト内のすべての動画をページ単位で返します。最後のページでは continuation_token が null になります。

パラメータ必須説明
listはいプレイリストIDまたはURL
continuationいいえ次のページを取得するための、前回のレスポンスのcontinuation_token(他のパラメータの代わりに指定)。24時間で失効します。

リクエスト

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,
    "continuation_token": "c_DfE9mQx2Ln8TbW4kJ1pZsA"
  }
}
GET/video/related1クレジット

動画の横に YouTube が表示するおすすめ動画を、タイトル、ID、チャンネル、再生回数、投稿時期、長さとともに返します。

パラメータ必須説明
vはい動画IDまたは完全なYouTube URL

リクエスト

curl "https://getyoutubetranscript.com/api/v1/video/related?v=dQw4w9WgXcQ" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "video_id": "dQw4w9WgXcQ",
    "related": [ { "position": 1, "id": "...", "title": "...", "channel": { "name": "..." }, "views": "410K", "published_time": "11y ago", "length": "1:01:35" } ]
  }
}
GET/video/dislikes1クレジット

動画の高評価数と低評価数の推定値を返します。YouTube は低評価数を公開しなくなったため推定値です(estimated は常に true)。

パラメータ必須説明
vはい動画IDまたは完全なYouTube URL

リクエスト

curl "https://getyoutubetranscript.com/api/v1/video/dislikes?v=dQw4w9WgXcQ" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "video_id": "dQw4w9WgXcQ",
    "likes": 19497714,
    "dislikes": 521713,
    "rating": 4.9,
    "view_count": 1830715799,
    "estimated": true
  }
}
GET/channel/banner1クレジット

チャンネルのトリミングされていないバナー、YouTube が配信するすべてのトリミングサイズ、アイコンを返します。バナーがない場合 has_banner は false です。

パラメータ必須説明
channelはいチャンネルの@handle、URL、またはチャンネルID

リクエスト

curl "https://getyoutubetranscript.com/api/v1/channel/banner?channel=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "channel_id": "UCBJycsmduvYEL83R_U4JriQ",
    "title": "Marques Brownlee",
    "avatar": "https://yt3.googleusercontent.com/...",
    "has_banner": true,
    "banner": { "original": "https://...=s0", "largest": "https://...=w2560", "sizes": [ { "url": "https://...", "width": 1060, "height": 175 } ] }
  }
}
GET/credits無料

使う前にこのキーの残りクレジット残高を確認できます - MCPのget_creditsツールと同じデータです。

パラメータ必須説明

リクエスト

curl "https://getyoutubetranscript.com/api/v1/credits" \
  -H "Authorization: Bearer sk_live_..."

レスポンス

{
  "success": true,
  "data": {
    "plan_credits_left": 87,
    "topup_credits_left": 0,
    "plan": "monthly",
    "rate_limit_per_minute": 200
  }
}

エラー

エラーはHTTPステータスに加え、条件分岐に使える安定したcodeフィールドを含むJSONボディを返します:

ステータスコード意味
400BAD_REQUESTパラメータが不足しているか無効です
400CURSOR_EXPIREDページカーソルの有効期限切れ(24時間後)- 最初のページからやり直してください
401MISSING_API_KEY / INVALID_API_KEYキーが指定されていないか、無効/失効しています
402PAYMENT_REQUIREDクレジット不足 - 追加購入するかアップグレードしてください
404VIDEO_UNAVAILABLE / TRANSCRIPT_NOT_FOUND動画またはリソースが見つかりません
429RATE_LIMITEDプランのレート制限を超えるリクエストです
503UPSTREAM_UNAVAILABLE一時的な上流の問題です - 再試行しても問題ありません
504UPSTREAM_TIMEOUT上流の応答が25秒を超えました - 課金されず、再試行しても問題ありません

このAPIをAIツールと組み合わせて使う

リクエストを自分で書く代わりに、Claude(または他のAIコーディングツール)にこのAPIを呼び出させたいですか?YouTube Transcriptスキルをダウンロードしてください - 文字起こしの取得、検索などの方法をAIに教える、すぐに使えるClaude Skillです。

Zapierで使う

コード不要:Zapierアプリを使えば、どのZapでも文字起こしの取得、YouTube検索、チャンネル動画の一覧取得ができます。同じAPIキーで接続でき、各アクションのクレジットはAPI呼び出しと同じです。

Featured on aitoolfame.comFeatured on Aura++Featured on DeepLaunch.ioFeatured on Dofollow.ToolsFeatured on EasyDoFollowFeatured on EarlyHuntFeatured on Findly.toolsFeatured on FoundrListGood AI ToolsFeatured on IndieHuntFeatured on LaunchBuffFeatured on launched.toolsFeatured on Launch Llama ToolsFeatured on LemonLaunchLiftOff launch badgeMy Launch StashGetYouTubeTranscript on Nick LaunchesOpenHunts Club MemberFeatured on saasfame.comShinyLaunchFeatured on ShowMeBestAIFeatured on toolfame.comListed on Turbo0Featured on Twelve ToolsHuzzler Embed BadgeFeatured on CodeHypeGetYouTubeTranscript on Better LaunchDokeyAIFeatured on WayfindioFeatured on LaunchZoneFeatured on NoonlaunchFeatured on WhatsthebigdataSurfaced on CodeTrendyFeatured on ScrollLaunchFeatured on ufind.bestFeatured on ShipBoostProduct WingWe Like ToolsAppa ListAcid ToolsPower Up ToolsToshi ListAIGC 160Appsy ToolsHunt for ToolsBeam ToolsTool Find DirTool SignalSaaS Tools DirSoftware BoltProduct List DirStack DirectorySaaS FieldSaaS WheelSaaS RootsStartup BenchmarksUnite ListTrustinerBest Tool VaultSolver ToolsAsh ListSmart Kit HubAI X CollectionAI Tech ViralMillion Dot HomepageThat App ShowLaunch ScrollMy Start ToolsLatest AI UpdatesSuper AI BoomTools Under RadarThe Key ToolsTool JourneyTools List HQThe App ToolsThe Mega ToolsSource DirTool CosmosTop Trend ToolsTiny Tool HubTool PrismStartup AIdeasFeatured on WonderLaunchFeatured on ShipycornFeatured on ToolsClawListed on ProofStoriesFeatured on ToolListedLaunched on Launch Streak