Перейти до вмісту
POST/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_timestring (date-time)обов’язковий

Момент, для якого виконується розрахунок, у форматі ISO 8601. ЗАВЖДИ вказуйте зміщення або Z у кінці: значення без часового поясу читається як Asia/Kolkata (UTC+05:30), а не UTC, і може повернути результат за попередній день із кодом 200. '2026-09-01T06:00:00Z' і '2026-09-01 06:00:00' — різні моменти, і відповіді для них різні.

latitudenumber (double)обов’язковий

Широта місця в десяткових градусах. Додатні значення — північ, від’ємні — південь. Приклад: 26.9124 для Джайпура, 40.7128 для Нью-Йорка. Хвилини й секунди не приймаються — спершу переведіть їх у градуси.

min -89.9 · max 89.9

longitudenumber (double)обов’язковий

Довгота місця в десяткових градусах. Додатні значення — схід, від’ємні — захід. Приклад: 75.7873 для Джайпура, -74.0060 для Нью-Йорка. Зверніть увагу на знак: без мінуса Нью-Йорк опиниться в Китаї.

min -180 · max 180

timezone_as_floatnumber (double)обов’язковий

Зміщення місця від UTC у годинах, десятковим дробом. Приклад: 5.5 для Індії (UTC+05:30), -5 для Нью-Йорка взимку, 5.75 для Непалу. Його НЕ звіряють із date_time: якщо значення розходяться, ви отримаєте успішну відповідь для неправильного моменту, тож беріть обидва з одного джерела. Використовуйте зміщення, чинне на ту дату, а не сьогоднішнє: для народження влітку в країні з переходом на літній час потрібне літнє зміщення.

min -12 · max 14

keysarrayнеобов’язковий

Які розрахунки повернути, у вигляді списку назв. Див. таблицю ключів цього ендпоінта; через нерозпізнану назву відхиляється весь запит. Один виклик коштує один кредит незалежно від кількості запитаних ключів, тож запитуйте все потрібне одразу, а не кількома викликами.

Приклад запиту

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. Детальніше — у довіднику помилок.