curl -X POST https://api.occultapi.com/api/astro/sunrise/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-09-01T06:00:00+05:30","timezone_as_float":5.5,"latitude":26.9124,"longitude":75.7873}'किसी तारीख़ और स्थान के सूर्योदय और सूर्यास्त, साथ में दिन की लंबाई सेकंड में। चंद्रमा के लिए /api/astro/moonrise/ इस्तेमाल करें। तारीख़, अक्षांश, देशांतर और UTC ऑफ़सेट भेजें, बस। यही आँकड़े /api/astro/celestial/ से भी मिल सकते हैं, पर तभी जब आपको पता हो कि सूर्य (SUN) को नाम से माँगना है, उदय की परिपाटी वाला स्विच keys ऐरे में सबसे पहले रखना है, और दो आइटम वाले ऐरे का पहला (इंडेक्स शून्य) आइटम पढ़ना है, जिसका दूसरा आइटम दस दशमलव संख्याओं वाला एफ़ेमेरिस टपल है। यहाँ हिंदू पद्धति का उदय लिया जाता है - सूर्य का ऊपरी किनारा, बिना अपवर्तन के - वही परिपाटी जिससे /api/astro/panchanga/ अपना दिन बनाता है, इसलिए यहाँ सूर्यास्त में से सूर्योदय घटाने पर उस एंडपॉइंट का day_length सेकंड तक मेल खाता है। लौटाया गया सूर्यास्त हमेशा उसी सूर्योदय के बाद वाला होता है। दोनों में से कोई भी फ़ील्ड null हो सकता है: ध्रुवीय दिन या रात में सूर्य उदय या अस्त नहीं होता, और null यही बताता है। ऐसे में /api/astro/celestial/ "2000-11-24T12:00:00Z" लौटाता है, जो कोई असली क्षण नहीं, जूलियन दिन शून्य है। एक सीमा जान लें: यह एंडपॉइंट आपकी बताई कैलेंडर तारीख़ का उत्तर देता है, जबकि पंचांग का दिन सूर्योदय से सूर्योदय तक चलता है। सूर्योदय से पहले का कोई क्षण माँगें, तो पंचांग तब भी पिछले दिन की बात कर रहा होता है, इसलिए उसका day_length यहाँ की अवधि से अलग होगा। दोनों अपने-अपने प्रश्न के लिए सही हैं।
| फ़ील्ड | टाइप | ज़रूरी | टिप्पणी |
|---|---|---|---|
| date_time | string (date-time) | ज़रूरी | जिस क्षण की गणना करनी है, ISO 8601 फ़ॉर्मैट में। ऑफ़सेट या अंत में Z हमेशा लगाएँ - बिना ज़ोन वाली वैल्यू UTC नहीं, बल्कि Asia/Kolkata (UTC+05:30) मानी जाती है, और तब 200 के साथ पिछले दिन का नतीजा मिल सकता है। '2026-09-01T06:00:00Z' और '2026-09-01 06:00:00' दो अलग क्षण हैं, और इनके उत्तर भी अलग आते हैं। |
| latitude | number (double) | ज़रूरी | स्थान का अक्षांश, दशमलव अंशों में। उत्तरी अक्षांश धनात्मक होता है, दक्षिणी ऋणात्मक। उदाहरण: जयपुर के लिए 26.9124, न्यूयॉर्क के लिए 40.7128। कला और विकला स्वीकार नहीं की जातीं - पहले दशमलव अंशों में बदल लें। min -89.9 · max 89.9 |
| longitude | number (double) | ज़रूरी | स्थान का देशांतर, दशमलव अंशों में। पूर्वी देशांतर धनात्मक होता है, पश्चिमी ऋणात्मक। उदाहरण: जयपुर के लिए 75.7873, न्यूयॉर्क के लिए -74.0060। चिह्न पर ध्यान दें: माइनस छूट गया, तो न्यूयॉर्क चीन में पहुँच जाएगा। min -180 · max 180 |
| timezone_as_float | number (double) | ज़रूरी | स्थान का UTC ऑफ़सेट, घंटों में, दशमलव संख्या के रूप में। उदाहरण: भारत के लिए 5.5 (UTC+05:30), सर्दियों में न्यूयॉर्क के लिए -5, नेपाल के लिए 5.75। इसका date_time से मिलान नहीं किया जाता - दोनों में मेल न हो, तब भी उत्तर सफल आएगा, पर गलत क्षण का। इसलिए दोनों एक ही स्रोत से लें। उस तारीख़ को लागू ऑफ़सेट दें, आज का नहीं: डेलाइट सेविंग वाले देश में गर्मियों में हुए जन्म के लिए गर्मियों का ऑफ़सेट चाहिए। min -12 · max 14 |
| keys | array | वैकल्पिक | कौन-सी गणनाएँ लौटानी हैं, उनके नामों की सूची। इस एंडपॉइंट की key तालिका देखें; एक भी अनजान नाम हो, तो पूरा अनुरोध अस्वीकार हो जाता है। आप जितनी चाहें keys माँगें, एक कॉल पर एक ही क्रेडिट लगता है, इसलिए कई कॉल करने के बजाय जो कुछ चाहिए, सब एक साथ माँग लें। |