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
Kurzantwort
quotaExceeded, weil Ihr Google-Cloud-Projekt sein volles Tageskontingent von 10.000 Einheiten für die YouTube Data API v3 aufgebraucht hat, das um Mitternacht Pacific Time zurückgesetzt wird. Die schnellsten Lösungen: Verzichten Sie auf search.list (100 Einheiten), wo eine direkte ID-Abfrage funktioniert, cachen Sie Ergebnisse statt sie erneut abzurufen, oder wechseln Sie zu einer Transkript-API, die nicht über Ihr eigenes YouTube-Kontingent läuft.Warum das passiert
Jedes Google-Cloud-Projekt erhält ein Standardkontingent der YouTube Data API v3 von 10.000 Einheiten pro Tag, zurückgesetzt um Mitternacht Pacific Time – es gibt keinen Übertrag und keine Möglichkeit, ein vorzeitiges Reset auszulösen. Das Kontingent wird pro Projekt verfolgt, nicht pro API-Schlüssel, sodass die Erstellung eines zweiten Schlüssels im selben Projekt keinen zweiten Pool ergibt.
Jeder API-Aufruf kostet Einheiten, nicht Anfragen – und die Kosten sind ungleich verteilt. Hier die vollständige Übersicht über die Endpunkte, die Entwickler tatsächlich nutzen:
| Aufruf | Kontingentkosten |
|---|---|
search.list | 100 Einheiten |
videos.list | 1 Einheit |
channels.list | 1 Einheit |
playlistItems.list | 1 Einheit |
commentThreads.list | 1 Einheit pro Seite |
captions.list | 50 Einheiten |
captions.download | 200 Einheiten, erfordert OAuth (keine reine API-Schlüssel-Authentifizierung) |
Bei 100 Einheiten pro Suche kann ein Projekt sein gesamtes Tageskontingent bereits nach nur 100 Suchaufrufen aufbrauchen – bevor auch nur ein einziger Untertitel heruntergeladen wurde. Das ist die häufigste Art, wie kleine Projekte an das Limit stoßen: Sie haben nicht 10.000 Anfragen gestellt, sondern ein paar hundert teure. Im Gegensatz dazu sind videos.list, channels.list und playlistItems.list mit je 1 Einheit günstig – kennen Sie bereits eine Video-, Kanal- oder Playlist-ID, belasten diese Aufrufe das Tagesbudget kaum.
So prüfen Sie Ihre aktuelle Kontingentnutzung
- Öffnen Sie die Google Cloud Console für das Projekt, das mit Ihrem API-Schlüssel verknüpft ist.
- Gehen Sie zu APIs & Services → YouTube Data API v3 → Quotas & System Limits.
- Dies zeigt Ihre aktuelle Nutzung gegenüber Queries per day und den Minutenlimits, mit leichter Verzögerung aktualisiert, nicht in Echtzeit.
Wenn Sie sich der Obergrenze bereits nähern, ohne 10.000 Anfragen gestellt zu haben, bestätigt diese Ansicht, dass es sich um das Problem der teuren Aufrufe oben handelt, nicht um einen Fehler.
quotaExceeded vs. rateLimitExceeded
Beide liefern einen 403 und werden in lockeren Gesprächen oft beide als "Kontingentfehler" zusammengeworfen, sind aber unterschiedliche Probleme mit unterschiedlichen Lösungen:
- quotaExceeded (Grund:
dailyLimitExceeded) – Ihr Projekt hat sein volles Tageskontingent aufgebraucht. Nichts behebt das außer dem Warten auf das Mitternachts-Reset in Pacific Time, dem Senken der Kosten pro Aufruf oder einer genehmigten Kontingenterhöhung. - rateLimitExceeded – Sie senden Anfragen in einem kurzen Fenster zu schnell, unabhängig von Ihrem Tagesgesamtwert. Das ist ein Taktungs-, kein Budgetproblem – siehe unseren Rate-Limit-Leitfaden dafür, wie Sie das korrekt mit Backoff handhaben.
Fünf Wege, es zu beheben
- Aggressiv cachen. Das Kontingent wird pro API-Aufruf berechnet, nicht pro nutzerseitiger Anfrage – wenn Sie die Untertitel desselben Videos wiederholt abrufen, cachen Sie das Ergebnis (auch ein einfacher In-Memory-TTL-Cache genügt), statt die API erneut für Daten aufzurufen, die sich von Minute zu Minute nicht ändern.
- Vermeiden Sie
search.list, wo eine direkte ID-Abfrage funktioniert. Haben Sie bereits eine Video-, Kanal- oder Playlist-ID, ist der entsprechende.list-Aufruf 100-mal günstiger als eine Suche. - ID-Abfragen bündeln.
videos.listakzeptiert bis zu 50 kommagetrennte IDs pro Aufruf zu denselben 1-Einheit-Kosten wie eine einzelne ID – 50 Videos einzeln statt gebündelt abzurufen kostet ohne Grund 50-mal so viel. - Eine Kontingenterhöhung beantragen, sobald Sie echte Produktionsnutzung zur Begründung haben, über das YouTube API Services Audit and Quota Extension-Formular, das von der Kontingentseite der Cloud Console aus verlinkt ist. Rechnen Sie mit einer manuellen Prüfung, nicht mit sofortiger Genehmigung.
- Eine Transkript-API nutzen, die nicht über Ihr eigenes YouTube-Kontingent läuft. Die API von GetYouTubeTranscript ruft Transkripte über ihre eigene Infrastruktur ab, statt
captions.downloadmit Ihrem Schlüssel zu proxen, es gibt also keine tägliche 10.000-Einheiten-Obergrenze zu verwalten – nur die eigene Anfragerate des Plans.
Beispiel: Ein Transkript abrufen, ohne das Kontingent von YouTube zu berühren
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"])Das kostet 1 Credit gegen Ihren GetYouTubeTranscript-Plan, keine Einheiten gegen das YouTube-Data-API-Kontingent Ihres Google-Cloud-Projekts. Holen Sie sich 100 kostenlose Credits ohne Kartenangabe über das Dashboard, oder lesen Sie die vollständige API-Dokumentation.
Ein Hinweis zu Umgehungslösungen
FAQs zum YouTube-API-Kontingent
Was bedeutet "The request cannot be completed because you have exceeded your quota"?
Es bedeutet, dass Ihr Google-Cloud-Projekt seine zugeteilten Kontingent-Einheiten der YouTube Data API v3 für den aktuellen Tag aufgebraucht hat. Google setzt das Kontingent um Mitternacht Pacific Time zurück, und die kostenlose Standardzuteilung beträgt 10.000 Einheiten/Tag, verfolgt pro Projekt (nicht pro API-Schlüssel).
Wie viel Kontingent kostet das Abrufen eines Transkripts tatsächlich?
Die YouTube Data API selbst hat keinen direkten "Transkript abrufen"-Endpunkt – der captions.list-Aufruf kostet allein 50 Einheiten, um verfügbare Untertitelspuren aufzulisten, und captions.download erfordert OAuth (nicht nur einen API-Schlüssel) und kostet 200 Einheiten. Ein search.list-Aufruf, oft genutzt, um zuerst Videos zu finden, kostet allein 100 Einheiten – ein paar Suchen plus Untertitel-Abfragen können also schnell ein 10.000-Einheiten-Tagesbudget aufbrauchen.
Was ist der Unterschied zwischen quotaExceeded und rateLimitExceeded?
quotaExceeded (im Fehlertext als Grund dailyLimitExceeded ausgewiesen) bedeutet, dass Sie Ihre volle Tageskontingent-Zuteilung aufgebraucht haben und auf das Mitternachts-Reset in Pacific Time warten müssen. rateLimitExceeded bedeutet, dass Sie Anfragen in einem kurzen Fenster zu schnell senden, unabhängig von Ihrem Tagesgesamtwert – siehe unseren Rate-Limit-Leitfaden für die genaue Unterscheidung.
Kann ich mehrere API-Schlüssel nutzen, um mehr Kontingent zu bekommen?
Nein – das Kontingent wird pro Google-Cloud-Projekt verfolgt, nicht pro API-Schlüssel. Mehrere aus demselben Projekt erzeugte Schlüssel schöpfen alle aus demselben 10.000-Einheiten-Tagespool. Separate Projekte anzulegen, um das Kontingent zu vervielfachen, ist technisch möglich, riskiert aber einen Verstoß gegen die YouTube API Services Terms of Service, die das Umgehen von Kontingentlimits untersagen.
Kann ich einfach eine Kontingenterhöhung bei Google beantragen?
Ja, über das YouTube API Services Audit and Quota Extension-Formular, das von der Kontingentseite der Cloud Console aus verlinkt ist, aber eine Genehmigung ist nicht garantiert oder sofort – sie erfordert eine Begründung der Produktionsnutzung mit echten Nutzungsdetails, und Google prüft Anfragen manuell. Es gibt keine Selbstbedienungsmöglichkeit, um einfach für mehr Kontingent zu bezahlen.
Kostet das kostenlose 10.000-Einheiten-Kontingent etwas?
Nein – es ist die kostenlose Standardzuteilung, die jedem Google-Cloud-Projekt gewährt wird, das die YouTube Data API v3 aktiviert. Sie benötigen kein verknüpftes Rechnungskonto, um es zu nutzen, auch wenn Google Sie beim Beantragen einer Erhöhung möglicherweise auffordert, die Abrechnung zu aktivieren.
Nutzt die API von GetYouTubeTranscript mein eigenes YouTube-API-Kontingent?
Nein. Sie proxt die YouTube Data API nicht mit Ihrem Schlüssel – die Transkript-Extraktion läuft über unsere eigene Infrastruktur, es gibt also kein captions.list/download-Kontingent, das Sie auf Ihrer Seite verwalten müssten. Sie sind nur durch unsere eigenen veröffentlichten Rate-Limits begrenzt (60 Anfragen/Min kostenlos, bis zu 300 Anfragen/Min im Jahresplan).
Verwandte Themen
- YouTube Transcript API Rate Limit: What It Is and How to Handle 429s
- YouTube Transcript MCP Server: Setup Guide for Claude and Other AI Tools
- YouTube Transcripts in n8n: HTTP Request Workflow Guide
- GetYouTubeTranscript vs. TranscriptAPI
- GetYouTubeTranscript vs. youtubetotranscript.com
- GetYouTubeTranscript vs. youtube-transcript.io