/api/astro/eclipse/range/1 кредитЗатмения в диапазоне дат
Все затмения между двумя датами, без пропусков. Для многолетних календарей и временных шкал затмений. Окно ограничено двадцатью годами — это примерно 140 затмений; дальше один ответ становится слишком большим, чтобы клиенту было удобно с ним работать. Если не фильтровать по виду, солнечные и лунные затмения идут вместе в строгом хронологическом порядке.
https://api.occultapi.com/api/astro/eclipse/range/Аутентификация
Передавайте ключ в заголовке 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' — разные моменты, и ответы для них будут разными. |
| end_date_time | string (date-time) | обязательный | |
| direction | string | необязательный | Искать вперёд от date_time или назад. afterbefore |
| elevation | number (double) | необязательный | |
| keys | array | необязательный | Какие расчёты вернуть — списком названий. См. таблицу ключей этого эндпоинта; нераспознанное название отклоняет весь запрос. Один вызов стоит один кредит, сколько бы ключей вы ни запросили, поэтому запрашивайте всё нужное сразу, а не несколькими вызовами. |
| kind | string | необязательный | bothsolarlunar |
| latitude | number (double) | необязательный | Широта места в десятичных градусах. Положительные значения — север, отрицательные — юг. Пример: 26.9124 для Джайпура, 40.7128 для Нью-Йорка. Минуты и секунды не принимаются — сначала переведите значение в десятичные градусы. |
| longitude | number (double) | необязательный | Долгота места в десятичных градусах. Положительные значения — восток, отрицательные — запад. Пример: 75.7873 для Джайпура, -74.0060 для Нью-Йорка. Следите за знаком: без минуса Нью-Йорк окажется в Китае. |
| 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/range/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-01-01T00:00:00+00:00","end_date_time":"2027-12-31T23:59:59+00:00","timezone_as_float":0,"kind":"both"}'Ответ
{
"data": {
"from": "2026-01-01T00:00:00Z",
"to": "2027-12-31T23:59:59Z",
"kind": "both",
"count": 9,
"eclipses": [
{
"kind": "solar",
"type": "annular",
"centrality": "central",
"maximum": "2026-02-17T12:11:53Z",
"times": {
"maximum": "2026-02-17T12:11:53Z",
"local_apparent_noon": "2026-02-17T11:18:50Z",
"begin": "2026-02-17T09:56:47Z",
"end": "2026-02-17T14:27:40Z",
"totality_begin": "2026-02-17T11:43:04Z",
"totality_end": "2026-02-17T12:41:05Z",
"centre_line_begin": "2026-02-17T11:48:27Z",
"centre_line_end": "2026-02-17T12:35:44Z"
}
},
{
"kind": "lunar",
"type": "total",
"centrality": null,
"maximum": "2026-03-03T11:33:42Z",
"times": {
"maximum": "2026-03-03T11:33:42Z",
"partial_begin": "2026-03-03T09:50:06Z",
"partial_end": "2026-03-03T13:17:18Z",
"totality_begin": "2026-03-03T11:04:34Z",
"totality_end": "2026-03-03T12:02:51Z",
"penumbral_begin": "2026-03-03T08:44:25Z",
"penumbral_end": "2026-03-03T14:23:08Z"
}
},
{
"kind": "solar",
"type": "total",
"centrality": "central",
"maximum": "2026-08-12T17:45:57Z",
"times": {
"maximum": "2026-08-12T17:45:57Z",
"local_apparent_noon": "2026-08-12T17:03:51Z",
"begin": "2026-08-12T15:34:30Z",
"end": "2026-08-12T19:57:57Z",
"totality_begin": "2026-08-12T16:58:05Z",
"totality_end": "2026-08-12T18:34:00Z",
"centre_line_begin": "2026-08-12T17:00:06Z",
"centre_line_end": "2026-08-12T18:32:01Z"
}
},
{
"kind": "lunar",
"type": "partial",
"centrality": null,
"maximum": "2026-08-28T04:12:58Z",
"times": {
"maximum": "2026-08-28T04:12:58Z",
"partial_begin": "2026-08-28T02:33:53Z",
"partial_end": "2026-08-28T05:52:03Z",
"penumbral_begin": "2026-08-28T01:23:57Z",
"penumbral_end": "2026-08-28T07:01:50Z"
}
},
{
"kind": "solar",
"type": "annular",
"centrality": "central",
"maximum": "2027-02-06T15:59:40Z",
"times": {
"maximum": "2027-02-06T15:59:40Z",
"local_apparent_noon": "2027-02-06T15:44:31Z",
"begin": "2027-02-06T12:57:51Z",
"end": "2027-02-06T19:01:40Z",
"totality_begin": "2027-02-06T14:04:05Z",
"totality_end": "2027-02-06T17:55:27Z",
"centre_line_begin": "2027-02-06T14:07:14Z",
"centre_line_end": "2027-02-06T17:52:20Z"
}
},
{
"kind": "lunar",
"type": "penumbral",
"centrality": null,
"maximum": "2027-02-20T23:12:51Z",
"times": {
"maximum": "2027-02-20T23:12:51Z",
"penumbral_begin": "2027-02-20T21:12:23Z",
"penumbral_end": "2027-02-21T01:13:22Z"
}
},
{
"kind": "lunar",
"type": "penumbral",
"centrality": null,
"maximum": "2027-07-18T16:03:00Z",
"times": {
"maximum": "2027-07-18T16:03:00Z",
"penumbral_begin": "2027-07-18T15:57:14Z",
"penumbral_end": "2027-07-18T16:08:46Z"
}
},
{
"kind": "solar",
"type": "total",
"centrality": "central",
"maximum": "2027-08-02T10:06:39Z",
"times": {
"maximum": "2027-08-02T10:06:39Z",
"local_apparent_noon": "2027-08-02T10:01:00Z",
"begin": "2027-08-02T07:30:17Z",
"end": "2027-08-02T12:43:08Z",
"totality_begin": "2027-08-02T08:23:29Z",
"totality_end": "2027-08-02T11:49:56Z",
"centre_line_begin": "2027-08-02T08:25:07Z",
"centre_line_end": "2027-08-02T11:48:18Z"
}
},
{
"kind": "lunar",
"type": "penumbral",
"centrality": null,
"maximum": "2027-08-17T07:13:51Z",
"times": {
"maximum": "2027-08-17T07:13:51Z",
"penumbral_begin": "2027-08-17T05:24:31Z",
"penumbral_end": "2027-08-17T09:03:11Z"
}
}
]
},
"status": 200,
"is_error": false,
"message": "successful"
}Записано с реального вызова ровно с этим запросом. Результаты лежат в data.
Ошибки
Ошибки списания кредитов приходят в виде { "error": "…", "message": "<code>", "is_error": true }. Людям показывайте error, а логику стройте на message. Подробнее — в справочнике ошибок.