/api/astro/sunrise/1 кредитВосход и заход Солнца
Восход и заход Солнца для даты и места, а также продолжительность дня в секундах. Для Луны используйте /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 будет отличаться от интервала здесь. Оба ответа верны — каждый для своего вопроса.
https://api.occultapi.com/api/astro/sunrise/Аутентификация
Передавайте ключ в заголовке X-API-Key. Ключ — это серверные учётные данные: никогда не вставляйте его в JavaScript на стороне браузера или в мобильное приложение.
X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/jsonПоля запроса
| Поле | Тип | Обязательно | Примечания |
|---|---|---|---|
| date_time | string (date-time) | обязательный | Момент расчёта в формате ISO 8601. ВСЕГДА указывайте смещение или суффикс Z: значение без часового пояса интерпретируется как Asia/Kolkata (UTC+05:30), а не UTC, и может вернуть результат за предыдущий день со статусом 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 | необязательный | Какие расчёты вернуть — списком названий. См. таблицу ключей этого эндпоинта; нераспознанное название отклоняет весь запрос. Один вызов стоит один кредит, сколько бы ключей вы ни запросили, поэтому запрашивайте всё нужное сразу, а не несколькими вызовами. |
Пример запроса
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}'Ответ
{
"data": {
"sunrise": "2026-09-01T06:09:56+05:30",
"sunset": "2026-09-01T18:43:30+05:30",
"day_length_seconds": 45214
},
"status": 200,
"is_error": false,
"message": "successful"
}Записано с реального вызова ровно с этим запросом. Результаты лежат в data.
Ошибки
Ошибки списания кредитов приходят в виде { "error": "…", "message": "<code>", "is_error": true }. Людям показывайте error, а логику стройте на message. Подробнее — в справочнике ошибок.