Перейти до вмісту
POST/api/astro/eclipse/upcoming/1 кредит

Найближчі затемнення

Кілька наступних затемнень — сонячні й місячні разом в одному хронологічному списку. Один виклик і один кредит — замість того, щоб самостійно зсувати дату й платити за кожен окремий пошук, як інакше довелося б робити для календаря затемнень. Запитуйте до 24 затемнень, залишайте лише сонячні чи лише місячні або встановіть direction у "before", щоб рухатися назад у минуле.

https://api.occultapi.com/api/astro/eclipse/upcoming/
Спробувати запит

Автентифікація

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

countintegerнеобов’язковий

Скільки затемнень повернути, не більше 24.

min 1 · max 24

directionstringнеобов’язковий

Шукати вперед від date_time чи назад.

afterbefore
elevationnumber (double)необов’язковий
keysarrayнеобов’язковий

Які розрахунки повернути, у вигляді списку назв. Див. таблицю ключів цього ендпоінта; через нерозпізнану назву відхиляється весь запит. Один виклик коштує один кредит незалежно від кількості запитаних ключів, тож запитуйте все потрібне одразу, а не кількома викликами.

kindstringнеобов’язковий
bothsolarlunar
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/upcoming/ \
  -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,"count":6,"kind":"both","direction":"after"}'

Відповідь

{
  "data": {
    "count": 6,
    "kind": "both",
    "searched_from": "2026-01-01T00:00:00Z",
    "direction": "after",
    "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"
        }
      }
    ]
  },
  "status": 200,
  "is_error": false,
  "message": "successful"
}

Записано з реального виклику з точно таким запитом, як вище. Результати лежать у data.

Помилки

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