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
Réponse rapide
quotaExceeded parce que votre projet Google Cloud a utilisé la totalité de son allocation quotidienne de 10 000 unités pour l'API YouTube Data v3, qui se réinitialise à minuit heure du Pacifique. Les correctifs les plus rapides : arrêtez d'utiliser search.list (100 unités) là où une recherche directe par ID fonctionne, mettez les résultats en cache au lieu de les récupérer à nouveau, ou passez à une API de transcription qui ne transite pas du tout par votre propre quota YouTube.Pourquoi cela arrive
Chaque projet Google Cloud reçoit par défaut un quota de l'API YouTube Data v3 de 10 000 unités par jour, réinitialisé à minuit heure du Pacifique - sans report et sans moyen de déclencher une réinitialisation anticipée. Le quota est suivi par projet, pas par clé API, donc générer une deuxième clé depuis le même projet ne vous donne pas un second pool.
Chaque appel API coûte des unités, pas des requêtes - et les coûts sont inégaux. Voici le tableau complet des points d'accès réellement utilisés par les développeurs :
| Appel | Coût en quota |
|---|---|
search.list | 100 unités |
videos.list | 1 unité |
channels.list | 1 unité |
playlistItems.list | 1 unité |
commentThreads.list | 1 unité par page |
captions.list | 50 unités |
captions.download | 200 unités, nécessite OAuth (pas une authentification par clé API) |
À 100 unités par recherche, un projet peut épuiser tout son quota quotidien après seulement 100 appels de recherche - avant même le téléchargement d'un seul sous-titre. C'est la manière la plus courante dont les petits projets atteignent la limite : ils n'ont pas effectué 10 000 requêtes, ils en ont fait quelques centaines de coûteuses. À l'inverse, videos.list, channels.list, et playlistItems.list sont peu coûteux à 1 unité chacun - si vous connaissez déjà un ID de vidéo, de chaîne, ou de playlist, ces appels entament à peine le budget quotidien.
Comment vérifier votre utilisation actuelle du quota
- Ouvrez la Google Cloud Console pour le projet lié à votre clé API.
- Allez dans APIs & Services → YouTube Data API v3 → Quotas & System Limits.
- Cela affiche votre utilisation actuelle par rapport aux requêtes par jour et aux limites par minute, mis à jour avec un léger délai plutôt qu'en temps réel.
Si vous êtes déjà proche du plafond avant d'avoir effectué 10 000 requêtes, cette vue permet de confirmer qu'il s'agit du problème des appels coûteux ci-dessus, et non d'un bug.
quotaExceeded contre rateLimitExceeded
Les deux renvoient un 403, et les deux sont regroupés dans la conversation courante sous le terme "erreurs de quota", mais ce sont des problèmes différents avec des correctifs différents :
- quotaExceeded (raison :
dailyLimitExceeded) - votre projet a utilisé toute son allocation d'unités quotidienne. Rien ne corrige cela sauf attendre la réinitialisation de minuit heure du Pacifique, réduire le coût par appel, ou obtenir une augmentation de quota approuvée. - rateLimitExceeded - vous envoyez des requêtes trop rapidement sur une courte fenêtre, indépendamment de votre total quotidien. C'est un problème de cadence, pas de budget - consultez notre guide sur les limites de débit pour savoir comment le gérer correctement avec un backoff.
Cinq façons de corriger cela
- Mettre agressivement en cache. Le quota est facturé par appel API, pas par requête utilisateur - si vous récupérez à répétition les sous-titres de la même vidéo, mettez le résultat en cache (même un simple cache en mémoire à durée de vie limitée) plutôt que d'appeler à nouveau l'API pour des données qui ne changent pas d'une minute à l'autre.
- Éviter
search.listlà où une recherche directe par ID fonctionne. Si vous avez déjà un ID de vidéo, de chaîne, ou de playlist, l'appel.listcorrespondant est 100 fois moins cher qu'une recherche. - Grouper les recherches par ID.
videos.listaccepte jusqu'à 50 ID séparés par des virgules par appel pour le même coût de 1 unité qu'un seul ID - récupérer 50 vidéos une par une au lieu de les grouper coûte 50 fois plus cher pour rien. - Demander une augmentation de quota une fois que vous avez un usage réel en production pour la justifier, via le formulaire YouTube API Services Audit and Quota Extension lié depuis la page de quota de la Cloud Console. Attendez-vous à une revue manuelle, pas une approbation instantanée.
- Utiliser une API de transcription qui ne transite pas par votre propre quota YouTube. L'API de GetYouTubeTranscript récupère les transcriptions via sa propre infrastructure plutôt que de faire transiter
captions.downloadavec votre clé, donc il n'y a aucun plafond quotidien de 10 000 unités à gérer - seulement la limite de débit propre à l'offre.
Exemple : récupérer une transcription sans toucher au quota 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"])Cela coûte 1 crédit sur votre offre GetYouTubeTranscript, pas des unités sur le quota de l'API YouTube Data de votre projet Google Cloud. Obtenez 100 crédits gratuits, sans carte requise, depuis le tableau de bord, ou consultez la documentation API complète.
Une remarque sur les contournements
FAQ sur le quota de l'API YouTube
Que signifie "The request cannot be completed because you have exceeded your quota" ?
Cela signifie que votre projet Google Cloud a épuisé son allocation d'unités de quota de l'API YouTube Data v3 pour la journée en cours. Google réinitialise le quota à minuit heure du Pacifique, et l'allocation gratuite par défaut est de 10 000 unités/jour, suivie par projet (pas par clé API).
Combien de quota coûte réellement la récupération d'une transcription ?
L'API YouTube Data n'a elle-même aucun point d'accès direct "obtenir la transcription" - l'appel captions.list coûte 50 unités juste pour lister les pistes de sous-titres disponibles, et captions.download nécessite OAuth (pas seulement une clé API) et coûte 200 unités. Un appel search.list, souvent utilisé pour trouver des vidéos en premier, coûte 100 unités à lui seul - donc quelques recherches plus des recherches de sous-titres peuvent épuiser rapidement un budget quotidien de 10 000 unités.
Quelle est la différence entre quotaExceeded et rateLimitExceeded ?
quotaExceeded (indiqué comme raison dailyLimitExceeded dans le corps de l'erreur) signifie que vous avez utilisé toute votre allocation d'unités quotidienne et devez attendre la réinitialisation de minuit heure du Pacifique. rateLimitExceeded signifie que vous envoyez des requêtes trop rapidement dans une courte fenêtre, indépendamment de votre total quotidien - consultez notre guide sur les limites de débit pour le détail de cette distinction.
Puis-je utiliser plusieurs clés API pour obtenir plus de quota ?
Non - le quota est suivi par projet Google Cloud, pas par clé API. Plusieurs clés générées depuis le même projet puisent toutes dans le même pool quotidien de 10 000 unités. Créer des projets séparés pour multiplier le quota est techniquement possible mais risque de violer les Conditions de service de l'API YouTube, qui interdisent de contourner les limites de quota.
Puis-je simplement demander une augmentation de quota à Google ?
Oui, via le formulaire YouTube API Services Audit and Quota Extension lié depuis la page de quota de la Cloud Console, mais l'approbation n'est ni garantie ni immédiate - elle exige de justifier un usage en production avec des détails d'utilisation réels, et Google examine les demandes manuellement. Il n'existe aucun moyen en libre-service de simplement payer pour plus de quota.
Le quota gratuit de 10 000 unités coûte-t-il quelque chose ?
Non - c'est l'allocation gratuite par défaut accordée à tout projet Google Cloud qui active l'API YouTube Data v3. Aucun compte de facturation n'est nécessaire pour l'utiliser, bien que Google puisse vous inviter à activer la facturation lors d'une demande d'augmentation.
L'API de GetYouTubeTranscript utilise-t-elle mon propre quota de l'API YouTube ?
Non. Elle ne fait pas transiter l'API YouTube Data avec votre clé - l'extraction de transcription fonctionne via notre propre infrastructure, donc il n'y a aucun quota captions.list/download à gérer de votre côté. Vous êtes uniquement limité par nos propres limites de débit publiées (60 req/min gratuit, jusqu'à 300 req/min sur l'offre annuelle).
À lire aussi
- 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