AstroWay/api v2.190.0 · hi
सभी सिस्टम सामान्य हैं

तीन आधिकारिक SDK: TypeScript, Python, PHP कच्चे curl के बजाय

कच्चा HTTP काम करता है, लेकिन टाइप किया गया क्लाइंट घंटों की बचत करता है: पथ स्वत: पूर्णता, अनुरोध और प्रतिक्रिया प्रकार, 408/409/429/5xx के लिए बनाए गए रीट्री और स्टेनलेस-स्टाइल त्रुटि श्रेणी। हम तीन आधिकारिक SDK - @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist) - की जांच करते हैं और यह कैसे एक ओपनएपीआई अनुबंध से उत्पन्न होते हैं।

API को सीधे curl या fetch से बुलाया जा सकता है - कॉन्ट्रैक्ट सरल है, एक हेडर X-Api-Key, JSON भेजा और प्राप्त किया जाता है। लेकिन जब एन्डपॉइंट्स 758 से अधिक हो जाते हैं, और रिक्वेस्ट बॉडी में दहाड़ों फ़ील्ड होते हैं, तो टाइप्ड क्लाइंट घंटों बचाता है: पाथ का ऑटोकम्प्लीशन, रिक्वेस्ट और रिस्पॉन्स टाइप, अस्थिर नेटवर्क पर ऑटो रीट्राई।

इसलिए हमारे पास तीन आधिकारिक SDK हैं, जो एक ही OpenAPI 3.1 कॉन्ट्रैक्ट से जेनरेट किए गए हैं।

Terminal window
# TypeScript / JavaScript
npm install @astroway/sdk
# Python
pip install astroway
# PHP
composer require astroway/sdk

समान नेटल कार्ड कॉल तीन भाषाओं में।

TypeScript - openapi-fetch पर एक हल्की रैपर (~6 KB रनटाइम), पाथ ऑटोकम्प्लीशन के साथ:

import { Astroway } from '@astroway/sdk';
const aw = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const { data: chart } = await aw.client.POST('/chart', {
body: {
date: '1990-07-14',
time: '14:30:00',
timezoneOffset: 3,
latitude: 50.4501,
longitude: 30.5234,
houseSystem: 'P',
},
});
// aw.client.POST is the raw typed fetch, so `chart` is the { ok, data } envelope
console.log(chart.data.houses.ascendant); // 212.0952574979425

Python - सिंक्रोनस Astroway और असिंक्रोनस AsyncAstroway समान इंटरफ़ेस के साथ, httpx के ऊपर:

from astroway import Astroway
aw = Astroway(api_key=os.environ['ASTROWAY_API_KEY'])
chart = aw.post('/chart', body={
'date': '1990-07-14',
'time': '14:30:00',
'timezoneOffset': 3,
'latitude': 50.4501,
'longitude': 30.5234,
'houseSystem': 'P',
})
print(chart['houses']['ascendant'])

PHP - Guzzle 7 और PSR‑18 के ऊपर:

<?php
use Astroway\Astroway;
$aw = new Astroway(['apiKey' => getenv('ASTROWAY_API_KEY')]);
$chart = $aw->post('/chart', body: [
'date' => '1990-07-14',
'time' => '14:30:00',
'timezoneOffset' => 3,
'latitude' => 50.4501,
'longitude' => 30.5234,
'houseSystem' => 'P',
]);
echo $chart['houses']['ascendant'];

इन तीनों में क्या समान है

Section titled “इन तीनों में क्या समान है”

तीन अलग-अलग भाषाएँ, लेकिन समान गारंटी - क्योंकि सभी तीन एक ही OpenAPI‑कॉन्ट्रैक्ट से जेनरेट होते हैं:

  • सभी एन्डपॉइंट्स के लिए रिक्वेस्ट और रिस्पॉन्स टाइप्स। TS पाथ ऑटोकम्प्लीशन और टाइप्ड बॉडी देता है; Python - PEP 561 टाइप्ड पैकेज; PHP - टाइप्ड सिग्नेचर। IDE फ़ील्ड सुझाता है, डॉक्यूमेंटेशन नहीं पड़ती पड़ोसी टैब में।
  • बिल्ट‑इन रिट्राई बैकऑफ़ के साथ 408, 409, 429, 5xx पर। अस्थायी नेटवर्क फेल या रेट‑लिमिट तुम्हारा कोड नहीं तोड़ता - क्लाइंट खुद दोबारा कोशिश करता है।
  • Stainless‑स्टाइल एरर हायरार्की। एरर क्लास द्वारा टाइप्ड होते हैं, स्ट्रिंग नहीं catch में। तू विशिष्ट टाइप पकड़ता है - RateLimitError, ValidationError - और उसे विशेष रूप से हैंडल करता है।
  • OpenAPI 3.1 स्रोत के रूप में। API में एन्डपॉइंट जोड़ो - वह अगले रिलीज़ में SDK में दिखता है, मैन्युअल डुप्लिकेशन की जरूरत नहीं।
  • OIDC + SLSA‑प्रोवेनेंस रिलीज़ पर: TS और PHP - Trusted Publisher / auto‑mirror के ज़रिए, Python - PyPI पर Trusted Publisher OIDC। सप्लाई चेन वेरिफ़ाइबल है।

सभी में Base URL - https://api.astroway.info/v1/, की X-Api-Key हेडर से पास होती है। वही की, जो रॉ HTTP कॉल्स में इस्तेमाल होती है; SDK ऑथेंटिकेशन में कुछ नहीं बदलता।

फ्रेमवर्क रैपर और रोडमैप

Section titled “फ्रेमवर्क रैपर और रोडमैप”

तीन बेस SDK के ऊपर विशिष्ट स्टैक के लिए तैयार इंटीग्रेशन हैं:

  • @astroway/react - React एप्लिकेशन्स के लिए हुक
  • astroway/sdk-symfony - Symfony के लिए बंडल
  • astroway/sdk-laravel - Laravel के लिए पैकेज

विकास में हैं, लेकिन अभी प्रकाशित नहीं - Go, Ruby और Rust। उनके पेज SDK कैटलॉग में पहले से हैं, इंस्टॉल कमांड का प्रीव्यू के साथ; जब पैकेज रेजिस्ट्री में आता है, स्टेटस «उपलब्ध» में बदल जाता है।

  1. की dashboard/sign-up पर - महीने में 10 000 क्रेडिट मुफ्त
  2. ऊपर दिए कमांड से अपनी भाषा में SDK इंस्टॉल करो
  3. पहला कॉल - ऊपर के स्निपेट से नेटल कार्ड, अपना की ASTROWAY_API_KEY में डालो

पूरा SDK सूची और प्रत्येक के उदाहरण पेज पर देखें SDK.

MakSeong · AstroWay

मैं AstroWay API को बनाता हूँ: मैं Swiss Ephemeris को साफ़ REST में लोड करता हूँ और उसके बारे में जानकारी को लिखता हूँ जो वास्तव में महत्वपूर्ण है।

// इस पर बनाएं

वही Swiss Ephemeris जो Solar Fire में है - बस 4 लाइनों के कोड में।

कार्ड के बिना मुफ्त कुंजी। पहले भुगतान तक 5,000 कॉल प्रति माह।

ब्लॉग से और सभी पोस्ट →

Ephemeris 2026-07-19

हम कैसे प्रायदिशा की सटीकता को नियंत्रण में रखते हैं: CI के खिलाफ swetest और NASA

अस्त्रो-एपीआई में सटीकता एक सिंगल रिफैक्टरिंग के बाद भी आसानी से डिग्रेड हो जाती है। हम सुरक्षा के साथ संरक्षण को समझते हैं: एक Swiss Ephemeris कोर पर ब्राउज़र और सर्वर, सैकड़ों फ्रीज़ स्नैपशॉट्स पर स्टैंडर्ड मैप्स और swetest CGI, Kerykeion, Prokerala और NASA के ग्राह्य क्षेत्र के लिए त्रिकोणमिति प्रत्येक PR के खिलाफ।

Industry 2026-06-05

Free Astrology API: Which One Has the Best Free Tier in 2026?

A side-by-side of free tiers across the major astrology APIs - credits, request caps, card requirements - and how much you can actually build for free.

Engineering 2026-06-05

Horoscope API Tutorial: Build a Daily Horoscope Feature

Add daily, weekly and monthly horoscopes to your app via API - sign-based text vs transit-based personalization - with TypeScript and Python code.