Перейти к основному содержимому
POST/api/astro/moon-illumination/1 кредит

Освещённость и фаза Луны

Какая часть Луны освещена — в виде настоящей доли. Считается по элонгации между Солнцем и Луной: lit = (1 - cos(elongation)) / 2, то есть 0 в новолуние, 0.5 в любой четверти и 1 в полнолуние. Возвращается и долей, и в процентах, вместе с элонгацией, фазовым углом, признаком растущей Луны и общепринятым названием фазы. Этот эндпоинт появился потому, что ключ движка `get_illumination` возвращает вовсе не освещённость, а ВИДИМУЮ ЗВЁЗДНУЮ ВЕЛИЧИНУ: около -26.7 для Солнца и от -6 до -12 для Луны в зависимости от фазы. Доля не может быть отрицательной и уж точно не может равняться -26, так что если вывести это поле на индикатор "percent lit", получится бессмыслица. Здесь это значение тоже возвращается, но под подходящим ему именем: 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_timestring (date-time)обязательный

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

altitudenumber (double)необязательный

Высота НАБЛЮДАТЕЛЯ над уровнем моря в метрах, а не высота тела над горизонтом.

keysarrayнеобязательный

Какие расчёты вернуть — списком названий. См. таблицу ключей этого эндпоинта; нераспознанное название отклоняет весь запрос. Один вызов стоит один кредит, сколько бы ключей вы ни запросили, поэтому запрашивайте всё нужное сразу, а не несколькими вызовами.

latitudenumber (double)необязательный

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

min -89.9 · max 89.9

longitudenumber (double)необязательный

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

min -180 · max 180

planet_namesarrayнеобязательный

Игнорируется. Этот эндпоинт всегда использует Солнце и Луну.

time_zonenumber (double)необязательный

Смещение UTC. Передайте либо это поле, либо timezone_as_float — они взаимозаменяемы.

min -12 · max 14

timezone_as_floatnumber (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. Подробнее — в справочнике ошибок.