Black Friday · 30% off

Get 30% off
ブログに戻る
エラー

YouTube API Quota Exceeded: Causes and Fixes

Why YouTube Data API requests fail with quotaExceeded, what the daily 10,000-unit quota actually costs per call, how to check and raise it, and how to avoid hitting it - including using a transcript API that doesn't consume your quota.

00:09:00 · SEP 13, 2026 · 更新 SEP 27, 2026

簡単な回答

quotaExceededが表示されるのは、Google CloudプロジェクトがYouTube Data API v3の1日あたり10,000ユニットの割り当てを使い切ったためです。これは太平洋時間の深夜0時にリセットされます。最速の対処法は、直接IDルックアップで済む場面でsearch.list(100ユニット)の使用をやめること、再取得の代わりに結果をキャッシュすること、あるいは自分のYouTubeクォータをまったく経由しない文字起こしAPIに切り替えることです。

なぜこれが起こるのか

すべてのGoogle Cloudプロジェクトには、YouTube Data API v3のデフォルトクォータとして1日あたり10,000ユニットが付与されており、太平洋時間の深夜0時にリセットされます - 繰り越しはなく、早期リセットをトリガーする方法もありません。クォータはプロジェクト単位で追跡され、APIキー単位ではありません。そのため、同じプロジェクトから2つ目のキーを生成しても、2つ目のプールが得られるわけではありません。

すべてのAPI呼び出しはリクエスト数ではなくユニット数を消費し、そのコストは均一ではありません。開発者が実際に使用するエンドポイント全体のコストは以下の通りです:

呼び出しクォータコスト
search.list100ユニット
videos.list1ユニット
channels.list1ユニット
playlistItems.list1ユニット
commentThreads.list1ページあたり1ユニット
captions.list50ユニット
captions.download200ユニット、OAuthが必要(APIキー認証不可)

1回の検索につき100ユニットなので、キャプションを1つもダウンロードしないうちに、わずか100回の検索呼び出しだけでプロジェクトの1日のクォータをすべて使い切ってしまうことがあります。これは小規模プロジェクトが上限に達する最も一般的な原因です - 10,000回のリクエストをしたのではなく、数百回の高コストなリクエストをしただけなのです。対照的に、videos.list、channels.list、playlistItems.listはそれぞれ1ユニットと安価です - すでに動画、チャンネル、プレイリストのIDがわかっている場合、これらの呼び出しは日次予算をほとんど消費しません。

現在のクォータ使用状況を確認する方法

  1. APIキーが紐づくプロジェクトのGoogle Cloud Consoleを開きます。
  2. APIとサービス → YouTube Data API v3 → クォータとシステム上限に移動します。
  3. ここには、リアルタイムではなく多少の遅延を伴って更新される、1日あたりのクエリ数と1分あたりの制限に対する現在の使用状況が表示されます。

10,000リクエストに達していないのにすでに上限近くにいる場合、この画面で、これがバグではなく上記の高コスト呼び出しの問題であることを確認できます。

quotaExceeded vs. rateLimitExceeded

どちらも403を返し、日常会話では両方とも「クォータエラー」とひとくくりにされがちですが、これらは原因も対処法も異なる別の問題です:

  • quotaExceeded(理由: dailyLimitExceeded) - プロジェクトが1日の割り当てユニットをすべて使い切った状態です。太平洋時間の深夜0時のリセットを待つか、呼び出しごとのコストを削減するか、クォータ増加の承認を得る以外に解決策はありません。
  • rateLimitExceeded - 1日の合計とは関係なく、短い時間枠でリクエストを送りすぎている状態です。これは予算の問題ではなくペースの問題です - 正しいバックオフでの対処法についてはレート制限ガイドをご覧ください。

対処法5つ

  1. 積極的にキャッシュする。クォータはユーザー向けリクエストごとではなくAPI呼び出しごとに課金されます。同じ動画のキャプションを繰り返し再取得している場合は、分単位で変化しないデータに対してAPIを再度呼び出す代わりに、結果をキャッシュしてください(単純なインメモリのTTLキャッシュでも構いません)。
  2. 直接IDルックアップで済む場面ではsearch.listを避ける。すでに動画、チャンネル、プレイリストのIDがある場合、対応する.list呼び出しは検索よりも100倍安価です。
  3. IDルックアップをバッチ化する。videos.listは1回の呼び出しで最大50件のカンマ区切りIDを、単一IDと同じ1ユニットのコストで受け付けます - 50本の動画を1本ずつバッチ化せずに取得するのは、理由なく50倍のコストがかかります。
  4. 実際の本番利用実績があれば、クォータ増加をリクエストする。Cloud Consoleのクォータページからリンクされている、YouTube API Services Audit and Quota Extensionフォームを使用してください。手動レビューが行われ、即座に承認されるわけではありません。
  5. 自分のYouTubeクォータを経由しない文字起こしAPIを使う。GetYouTubeTranscriptのAPIは、お客様のキーでcaptions.downloadをプロキシするのではなく、独自のインフラに対して文字起こしを取得するため、管理すべき1日10,000ユニットの上限はなく、プラン自体のリクエストレート制限のみが適用されます。

例: YouTubeのクォータに触れずに文字起こしを取得する

cURL:

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

Node.js:

const res = await fetch(
  "https://getyoutubetranscript.com/api/v1/transcript?v=dQw4w9WgXcQ",
  { headers: { Authorization: `Bearer ${process.env.GETYOUTUBETRANSCRIPT_API_KEY}` } }
);
const { data } = await res.json();
console.log(data.transcript);

Python:

import os, requests

res = requests.get(
    "https://getyoutubetranscript.com/api/v1/transcript",
    params={"v": "dQw4w9WgXcQ"},
    headers={"Authorization": f"Bearer {os.environ['GETYOUTUBETRANSCRIPT_API_KEY']}"},
)
print(res.json()["data"]["transcript"])

これはGoogle CloudプロジェクトのYouTube Data APIクォータに対するユニットではなく、GetYouTubeTranscriptプランに対して1クレジットを消費します。ダッシュボードからカード登録不要で100無料クレジットを取得するか、完全なAPIドキュメントをご覧ください。

回避策についての注意

IPのローテーション、多数のGoogle Cloudプロジェクトの立ち上げ、あるいはクォータを回避するためのYouTubeページの直接スクレイピングは、いずれも実質的なリスクを伴います。最初の2つはYouTube API Services利用規約に違反するリスクがあり、非公式なスクレイピングはレイアウト変更に対して脆弱です。専用の文字起こしAPIは、その運用リスクをお客様自身が負う代わりに引き受けます。

YouTube APIクォータに関するよくある質問

Q01

「The request cannot be completed because you have exceeded your quota」とはどういう意味ですか?

Google Cloudプロジェクトが当日分のYouTube Data API v3クォータユニットを使い切ったことを意味します。Googleはクォータを太平洋時間の深夜0時にリセットし、デフォルトの無料割り当てはプロジェクト単位(APIキー単位ではない)で1日10,000ユニットです。

Q02

文字起こしの取得には実際どれくらいのクォータがかかりますか?

YouTube Data API自体には直接「文字起こしを取得する」エンドポイントはありません - captions.list呼び出しは利用可能なキャプショントラックを一覧表示するだけで50ユニットかかり、captions.downloadはAPIキーだけでなくOAuthが必要で200ユニットかかります。動画を最初に見つけるためによく使われるsearch.list呼び出しは、それ単体で100ユニットかかるため、数回の検索とキャプションのルックアップだけで10,000ユニットの日次予算をあっという間に使い切ることがあります。

Q03

quotaExceededとrateLimitExceededの違いは何ですか?

quotaExceeded(エラー本文ではreason dailyLimitExceededとして表示されます)は、1日の割り当てユニットをすべて使い切り、太平洋時間の深夜0時のリセットを待つ必要があることを意味します。rateLimitExceededは、1日の合計とは関係なく短い時間枠でリクエストを送りすぎていることを意味します - 詳細な違いについてはレート制限ガイドをご覧ください。

Q04

複数のAPIキーを使えばクォータを増やせますか?

いいえ - クォータはAPIキーごとではなくGoogle Cloudプロジェクトごとに追跡されます。同じプロジェクトから生成された複数のキーは、すべて同じ10,000ユニットの日次プールを消費します。クォータを増やすために別のプロジェクトを作成することは技術的には可能ですが、クォータ制限の回避を禁止するYouTube API Services利用規約に違反するリスクがあります。

Q05

Googleにクォータ増加をリクエストすることはできますか?

はい、Cloud ConsoleのクォータページからリンクされているYouTube API Services Audit and Quota Extensionフォームを通じて可能ですが、承認は保証されておらず即座でもありません。実際の利用状況の詳細をもって本番利用を正当化する必要があり、Googleは手動でリクエストを審査します。単純にお金を払ってクォータを増やすセルフサービスの方法はありません。

Q06

無料の10,000ユニットのクォータは何か費用がかかりますか?

いいえ - これは、YouTube Data API v3を有効にしたすべてのGoogle Cloudプロジェクトに付与されるデフォルトの無料割り当てです。これを利用するのに請求先アカウントを紐づける必要はありませんが、増加をリクエストする際にGoogleから請求を有効にするよう促される場合があります。

Q07

GetYouTubeTranscriptのAPIは自分のYouTube APIクォータを使用しますか?

いいえ。お客様のキーでYouTubeのData APIをプロキシすることはありません - 文字起こし抽出は独自のインフラに対して実行されるため、お客様側で管理すべきcaptions.list/downloadのクォータはありません。制限されるのは当社が公開しているレート制限のみです(無料プランで毎分60リクエスト、年額プランで最大毎分300リクエスト)。

関連記事

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