क्विक स्टार्ट
रजिस्ट्रेशन से JSON में पूरी जन्म कुंडली तक पाँच मिनट। इसमें SDK इंस्टॉल करना, पहला अनुरोध, रिस्पॉन्स हेडर, ऑथेंटिकेशन और त्रुटियों की हैंडलिंग शामिल है।
-
API कुंजी जेनरेट करें
Section titled “API कुंजी जेनरेट करें”dashboard में जाएँ और Generate key दबाएँ। मुफ़्त टैरिफ़ हमेशा के लिए 10 000 क्रेडिट/माह देता है - कार्ड डाले बिना। कुंजियाँ इनसे शुरू होती हैं:
aw_live_*: production, वास्तविक चार्जaw_test_*: sandbox, क्रेडिट नहीं कटते, नियतात्मक रिस्पॉन्स
-
SDK इंस्टॉल करें
Section titled “SDK इंस्टॉल करें”API साधारण REST + JSON है, इसलिए SDK अनिवार्य नहीं है। लेकिन तीनों पहले से प्रकाशित हैं: TypeScript (
@astroway/sdk), Python (astroway) और PHP (astroway/sdk), साथ ही AI एजेंट्स के लिए MCP सर्वर (@astroway/mcp)।Terminal window # No SDK needed - just curl and a key:export AW_KEY="aw_test_demo_replaceme"Terminal window npm install @astroway/sdk# or without an SDK: native fetch, Node 18+ or the browserexport AW_KEY="aw_test_demo_replaceme"Terminal window pip install astroway # or without an SDK: requests or httpxexport AW_KEY="aw_test_demo_replaceme"Terminal window composer require astroway/sdk# or without an SDK: guzzlehttp/guzzle + raw HTTPTerminal window # For AI agents - Claude Desktop, Cursor IDE, Windsurf,# VS Code (llm CLI), GPT with MCP via the OpenAI Realtime API,# or any MCP-compatible client:npx -y @astroway/mcp # 700+ tools, OpenAPI auto-sync -
पहला अनुरोध भेजें
Section titled “पहला अनुरोध भेजें”24 अगस्त 1991, 16:30 EEST, कीव के लिए जन्म कुंडली की गणना:
first-request.sh curl -X POST https://api.astroway.info/v1/chart \-H "X-Api-Key: $AW_KEY" \-H "Content-Type: application/json" \-d '{"date": "1991-08-24","time": "16:30:00","timezoneOffset": 3,"latitude": 50.4501,"longitude": 30.5234,"houseSystem": "P"}'first-request.ts // native fetch - Node 18+ / Bun / Deno / browser. With the SDK: npm install @astroway/sdkconst r = await fetch('https://api.astroway.info/v1/chart', {method: 'POST',headers: {'X-Api-Key': process.env.AW_KEY!,'Content-Type': 'application/json',},body: JSON.stringify({date: '1991-08-24',time: '16:30:00',timezoneOffset: 3,latitude: 50.4501,longitude: 30.5234,houseSystem: 'P',}),});const { data: chart } = await r.json();console.log(chart.planets[0]); // { id: 0, name: 'Sun', longitude: 151.12, ... }first_request.py # requests or httpx. With the SDK: pip install astrowayimport os, requestsr = requests.post('https://api.astroway.info/v1/chart',headers={'X-Api-Key': os.environ['AW_KEY']},json={'date': '1991-08-24','time': '16:30:00','timezoneOffset': 3,'latitude': 50.4501,'longitude': 30.5234,'houseSystem': 'P',},)chart = r.json()['data']print(chart['planets'][0])first-request.php <?phpuse GuzzleHttp\Client;$aw = new Client(['base_uri' => 'https://api.astroway.info/v1/']);$r = $aw->post('chart', ['headers' => ['X-Api-Key' => getenv('AW_KEY')],'json' => ['date' => '1991-08-24','time' => '16:30:00','timezoneOffset' => 3,'latitude' => 50.4501,'longitude' => 30.5234,'houseSystem' => 'P',],]);$chart = json_decode($r->getBody(), true)['data'];print_r($chart['planets'][0]);timezoneOffsetवह ऑफ़सेट है जो उस तारीख़ को घड़ियों में था, घंटों में। अगर आप इसे नहीं जानते, तो इसकी जगह"timezone": "Europe/Kyiv"भेजें या निर्देशांकों से ज़ोन लेने के लिए"timezone": "auto", और सर्वर ख़ुद ऑफ़सेट की गणना करेगा, डेलाइट सेविंग टाइम समेत: फ़ील्ड फ़ॉर्मेट। -
रिस्पॉन्स को समझें
Section titled “रिस्पॉन्स को समझें”हर रिस्पॉन्स ग्रहों, भावों, दृष्टियों और
metaब्लॉक (cache hit, credits, engine version) वाला JSON है।response.json {"ok": true,"data": {"julianDay": 2448493.0625,"planets": [{ "id": 0, "name": "Sun", "longitude": 150.894819, "latitude": 0.00019, "isRetrograde": false, "declination": 11.15726 },{ "id": 1, "name": "Moon", "longitude": 321.634655, "latitude": 2.834053, "isRetrograde": false, "declination": -11.609723 }],"houses": {"system": "P","cusps": [264.384681, 306.997683, 353.867426],"ascendant": 264.384681,"mc": 207.315669},"aspects": [{"planet1": "Sun","planet2": "Moon","type": { "name": "Opposition", "angle": 180, "isMajor": true },"exactAngle": 170.739837,"orb": 9.260163,"isApplying": true}],"chartSect": "diurnal","meta": { "engineVersion": "2.10.03", "calculatedAt": "2026-08-22T20:53:31.431Z" }}}HTTP/2 200content-type: application/jsonx-credits-used: 20x-credits-remaining: 9980x-credits-limit: 10000x-credits-reset: 2026-09-01T00:00:00.000Zx-ratelimit-limit: 10x-ratelimit-remaining: 9x-ratelimit-reset: 1787432304x-request-id: 8aec43e9bc749b37e998a489bbad1757x-cache: MISS -
बैलेंस जाँचें
Section titled “बैलेंस जाँचें”Dashboard रियल टाइम में usage दिखाता है: api.astroway.info/dashboard। या API के ज़रिए:
Terminal window curl https://api.astroway.info/v1/keys/usage \-H "X-Api-Key: $AW_KEY"
Authentication
Section titled “Authentication”AstroWay API अनुरोधों को X-Api-Key हेडर के ज़रिए ऑथेंटिकेट करता है। Bearer टोकन और query-string कुंजियाँ समर्थित नहीं हैं।
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health| कुंजी का प्रकार | प्रीफ़िक्स | व्यवहार |
|---|---|---|
| Production | aw_live_* | अकाउंट से वास्तविक क्रेडिट काटती है |
| Sandbox | aw_test_* | नियतात्मक मॉक रिस्पॉन्स, बिना charge |
| Restricted (Pro+) | प्रतिबंध के साथ aw_live_* | ख़ास endpoints / IP / RPS तक सीमित |
कुंजियाँ बिना downtime के रोटेट होती हैं - नई जेनरेट करने के बाद पुरानी कुंजी 24 घंटे तक काम करती रहती है। विवरण: /authentication/।
Errors
Section titled “Errors”सभी त्रुटियाँ ok: false + error ऑब्जेक्ट के फ़ॉर्मेट में लौटाई जाती हैं। error.code फ़ील्ड (UPPER_SNAKE_CASE) स्क्रिप्ट्स के लिए स्थिर है - इस पर switch करें, message पर नहीं।
{ "ok": false, "error": { "code": "INVALID_INPUT", "message": "Validation failed: date: Invalid input: expected string, received undefined", "details": [ { "path": "date", "message": "Invalid input: expected string, received undefined" } ] }}सबसे आम कोड:
INVALID_INPUT(400): Zod वैलिडेशन विफल;detailsमें{ path, message }का ऐरे होता हैINVALID_API_KEY(401): कुंजी मौजूद नहीं या revoked हैPLAN_UPGRADE_REQUIRED(402): ऊँचा टैरिफ़ या add-on पैक चाहिएCREDITS_EXHAUSTED(429): क्रेडिट का मासिक बजट ख़त्म हो गयाRATE_LIMIT(429): RPM पार हो गया;Retry-After: <sec>हेडर के साथ लौटता हैinternal_calc_error(500): एफ़ेमेरिस त्रुटि; SDK की तरफ़ auto-retry
पूरी सूची और semantic: /errors/।
Rate limits
Section titled “Rate limits”| टैरिफ़ | Quota |
|---|---|
| Free | 10 req/min |
| Indie | 30 req/min |
| Starter | 120 req/min |
| Pro | 400 req/min |
| Business | 1 000 req/min |
| Enterprise | custom |
सीमा पार होने पर → Retry-After (sec) के साथ 429। आधिकारिक SDK में डिफ़ॉल्ट रूप से exponential-backoff retries होते हैं। विवरण: /rate-limits-credits/।
- ऑथेंटिकेशन: best practices, कुंजियों का रोटेशन, sandbox mode
- क्रेडिट और लिमिट: लागत तालिका, rate limiting, overage
- उदाहरण: जन्म कुंडली:
/v1/chartका विस्तृत विश्लेषण - GitHub पर तैयार इंटीग्रेशन: Discord/Slack बॉट, OpenAI tools, Cloudflare, आधिकारिक SDK पर FastAPI
- पूरा API reference: playground के साथ सभी 771 एंडपॉइंट