क्रेडिट और लिमिट
AstroWay एक साधारण अनुरोध काउंटर के बजाय क्रेडिट मॉडल का उपयोग करता है।
यह अधिक उचित है: हल्के एंडपॉइंट (/planets) की लागत 10 क्रेडिट है, जबकि भारी एंडपॉइंट (/rectification) की लागत 500 है।
दो प्रकार की सीमाएँ
Section titled “दो प्रकार की सीमाएँ”1. दैनिक/मासिक क्रेडिट बजट
Section titled “1. दैनिक/मासिक क्रेडिट बजट”प्रति माह क्रेडिट की संख्या प्लान पर निर्भर करती है:
| प्लान | क्रेडिट/माह | दैनिक सीमा |
|---|---|---|
| Free | 10 000 | ~333 |
| Indie | 50 000 | ~1 667 |
| Starter | 200 000 | ~6 667 |
| Pro | 800 000 | ~26 667 |
| Business | 3 500 000 | ~116 666 |
| Enterprise | कस्टम | कस्टम |
जैसे ही क्रेडिट समाप्त हो जाते हैं - अगले अनुरोध 402 Payment Required (Free) लौटाते हैं या ओवरएज-बिलिंग (Indie+) शुरू करते हैं।
2. दर सीमा (प्रति मिनट अनुरोध)
Section titled “2. दर सीमा (प्रति मिनट अनुरोध)”| प्लान | RPM |
|---|---|
| Free | 10 req/min |
| Indie | 30 req/min |
| Starter | 120 req/min |
| Pro | 400 req/min |
| Business | 1 000 req/min |
| Enterprise | कस्टम |
दर सीमा - स्लाइडिंग विंडो। यदि तुमने 10 सेकंड में 120 अनुरोध किए हैं, तो इस कुंजी पर अगले 50 सेकंड के लिए 429 मिलेगा।
यदि किसी कुंजी में अनुमत मूलों की सूची है, तो सूची का प्रत्येक प्रवेश इस सीमा का अपना हिस्सा प्राप्त करता है: कुंजी की सीमा को प्रविष्टियों की संख्या से विभाजित किया जाता है, जिसे ऊपर की ओर पूर्णांकित किया जाता है। एक एम्बेडेड विजेट वाली एक साइट इस वजह से उस कोटे को नहीं खा सकती जिसके लिए कुंजी का मालिक भुगतान करता है, जबकि उसके अन्य डोमेन काम करते रहते हैं। कुंजी की कुल सीमा नहीं बढ़ती है: हिस्से इसे विभाजित करते हैं, न कि इसमें जोड़े जाते हैं।
काउंटर विशेष रूप से प्रविष्टि के लिए रखा जाता है, न कि आने वाले होस्ट के लिए। *.example.com प्रविष्टि सभी सबडोमेन के लिए एक काउंटर है, अन्यथा प्रत्येक अनुरोध के लिए एक नया सबडोमेन बनाकर सीमा को दरकिनार किया जा सकता था। जब सूची में एक प्रविष्टि होती है, तो हिस्सा सीमा के बराबर होता है और कुछ भी नहीं बदलता है।
3. सार्वजनिक एंडपॉइंट (बिना कुंजी के)
Section titled “3. सार्वजनिक एंडपॉइंट (बिना कुंजी के)”14 संदर्भ-शब्दकोश /v1/reference/* (signs, planets, houses, aspects, elements, modalities, polarities, dignities, decans, nakshatras, lots, asteroids, zodiac-systems, glyphs) सार्वजनिक रूप से, X-Api-Key के बिना सेवा प्रदान करते हैं और इनकी लागत 0 क्रेडिट है। सीमा - एक IP से प्रति घंटे 30 अनुरोध। यही डेटा LLM-एजेंटों के लिए MCP Resources astroway://reference/<slug> के रूप में भी उपलब्ध है।
वही सीमा शेष सार्वजनिक नेमस्पेस पर भी लागू होती है: /v1/public/*, /v1/embed/*, /v1/i18n/*।
सर्वर पर रेंडरिंग के लिए कोटा
Section titled “सर्वर पर रेंडरिंग के लिए कोटा”प्रति घंटे 30 अनुरोध ब्राउज़र के लिए डिज़ाइन किए गए हैं: प्रत्येक आगंतुक अपना IP और अपना कोटा लाता है। लेकिन यदि अनुरोध तुम्हारा सर्वर (WordPress-प्लगइन, SSR, कैश-वार्मिंग) करता है, तो एक ही पता सभी आगंतुकों के लिए जाता है और कुछ पेज रीलोड में सीमा समाप्त कर देता है।
इस मामले के लिए, साइट के पते के साथ X-AstroWay-Site-URL हेडर भेजें:
X-AstroWay-Site-URL: https://example.com/| मोड | सीमा |
|---|---|
| हेडर के बिना | प्रति IP 30 अनुरोध / घंटा; /v1/embed/* विजेट के लिए प्रति IP 120 / घंटा की अलग सीमा है |
| हेडर के साथ | प्रति साइट 300 अनुरोध / घंटा, प्रति IP 600 / घंटा की अधिकतम सीमा |
हेडर CORS में अनुमत है और यह क्रेडेंशियल नहीं है, इसलिए IP पर अधिकतम सीमा बनी रहती है: एक ही पते से कितने भी डोमेन क्यों न हों, कुल मिलाकर प्रति घंटे 600 से अधिक अनुरोध नहीं जाएंगे। दोनों काउंटरों की एक साथ आवश्यकता होती है: साइट काउंटर तब सक्रिय होता है जब एक साइट कई पतों (CDN, लोड बैलेंसर) से जाती है, IP काउंटर तब सक्रिय होता है जब एक पते से कई नाम आते हैं।
एक कॉल हमेशा एक इकाई नहीं होती है। एक भारी सार्वजनिक एंडपॉइंट उसी बास्केट से अधिक खर्च करता है, न कि एक अलग बास्केट प्राप्त करता है। POST /v1/public/synastry की लागत 3 है, क्योंकि इसमें दो चार्ट और 45 सेल का एक पहलू मैट्रिक्स शामिल है: इसके लिए व्यावहारिक अधिकतम सीमा एक अघोषित पते से प्रति घंटे 10, एक घोषित साइट के लिए 100 और एक पते के लिए 200 है। बाकी सब की लागत 1 है। जब एक कॉल की लागत एक इकाई से अधिक होती है, तो प्रतिक्रिया X-RateLimit-Cost हेडर में यह बताती है, और एक कॉल जिसकी लागत बास्केट में बची हुई राशि से अधिक होती है, उसे अस्वीकार कर दिया जाता है, न कि माइनस में जाता है।
कौन सा काउंटर अभी सबसे तंग है, यह प्रतिक्रिया हेडर X-RateLimit-Scope (ip या site) बताता है। शेष X-RateLimit-* हेडर केवल उसी का वर्णन करते हैं, यानी दो काउंटरों में से केवल एक का। दूसरा X-RateLimit-Counters में देखा जा सकता है:
X-RateLimit-Scope: siteX-RateLimit-Limit: 300X-RateLimit-Remaining: 297X-RateLimit-Counters: ip=597/600, site=297/300प्रारूप - scope=शेष/सीमा कॉमा से अलग किया गया। हेडर तभी आता है जब वास्तव में दो काउंटर होते हैं: X-AstroWay-Site-URL के साथ एक अनाम कॉल। एक सशुल्क कुंजी के साथ कॉल को कुंजी और तुम्हारी दर के अनुसार गिना जाता है, वहां एक ही काउंटर होता है और कोई हेडर नहीं होता है। इसे पढ़ो यदि तुम एक ही पते से कई डोमेन को सर्वर से रेंडर करते हो: प्रत्येक डोमेन की अपनी साइट बास्केट होती है, लेकिन IP पर अधिकतम सीमा साझा होती है, और वही पहले टकराती है।
अपनी तरफ से प्रतिक्रियाओं को कैश करो: दैनिक राशिफल दिन भर नहीं बदलता है, और आधी रात तक कैश सीमा के मुद्दे को पूरी तरह से हल कर देता है।
सार्वजनिक एंडपॉइंट पर सशुल्क कुंजी। /v1/public/* और /v1/embed/* बिना कुंजी के काम करते हैं, लेकिन यदि तुम इसे (X-Api-Key) पास करते हो, तो अनुरोध को तुम्हारी दर के अनुसार गिना जाता है, न कि अनाम कोटे के अनुसार, और प्रतिक्रिया में कोई मुफ्त वॉटरमार्क नहीं होता है। यह सर्वर-साइड रेंडरिंग के लिए समझ में आता है: एक मशीन सभी आगंतुकों के लिए जाती है, और अनाम 300/घंटा उसके लिए पर्याप्त नहीं है।
लागत तालिका
Section titled “लागत तालिका”सभी 771+ एंडपॉइंट और उनकी लागत के साथ एक पूर्ण पारदर्शी तालिका एंडपॉइंट लागत पृष्ठ पर है। DivineAPI/AstrologyAPI/Prokerala ऐसी तालिका प्रकाशित नहीं करते हैं। एक संक्षिप्त संदर्भ:
| टियर | क्रेडिट | विशिष्ट समय | उदाहरण |
|---|---|---|---|
| 1 | 10 | < 50 मिसे | /planets, /moon-voc, /iching |
| 2 | 20 | 50–200 मिसे | /chart, /harmonics, /horary |
| 3 | 50 | 200–500 मिसे | /synastry, /progressions, /acg |
| 4 | 100 | > 500 मिसे | /transit-calendar, /forecast-calendar |
| 5 | 250 | कुछ सेकंड | /rectification/trutine |
| 6 | 500 | 120 सेकंड तक | /rectification |
प्रतिक्रिया हेडर
Section titled “प्रतिक्रिया हेडर”प्रत्येक प्रतिक्रिया में शामिल है:
X-Credits-Used: 20X-Credits-Remaining: 9980X-Credits-Limit: 10000X-Credits-Reset: 2026-05-01T00:00:00ZX-RateLimit-Limit: 120X-RateLimit-Remaining: 118X-RateLimit-Reset: 1714521600X-RateLimit-Origin-Limit: 60X-RateLimit-Origin-Remaining: 59X-Request-Id: 8aec43e9bc749b37e998a489bbad1757X-Credits-Used: इस अनुरोध के लिए कितनी राशि काटी गईX-Credits-Remaining: मासिक बजट में शेषX-Credits-Limit: मासिक क्रेडिट का पूरा बजट (प्लान के अनुसार)X-Credits-Reset: बैलेंस अपडेट की ISO-8601 तिथिX-RateLimit-*: स्लाइडिंग विंडो की वर्तमान स्थिति (मानक प्रारूप)X-RateLimit-Scope: कौन सा काउंटर अभी सबसे तंग है:ip,siteयाkey।keyका मान इंगित करता है कि अनुरोध को तुम्हारी कुंजी और तुम्हारी दर की सीमा के अनुसार गिना गया है, न कि अनाम कोटे के अनुसार।X-RateLimit-Counters: सार्वजनिक एंडपॉइंट पर, जिसेX-AstroWay-Site-URLके साथ कॉल किया गया है, वे सभी काउंटर जिनके लिए अनुरोध गिना गया था,scope=शेष/सीमाप्रारूप में। ऊपर दिए गए हेडर केवल सबसे तंग का वर्णन करते हैं।X-RateLimit-Reset: वह क्षण जब सबसे पुराना अनुरोध विंडो से बाहर निकल जाएगा, यानी जब एक स्लॉट खाली हो जाएगा। यह बकेट के पूरी तरह से खुलने का समय नहीं है: इसके बाद एक अनुरोध जाएगा, औरResetअगले समय पर शिफ्ट हो जाएगा। जो क्लाइंटResetतक इंतजार करता है और फिर एक बैच भेजता है, उसे फिर से 429 मिलेगा, इसलिए एक-एक अनुरोध करके जाना या अपनी तरफ से प्रतिक्रियाओं को कैश करना अधिक विश्वसनीय है।- अस्वीकृत अनुरोध (429) कोटा खर्च नहीं करता और विंडो को स्थानांतरित नहीं करता है: काउंटर केवल सफल अनुरोधों से भरता है।
X-RateLimit-Origin-LimitऔरX-RateLimit-Origin-Remaining: केवल तभी आते हैं जब अनुरोध अनुमत मूलों की सूची से एक प्रविष्टि के माध्यम से पारित हो गया हो, और उस प्रविष्टि को आवंटित हिस्से को दिखाते हैं। इस हिस्से के कारण अस्वीकृति भी429है, और पाठ में बताया गया है कि कौन सी प्रविष्टि समाप्त हो गई है।
X-Subscription-StatusऔरX-Subscription-Grace-Ends: केवल तभी आते हैं जब भुगतान की अवधि पहले ही समाप्त हो चुकी हो, और 3-दिवसीय अनुग्रह अवधि अभी भी जारी हो (X-Subscription-Status: grace)। अनुरोधों को तुम्हारी दर के अनुसारX-Subscription-Grace-Endsमें बताए गए समय तक सेवा दी जाती है, उसके बाद प्रतिक्रिया402 SUBSCRIPTION_EXPIREDहोती है। यदि तुम्हारा क्लाइंट हेडर को लॉग करता है, तो यह सबसे शुरुआती संकेत है कि प्लान को नवीनीकृत करने का समय आ गया है।X-Request-Id: अनुरोध पहचानकर्ता, 32 हेक्साडेसिमल वर्ण; समर्थन से संपर्क करते समय इसका उल्लेख करो
कितना खर्च हो चुका है: तीन तरीके
Section titled “कितना खर्च हो चुका है: तीन तरीके”क्रेडिट का वर्तमान बैलेंस तीन तरीकों से जांचा जा सकता है - सबसे तेज़ से सबसे विस्तृत तक:
- प्रत्येक प्रतिक्रिया में: हेडर
X-Credits-Remaining/X-Credits-Used/X-Credits-Limitकिसी भी अनुरोध (यहां तक कि त्रुटि पर भी) पर लौटाए जाते हैं। कुछ भी अतिरिक्त कॉल करने की आवश्यकता नहीं है - बैलेंस हमेशा तुम्हारी आंखों के सामने होता है। - एक अलग अनुरोध द्वारा:
GET /v1/keys/usageअपनीX-Api-Keyके साथcredits(उपयोग किए गए / शेष / सीमा / रीसेट),usage(आज / सप्ताह / माह के लिए अनुरोध) और 30 दिनों के लिए शीर्ष-20 एंडपॉइंट लौटाता है। एक कॉल, बिना किसी अलग एडमिन-कुंजी के। - डैशबोर्ड में: api.astroway.info/dashboard/billing बैलेंस, उपयोग ग्राफ और एंडपॉइंट द्वारा वास्तविक समय में ब्रेकडाउन दिखाता है।
curl https://api.astroway.info/v1/keys/usage \ -H "X-Api-Key: $AW_KEY"कैशिंग
Section titled “कैशिंग”5 मिनट के भीतर समान अनुरोध कैश से लौटाए जाते हैं बिना क्रेडिट काटे। यह एक अलग हेडर है:
X-Cache: HITX-Credits-Used: 0“समान” क्या माना जाता है:
- वही एंडपॉइंट
- वही JSON body (स्पेस नॉर्मलाइजेशन के बाद बाइट-दर-बाइट)
- वही API कुंजी
यह सुरक्षित है, क्योंकि सभी एंडपॉइंट नियतात्मक हैं - समान इनपुट हमेशा समान आउटपुट देता है।
स्ट्रीमिंग और वेबहुक
Section titled “स्ट्रीमिंग और वेबहुक”स्ट्रीमिंग (/stream/*)
Section titled “स्ट्रीमिंग (/stream/*)”10 स्ट्रीम-एंडपॉइंट को टियर 1: प्रति कॉल 10 क्रेडिट के रूप में चार्ज किया जाता है। प्रत्येक कॉल ग्रहों की स्थिति की गणना करती है, इसलिए यह एक पूर्ण गणना है, न कि कैश किया गया लुकअप - प्रति टिक के लिए कोई अलग “सस्ती” दर नहीं है।
प्रत्येक प्रतिक्रिया में किफायती पोलिंग के लिए दो फ़ील्ड होते हैं:
tickSeconds: अनुशंसित पोलिंग अंतराल;nextEventAt: अगली बार स्थिति कब बदलेगी।
tickSeconds से अधिक बार पोल करना - क्रेडिट बर्बाद करना है: nextEventAt तक स्थिति नहीं बदलेगी।
वेबहुक (/webhooks/*)
Section titled “वेबहुक (/webhooks/*)”सदस्यता प्रबंधन के CRUD-ऑपरेशन (/webhooks/subscribe, सूची, देखना, हटाना, /test) प्रत्येक की लागत टियर 1: 10 क्रेडिट है। ये दुर्लभ कॉल हैं।
इवेंट डिलीवरी (सर्वर → तुम्हारा URL) चार्ज नहीं की जाती है: क्रेडिट केवल प्रबंधन के CRUD-कॉल के लिए काटे जाते हैं। 12 प्रकार के इवेंट समर्थित हैं (report-ready, transit-alert, eclipse-alert, dasha-change, sign-ingress आदि)।
वेबहुक Pro और उससे ऊपर के प्लान के साथ उपलब्ध हैं।
सीमाएँ पार करने पर क्या करें
Section titled “सीमाएँ पार करने पर क्या करें”402 Payment Required: क्रेडिट समाप्त हो गए
Section titled “402 Payment Required: क्रेडिट समाप्त हो गए”{ "error": { "code": "credits_exhausted", "message": "Monthly credit budget exhausted. Upgrade plan or wait for reset.", "credits_remaining": 0, "credits_reset": "2026-05-01T00:00:00Z", "upgrade_url": "https://api.astroway.info/dashboard/billing" }}विकल्प:
- प्लान अपग्रेड करो: तुरंत नया बजट प्राप्त करो
- ओवरएज (Starter/Pro): यदि सेटिंग्स में अक्षम नहीं किया गया है, तो स्वचालित रूप से चालू हो जाता है
- रीसेट का इंतजार करो (Free): अगले महीने की 1 तारीख
429 Too Many Requests: RPM पार हो गया
Section titled “429 Too Many Requests: RPM पार हो गया”{ "error": { "code": "rate_limit_exceeded", "message": "Too many requests. Retry after 12 seconds.", "retry_after_seconds": 12 }}हेडर Retry-After: 12 - एक मानक HTTP हेडर है, तुम्हारे HTTP-क्लाइंट को इसे समझना चाहिए।
सही हैंडलिंग:
async function callWithRetry(endpoint: string, body: object) { const response = await fetch(endpoint, { method: 'POST', headers: { 'X-Api-Key': key, 'Content-Type': 'application/json' }, body: JSON.stringify(body), });
if (response.status === 429) { const retryAfter = Number(response.headers.get('Retry-After') ?? 1); await new Promise((r) => setTimeout(r, retryAfter * 1000)); return callWithRetry(endpoint, body); }
return response.json();}बजट का अग्रिम अनुमान
Section titled “बजट का अग्रिम अनुमान”इंटीग्रेशन से पहले, अनुमान लगाओ कि तुम्हें प्रति माह कितने क्रेडिट की आवश्यकता होगी:
monthly_credits = daily_active_users × calls_per_user × avg_cost_per_call × 30उदाहरण: 500 DAU वाला एक एप्लिकेशन, प्रत्येक उपयोगकर्ता प्रतिदिन 3 चार्ट गणना + 1 सिनास्ट्री करता है:
500 × (3 × 20 + 1 × 50) × 30 = 500 × 110 × 30 = 1,650,000 credits/mo→ Enterprise (custom)बजट कैलकुलेटर - दरें पृष्ठ पर।
- त्रुटियाँ: त्रुटि कोड का पूर्ण संदर्भ
- आइडम्पोटेंसी: सुरक्षित रूप से बार-बार अनुरोध कैसे करें