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

Ближайшее солнечное затмение

Ближайшее солнечное затмение в любой точке Земли со всеми моментами контактов под понятными именами. Базовый движок отдаёт десять значений дата-время позиционным массивом, и чтобы понять, что элемент 4 — начало полной фазы, пришлось бы читать исходный код. Этот эндпоинт возвращает их именованными полями: begin, totality_begin, maximum, totality_end, end и моменты для центральной линии. Можно фильтровать по eclipse_type (total, annular, partial, hybrid) и по центральности — достигает ли ось тени поверхности Земли. Чтобы найти не следующее, а последнее прошедшее затмение, укажите direction = "before". Это ГЛОБАЛЬНЫЙ поиск: он отвечает на вопрос «когда», а не «видно ли его». Для второго используйте /api/astro/eclipse/local/.

https://api.occultapi.com/api/astro/eclipse/next-solar/
Попробовать запрос
«Ближайшее солнечное затмение» — результат в интерфейсе
Данные этого эндпоинта в живом интерфейсе. API отдаёт значения, а внешний вид вы делаете сами.

Аутентификация

Передавайте ключ в заголовке 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' — разные моменты, и ответы для них будут разными.

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

«Центральное» означает, что ось тени Луны действительно касается Земли. Имеет смысл, только если eclipse_type не равно 'any'.

anycentralnon-central
directionstringнеобязательный

Искать вперёд от date_time или назад.

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

Ограничить поиск одним видом солнечного затмения.

anytotalannularpartialhybrid
elevationnumber (double)необязательный
keysarrayнеобязательный

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

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

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

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

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

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/eclipse/next-solar/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time":"2026-01-01T00:00:00+00:00","timezone_as_float":0,"eclipse_type":"total","centrality":"any","direction":"after"}'

Ответ

{
  "data": {
    "found": true,
    "searched_from": "2026-01-01T00:00:00Z",
    "direction": "after",
    "eclipse": {
      "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"
      }
    }
  },
  "status": 200,
  "is_error": false,
  "message": "successful"
}

Записано с реального вызова ровно с этим запросом. Результаты лежат в data.

Ошибки

Ошибки списания кредитов приходят в виде { "error": "…", "message": "<code>", "is_error": true }. Людям показывайте error, а логику стройте на message. Подробнее — в справочнике ошибок.