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
त्वरित उत्तर
quotaExceeded देख रहे हैं क्योंकि आपके Google Cloud प्रोजेक्ट ने YouTube Data API v3 के लिए अपनी पूरी 10,000-यूनिट डेली सीमा इस्तेमाल कर ली है, जो पैसिफिक समय के अनुसार आधी रात को रीसेट होती है। सबसे तेज़ फिक्स: जहां एक डायरेक्ट ID लुकअप काम करता है वहां search.list (100 यूनिट्स) इस्तेमाल करना बंद करें, बार-बार फिर से फेच करने के बजाय रिजल्ट कैश करें, या एक ऐसे ट्रांसक्रिप्ट API पर स्विच करें जो आपके अपने YouTube कोटा से बिल्कुल भी न चले।ऐसा क्यों होता है
हर Google Cloud प्रोजेक्ट को YouTube Data API v3 का डिफ़ॉल्ट कोटा 10,000 यूनिट्स प्रति दिन मिलता है, जो पैसिफिक समय के अनुसार आधी रात को रीसेट होता है - इसमें कोई रोलओवर नहीं है और जल्दी रीसेट ट्रिगर करने का कोई तरीका नहीं है। कोटा प्रति प्रोजेक्ट ट्रैक होता है, प्रति API key नहीं, इसलिए एक ही प्रोजेक्ट से दूसरी key बनाने से आपको दूसरा पूल नहीं मिलता।
हर API कॉल की कीमत रिक्वेस्ट में नहीं, यूनिट्स में होती है - और यह कीमतें असमान हैं। यहां डेवलपर्स द्वारा असल में इस्तेमाल किए जाने वाले endpoints की पूरी तस्वीर है:
| कॉल | कोटा कीमत |
|---|---|
search.list | 100 यूनिट्स |
videos.list | 1 यूनिट |
channels.list | 1 यूनिट |
playlistItems.list | 1 यूनिट |
commentThreads.list | 1 यूनिट प्रति पेज |
captions.list | 50 यूनिट्स |
captions.download | 200 यूनिट्स, OAuth जरूरी (API-key auth नहीं) |
प्रति सर्च 100 यूनिट्स की दर से, एक प्रोजेक्ट सिर्फ 100 सर्च कॉल के बाद अपना पूरा डेली कोटा खत्म कर सकता है - एक भी कैप्शन डाउनलोड होने से पहले। छोटे प्रोजेक्ट्स के लिमिट टकराने का यह सबसे आम तरीका है: उन्होंने 10,000 रिक्वेस्ट नहीं कीं, उन्होंने कुछ सौ महंगी रिक्वेस्ट कीं। इसके उलट, videos.list, channels.list, और playlistItems.list प्रत्येक 1 यूनिट पर सस्ते हैं - अगर आप पहले से किसी वीडियो, चैनल, या प्लेलिस्ट ID को जानते हैं, तो ये कॉल डेली बजट में मुश्किल से सेंध लगाते हैं।
अपना मौजूदा कोटा उपयोग कैसे जांचें
- अपनी API key से जुड़े प्रोजेक्ट के लिए Google Cloud Console खोलें।
- APIs & Services → YouTube Data API v3 → Quotas & System Limits पर जाएं।
- यह Queries per day और प्रति-मिनट सीमाओं के मुकाबले आपका मौजूदा उपयोग दिखाता है, जो रीयल-टाइम के बजाय थोड़ी देरी से अपडेट होता है।
अगर आप 10,000 रिक्वेस्ट पूरी करने से पहले ही सीमा के करीब हैं, तो यह व्यू यह कन्फर्म करने का तरीका है कि यह ऊपर बताई गई महंगी-कॉल वाली समस्या है, कोई बग नहीं।
quotaExceeded बनाम rateLimitExceeded
दोनों 403 लौटाते हैं, और आम बातचीत में दोनों को "quota errors" कहकर एक साथ जोड़ दिया जाता है, लेकिन ये अलग-अलग समस्याएं हैं जिनके अलग-अलग समाधान हैं:
- quotaExceeded (reason:
dailyLimitExceeded) - आपके प्रोजेक्ट ने अपनी पूरी डेली यूनिट सीमा इस्तेमाल कर ली। पैसिफिक समय के अनुसार आधी रात के रीसेट का इंतजार करने, प्रति-कॉल कीमत घटाने, या एक कोटा बढ़ोतरी अप्रूव कराने के अलावा कुछ भी इसे ठीक नहीं करता। - rateLimitExceeded - आप अपने डेली टोटल से अलग, एक छोटी विंडो में बहुत तेज़ी से रिक्वेस्ट भेज रहे हैं। यह गति की समस्या है, बजट की नहीं - सही तरीके से backoff के साथ इसे संभालने के लिए हमारी rate limit guide देखें।
इसे ठीक करने के पांच तरीके
- आक्रामक रूप से कैश करें। कोटा प्रति API कॉल चार्ज होता है, प्रति यूज़र-फेसिंग रिक्वेस्ट नहीं - अगर आप बार-बार एक ही वीडियो के कैप्शन दोबारा फेच करते हैं, तो उस डेटा के लिए जो मिनट-दर-मिनट नहीं बदलता, फिर से API कॉल करने के बजाय रिजल्ट कैश करें (एक सिंपल इन-मेमोरी TTL कैश भी काफी है)।
- जहां एक डायरेक्ट ID लुकअप काम करता है वहां
search.listसे बचें। अगर आपके पास पहले से एक वीडियो, चैनल, या प्लेलिस्ट ID है, तो संबंधित.listकॉल एक सर्च से 100 गुना सस्ता है। - ID लुकअप्स को बैच करें।
videos.listएक सिंगल ID जितनी ही 1-यूनिट कीमत पर प्रति कॉल 50 तक कॉमा-सेपरेटेड IDs स्वीकार करता है - 50 वीडियो को एक-एक करके फेच करना, बैच किए बिना, बिना किसी वजह के 50 गुना महंगा है। - कोटा बढ़ोतरी का अनुरोध करें जब आपके पास इसे सही ठहराने के लिए असली प्रोडक्शन उपयोग हो, Cloud Console के quota पेज से लिंक किए गए YouTube API Services Audit and Quota Extension फॉर्म के जरिए। तुरंत अप्रूवल नहीं, मैनुअल रिव्यू की उम्मीद रखें।
- एक ऐसा ट्रांसक्रिप्ट API इस्तेमाल करें जो आपके अपने YouTube कोटा से न चले। GetYouTubeTranscript का API आपकी key से
captions.downloadको प्रॉक्सी करने के बजाय, अपने खुद के इंफ्रास्ट्रक्चर पर ट्रांसक्रिप्ट लाता है, इसलिए मैनेज करने के लिए कोई डेली 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"])इसकी कीमत आपके GetYouTubeTranscript प्लान पर 1 क्रेडिट है, आपके Google Cloud प्रोजेक्ट के YouTube Data API कोटा पर यूनिट्स नहीं। dashboard से 100 फ्री क्रेडिट्स पाएं, कार्ड की जरूरत नहीं, या पूरे API docs देखें।
वर्कअराउंड्स पर एक नोट
YouTube API कोटा FAQs
"The request cannot be completed because you have exceeded your quota" का क्या मतलब है?
इसका मतलब है कि आपके Google Cloud प्रोजेक्ट ने आज के दिन के लिए अपने आवंटित YouTube Data API v3 कोटा यूनिट्स पूरी तरह इस्तेमाल कर ली हैं। Google कोटा को पैसिफिक समय के अनुसार आधी रात को रीसेट करता है, और डिफ़ॉल्ट फ्री अलोकेशन 10,000 यूनिट्स/दिन है, जो प्रति प्रोजेक्ट (प्रति API key नहीं) ट्रैक होती है।
ट्रांसक्रिप्ट फेच करने में असल में कितना कोटा लगता है?
YouTube Data API में सीधे कोई "get transcript" endpoint नहीं है - सिर्फ उपलब्ध कैप्शन ट्रैक लिस्ट करने के लिए captions.list कॉल की कीमत 50 यूनिट्स है, और captions.download के लिए OAuth जरूरी है (सिर्फ API key नहीं) और इसकी कीमत 200 यूनिट्स है। पहले वीडियो खोजने के लिए अक्सर इस्तेमाल होने वाली एक search.list कॉल की कीमत खुद 100 यूनिट्स है - इसलिए कुछ सर्च प्लस कैप्शन लुकअप जल्दी 10,000-यूनिट डेली बजट खत्म कर सकते हैं।
quotaExceeded और rateLimitExceeded में क्या अंतर है?
quotaExceeded (एरर बॉडी में reason dailyLimitExceeded के रूप में दिखता है) का मतलब है कि आपने अपनी पूरी डेली यूनिट सीमा इस्तेमाल कर ली है और पैसिफिक समय के अनुसार आधी रात के रीसेट का इंतजार करना होगा। rateLimitExceeded का मतलब है कि आप अपने डेली टोटल से अलग, एक छोटी विंडो में बहुत तेज़ी से रिक्वेस्ट भेज रहे हैं - विस्तार से अंतर के लिए हमारी rate limit guide देखें।
क्या मैं ज्यादा कोटा पाने के लिए कई API keys इस्तेमाल कर सकता हूं?
नहीं - कोटा प्रति Google Cloud प्रोजेक्ट ट्रैक होता है, प्रति API key नहीं। एक ही प्रोजेक्ट से बनाई गई कई keys सभी उसी 10,000-यूनिट डेली पूल से लेती हैं। कोटा बढ़ाने के लिए अलग प्रोजेक्ट बनाना तकनीकी रूप से संभव है लेकिन YouTube API Services Terms of Service के उल्लंघन का जोखिम रखता है, जो कोटा सीमाओं को दरकिनार करने पर रोक लगाती हैं।
क्या मैं बस Google से कोटा बढ़ोतरी का अनुरोध कर सकता हूं?
हां, Cloud Console के quota पेज से लिंक किए गए YouTube API Services Audit and Quota Extension फॉर्म के जरिए, लेकिन अप्रूवल की गारंटी नहीं है और यह तुरंत नहीं होता - इसके लिए असली उपयोग विवरण के साथ प्रोडक्शन उपयोग को सही ठहराना होता है, और Google रिक्वेस्ट को मैनुअली रिव्यू करता है। ज्यादा कोटा के लिए सीधे पैसे देने का कोई सेल्फ-सर्विस तरीका नहीं है।
क्या फ्री 10,000-यूनिट कोटा का कोई खर्च है?
नहीं - यह हर उस Google Cloud प्रोजेक्ट को दिया जाने वाला डिफ़ॉल्ट फ्री अलोकेशन है जो YouTube Data API v3 को इनेबल करता है। इसे इस्तेमाल करने के लिए आपको बिलिंग अकाउंट जोड़ने की जरूरत नहीं, हालांकि बढ़ोतरी का अनुरोध करते समय Google आपको बिलिंग इनेबल करने के लिए कह सकता है।
क्या GetYouTubeTranscript का API मेरे अपने YouTube API कोटा का उपयोग करता है?
नहीं। यह आपकी key से YouTube के Data API को प्रॉक्सी नहीं करता - ट्रांसक्रिप्ट एक्सट्रैक्शन हमारे अपने इंफ्रास्ट्रक्चर पर चलता है, इसलिए आपकी ओर से मैनेज करने के लिए कोई captions.list/download कोटा नहीं है। आप केवल हमारी अपनी प्रकाशित रेट लिमिट्स से बंधे हैं (फ्री पर 60 req/min, वार्षिक प्लान पर 300 req/min तक)।
संबंधित
- 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 बनाम TranscriptAPI
- GetYouTubeTranscript बनाम youtubetotranscript.com
- GetYouTubeTranscript बनाम youtube-transcript.io