गाइड

अनुरोध खोए बिना 429 रिस्पॉन्स को संभालें

429 स्टेटस कोड उसी तरह की विफलता नहीं है जैसी 400 या 404। इसका मतलब है कि अनुरोध सही ढंग से बना था और काम कर जाता, लेकिन मौजूदा अवधि का आपका कोटा खत्म हो चुका है।

रिस्पॉन्स कैसा दिखता है

HTTP/1.1 429 Too Many Requests
X-Quota-Limit: 2500
X-Quota-Used: 2500
X-Quota-Free-Remaining: 0
X-Credits-Remaining: 0.00
X-Quota-Reset: 2026-09-22T00:00:00Z

{
  "status": "error",
  "error": {"code": "quota_exceeded", "message": "Daily quota exceeded"}
}

अनुरोध को फेंकें नहीं

सबसे आम गलती 429 को 400 की तरह मानना है, यानी उसे विफलता के रूप में लॉग करके आगे बढ़ जाना। उपयोगकर्ता या आपकी स्क्रिप्ट जो लुकअप चाहती थी, वह अब भी पूरी तरह वैध है, उसे बस बाद में या अलग क्रेडेंशियल के साथ चलाना है। मूल अनुरोध पेलोड को फेंकने के बजाय दोबारा कोशिश वाली कतार में डालें।

रीसेट का समय पढ़ना

429 रिस्पॉन्स पर X-Quota-Reset हेडर आपको ठीक-ठीक बताता है कि दैनिक कोटा कब रीसेट होगा। कोई बैकग्राउंड जॉब बार-बार पोल करने या किसी तय रीट्राई अंतराल का अनुमान लगाने के बजाय उस समय तक रुक सकता है और फिर कतार को फिर से शुरू कर सकता है।

योजना बनाने लायक दूसरी स्थिति

429 का मतलब हमेशा यह नहीं होता कि पूरे दिन का कोटा खत्म हो गया है। अगर X-Key-IPs-Used, X-Key-IPs-Limit तक पहुँच गया है, तो किसी कुंजी को किसी नए स्रोत पते से अस्थायी रूप से मना किया जा सकता है, जबकि उसके सामान्य पतों से आने वाले अनुरोध तब भी सफल होते। यह जाँचना कि कौन-सा हेडर वास्तव में 429 की वजह बताता है, कोटा खत्म होना या IP स्लॉट की सीमा, यह तय करता है कि इसे कैसे ठीक किया जाए: एक स्थिति में रीसेट का इंतज़ार करना, और दूसरी में एक ही कुंजी इस्तेमाल करने वाली अलग-अलग मशीनों की संख्या कम करना।

अभी सीमा से आगे जाने के दो तरीके

अगर इंतज़ार करना स्वीकार्य नहीं है, तो दो तुरंत विकल्प हैं: €0.0001 प्रति अनुरोध की दर से प्रीपेड क्रेडिट रिचार्ज करें, या अगर यह एक बार का उछाल नहीं बल्कि बार-बार होने वाला पैटर्न है, तो €50 प्रति माह पर Unlimited कुंजी पर जाएँ। दोनों ही उस दैनिक सीमा को हटा देते हैं जिसकी वजह से 429 आया था।

कुंजी की सीमाओं को नेटवर्क की सीमाओं से अलग करना

चूँकि मुफ़्त कोटा IPv4 के लिए पूरे /24 और IPv6 के लिए पूरे /48 में साझा होता है, इसलिए 429 सिर्फ़ आपकी अपनी कुंजी के उपयोग की वजह से नहीं, बल्कि उसी नेटवर्क के दूसरे पतों के ट्रैफ़िक की वजह से भी आ सकता है। यह तय करने से पहले कि कुंजी अपग्रेड करने से वास्तव में कुछ ठीक होगा या नहीं, दोनों स्थितियों को अलग पहचानने के लिए X-Quota-Used के साथ X-Quota-Network-Used भी जाँचें।

एक गलती जिससे बचना चाहिए

429 आते ही किसी विफल अनुरोध को तुरंत, लगातार लूप में दोबारा भेजना, पहले से खत्म हो चुके कोटा पर बस और विफल कॉल जोड़ता है, और आपको काम करने वाले अनुरोध के ज़रा भी करीब नहीं ले जाता। एंडपॉइंट पर तुरंत फिर से धावा बोलने के बजाय, हेडर में दिए रीसेट समय तक रुकें, या अगर कोड हेडर नहीं पढ़ता तो किसी समझदार तय देरी तक।

429 को "यह विफल हो गया" के बजाय "थोड़ी देर में फिर कोशिश करें" मानने से कतार काम खोए बिना कोटा रीसेट के दौरान भी आराम से चलती रहती है। पूरे API में एरर की संरचना का विवरण एरर पेज पर है, और मौजूदा कोटा विकल्प मूल्य निर्धारण पेज पर हैं।