/api/astro/moon-illumination/1 кредитОсвітленість і фаза Місяця
Яка частина Місяця освітлена, справжнім дробом. Обчислюється з елонгації між Сонцем і Місяцем: lit = (1 - cos(elongation)) / 2, тобто 0 у молодик, 0.5 у будь-яку чверть і 1 у повню. Повертається і дробом, і у відсотках, разом з елонгацією, фазовим кутом, ознакою того, чи зростає Місяць, та загальноприйнятою назвою фази. Цей ендпоінт з’явився тому, що ключ ядра `get_illumination` повертає зовсім не освітленість, а ВИДИМУ ЗОРЯНУ ВЕЛИЧИНУ — близько -26.7 для Сонця і від -6 до -12 для Місяця залежно від фази. Дріб не може бути від’ємним і тим паче дорівнювати -26, тож якщо вивести це поле як «відсоток освітленості», вийде нісенітниця. Тут це значення теж повертається, але під своєю справжньою назвою: apparent_magnitude, де менше значення означає яскравіше світило.
https://api.occultapi.com/api/astro/moon-illumination/Автентифікація
Передавайте ключ у заголовку 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' — різні моменти, і відповіді для них різні. |
| altitude | number (double) | необов’язковий | Висота СПОСТЕРІГАЧА в метрах, а не висота тіла. |
| keys | array | необов’язковий | Які розрахунки повернути, у вигляді списку назв. Див. таблицю ключів цього ендпоінта; через нерозпізнану назву відхиляється весь запит. Один виклик коштує один кредит незалежно від кількості запитаних ключів, тож запитуйте все потрібне одразу, а не кількома викликами. |
| latitude | number (double) | необов’язковий | Широта місця в десяткових градусах. Додатні значення — північ, від’ємні — південь. Приклад: 26.9124 для Джайпура, 40.7128 для Нью-Йорка. Хвилини й секунди не приймаються — спершу переведіть їх у градуси. min -89.9 · max 89.9 |
| longitude | number (double) | необов’язковий | Довгота місця в десяткових градусах. Додатні значення — схід, від’ємні — захід. Приклад: 75.7873 для Джайпура, -74.0060 для Нью-Йорка. Зверніть увагу на знак: без мінуса Нью-Йорк опиниться в Китаї. min -180 · max 180 |
| planet_names | array | необов’язковий | Ігнорується. Цей ендпоінт завжди зчитує Сонце й Місяць. |
| time_zone | number (double) | необов’язковий | Зміщення від UTC. Передайте або це поле, або timezone_as_float: вони рівнозначні. min -12 · max 14 |
| timezone_as_float | number (double) | необов’язковий | Зміщення місця від UTC у годинах, десятковим дробом. Приклад: 5.5 для Індії (UTC+05:30), -5 для Нью-Йорка взимку, 5.75 для Непалу. Його НЕ звіряють із date_time: якщо значення розходяться, ви отримаєте успішну відповідь для неправильного моменту, тож беріть обидва з одного джерела. Використовуйте зміщення, чинне на ту дату, а не сьогоднішнє: для народження влітку в країні з переходом на літній час потрібне літнє зміщення. min -12 · max 14 |
Приклад запиту
curl -X POST https://api.occultapi.com/api/astro/moon-illumination/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-09-09T12:00:00+00:00","latitude":26.9124,"longitude":75.7873,"timezone_as_float":0}'Відповідь
{
"data": {
"illuminated_fraction": 0.034082,
"illuminated_percent": 3.4082,
"elongation_degrees": 21.277,
"phase_angle_degrees": 338.723,
"waxing": false,
"phase_name": "New moon",
"apparent_magnitude": {
"moon": -6.123776,
"sun": -26.726421
},
"longitudes": {
"sun": 166.834,
"moon": 145.557
},
"notes": {
"apparent_magnitude": "The engine key named get_illumination returns apparent magnitude, not illumination. Smaller is brighter; it is negative for both of these bodies. Use illuminated_fraction for how much of the disc is lit."
}
},
"status": 200,
"is_error": false,
"message": "successful"
}Записано з реального виклику з точно таким запитом, як вище. Результати лежать у data.
Помилки
Помилки обліку кредитів мають вигляд { "error": "…", "message": "<code>", "is_error": true }. Людям показуйте error, а логіку будуйте на message. Детальніше — у довіднику помилок.