/api/astro/eclipse/attributes/1 кредитПараметры затмения на момент
Насколько глубока фаза затмения в заданный момент для заданного места. Снимок, а не поиск: в эту секунду, из этих координат — какая доля диска покрыта, насколько высоко тело над горизонтом, какова величина затмения и к какой серии сарос оно относится. Покрытие диска в ходе затмения меняется поминутно, поэтому, вызывая этот эндпоинт с шагом по времени на протяжении всего события, вы получите кривую покрытия — то, что нужно для живого трекера и чего не даст список моментов контактов. Не путать с /api/astro/eclipse/local/, который ищет ближайшее затмение, видимое из места, и возвращает моменты его контактов. Этот эндпоинт измеряет уже известный вам момент: передайте ему максимум из /local/ или /upcoming/, чтобы узнать глубину фазы на пике. Чтобы вместо этого получить теневую и полутеневую величину, укажите kind = "lunar". Покрытия диска для лунного затмения нет — это понятие солнечного затмения, поэтому поле отсутствует, а не равно нулю. Если в этот момент затмение не затрагивает это место, в ответе так и сказано — вместо страницы нулей, которую легко принять за реальное измерение.
https://api.occultapi.com/api/astro/eclipse/attributes/Аутентификация
Передавайте ключ в заголовке 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 |
| direction | string | необязательный | Искать вперёд от date_time или назад. afterbefore |
| elevation | number (double) | необязательный | |
| keys | array | необязательный | Какие расчёты вернуть — списком названий. См. таблицу ключей этого эндпоинта; нераспознанное название отклоняет весь запрос. Один вызов стоит один кредит, сколько бы ключей вы ни запросили, поэтому запрашивайте всё нужное сразу, а не несколькими вызовами. |
| kind | string | необязательный | Затмение какого тела измерять в этот момент. solarlunar |
| 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/eclipse/attributes/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-08-12T17:46:00+00:00","timezone_as_float":0,"latitude":64.1466,"longitude":-21.9426,"kind":"solar"}'Ответ
{
"data": {
"kind": "solar",
"in_progress": true,
"type": "partial",
"moment": "2026-08-12T17:46:00Z",
"place": {
"latitude": 64.1466,
"longitude": -21.9426,
"elevation": 0
},
"attributes": {
"solar_diameter_fraction_covered": 0.9694113526477836,
"lunar_to_solar_diameter_ratio": 1.0392513179040108,
"obscuration": 0.9698071068665648,
"core_shadow_diameter_km": -132.45757926321468,
"sun_azimuth": 72.06950998795764,
"sun_true_altitude": 24.78900312370976,
"sun_apparent_altitude": 24.824074556487865,
"moon_elongation": 0.026420359347729915,
"magnitude_nasa": 0.9694113526477836,
"saros_series": 126,
"saros_member": 48
},
"saros": {
"series": 126,
"member": 48
}
},
"status": 200,
"is_error": false,
"message": "successful"
}Записано с реального вызова ровно с этим запросом. Результаты лежат в data.
Ошибки
Ошибки списания кредитов приходят в виде { "error": "…", "message": "<code>", "is_error": true }. Людям показывайте error, а логику стройте на message. Подробнее — в справочнике ошибок.