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

Смуга видимості затемнення

Де сонячне затемнення буде повним — у вигляді лінії координат, яку можна намалювати на мапі. Знаходить наступне сонячне затемнення після заданого вами моменту, розраховує точки, де вісь тіні Місяця перетинає Землю, і повертає впорядковані пари широта/довгота. Для повного затемнення 2026-08-12 ця смуга починається в арктичному Сибіру, проходить над полюсом, спускається через Ісландію і виходить в Атлантику біля Піренейського півострова. Саме від неї залежить, повне чи часткове затемнення побачать у певному місці. Точки беруться в межах повної (або кільцеподібної) фази, а не всього затемнення. Поза нею вісь тіні взагалі не потрапляє на Землю і центральної лінії немає, тож для суто часткового затемнення повертається порожня смуга зі значенням path_traced_over "none", а не лінія, якої не існує. Точки, де вісь не потрапляє на Землю, відкидаються, тож sample_count може бути меншим за запитану кількість точок. Також повертає точку найбільшої фази з її фазою, покриттям диска, серією сарос і номером у серії — ідентифікатором, за яким індексуються каталоги затемнень. Моменти на смузі подано в UTC із суфіксом Z. Смуга перетинає земну кулю, тож зміщення, яке використовують інші ендпоінти затемнень, вводило б в оману для точки на іншому боці світу від вас. Межі тіні й півтіні не повертаються: у цьому розрахунку обчислюється лише центральна лінія, і якби ми повертали порожні позиції, межею виявилася б точка 0N 0E.

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

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

Передавайте ключ у заголовку 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 для Нью-Йорка. Зверніть увагу на знак: без мінуса Нью-Йорк опиниться в Китаї.

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

Скільки точок розрахувати вздовж смуги: що більше, то плавніша лінія; не більше 120.

min 2 · max 120

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/visibility-path/ \
  -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","direction":"after","samples":24}'

Відповідь

{
  "data": {
    "found": true,
    "eclipse": {
      "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"
      }
    },
    "path_traced_over": "totality",
    "requested_samples": 24,
    "sample_count": 25,
    "path": [
      {
        "datetime_utc": "2026-08-12T16:58:05Z",
        "latitude": 74.877805,
        "longitude": 117.671955
      },
      {
        "datetime_utc": "2026-08-12T17:02:04Z",
        "latitude": 82.361743,
        "longitude": 112.418144
      },
      {
        "datetime_utc": "2026-08-12T17:06:04Z",
        "latitude": 87.329632,
        "longitude": 80.477549
      },
      {
        "datetime_utc": "2026-08-12T17:10:04Z",
        "latitude": 86.790315,
        "longitude": -2.537547
      },
      {
        "datetime_utc": "2026-08-12T17:14:04Z",
        "latitude": 83.870696,
        "longitude": -21.42455
      },
      {
        "datetime_utc": "2026-08-12T17:18:03Z",
        "latitude": 81.057681,
        "longitude": -26.067301
      },
      {
        "datetime_utc": "2026-08-12T17:22:03Z",
        "latitude": 78.429119,
        "longitude": -27.559629
      },
      {
        "datetime_utc": "2026-08-12T17:26:03Z",
        "latitude": 75.963829,
        "longitude": -27.916291
      },
      {
        "datetime_utc": "2026-08-12T17:30:03Z",
        "latitude": 73.627499,
        "longitude": -27.753208
      },
      {
        "datetime_utc": "2026-08-12T17:34:03Z",
        "latitude": 71.393131,
        "longitude": -27.30956
      },
      {
        "datetime_utc": "2026-08-12T17:38:02Z",
        "latitude": 69.248567,
        "longitude": -26.695107
      },
      {
        "datetime_utc": "2026-08-12T17:42:02Z",
        "latitude": 67.159166,
        "longitude": -25.955597
      },
      {
        "datetime_utc": "2026-08-12T17:46:02Z",
        "latitude": 65.120178,
        "longitude": -25.117197
      },
      {
        "datetime_utc": "2026-08-12T17:50:02Z",
        "latitude": 63.119601,
        "longitude": -24.188769
      },
      {
        "datetime_utc": "2026-08-12T17:54:02Z",
        "latitude": 61.146536,
        "longitude": -23.169557
      },
      {
        "datetime_utc": "2026-08-12T17:58:01Z",
        "latitude": 59.19864,
        "longitude": -22.056292
      },
      {
        "datetime_utc": "2026-08-12T18:02:01Z",
        "latitude": 57.248921,
        "longitude": -20.82451
      },
      {
        "datetime_utc": "2026-08-12T18:06:01Z",
        "latitude": 55.293732,
        "longitude": -19.455163
      },
      {
        "datetime_utc": "2026-08-12T18:10:01Z",
        "latitude": 53.318925,
        "longitude": -17.9132
      },
      {
        "datetime_utc": "2026-08-12T18:14:01Z",
        "latitude": 51.305904,
        "longitude": -16.145189
      },
      {
        "datetime_utc": "2026-08-12T18:18:00Z",
        "latitude": 49.236237,
        "longitude": -14.074018
      },
      {
        "datetime_utc": "2026-08-12T18:22:00Z",
        "latitude": 47.046663,
        "longitude": -11.526755
      },
      {
        "datetime_utc": "2026-08-12T18:26:00Z",
        "latitude": 44.648895,
        "longitude": -8.169827
      },
      {
        "datetime_utc": "2026-08-12T18:30:00Z",
        "latitude": 41.718798,
        "longitude": -2.829804
      },
      {
        "datetime_utc": "2026-08-12T18:34:00Z",
        "latitude": 37.795826,
        "longitude": 4.632462
      }
    ],
    "greatest_eclipse": {
      "datetime_utc": "2026-08-12T17:45:57Z",
      "latitude": 65.162226,
      "longitude": -25.135594,
      "attributes": {
        "solar_diameter_fraction_covered": 1.0177529811525174,
        "lunar_to_solar_diameter_ratio": 1.0395246462080372,
        "obscuration": 1.0806114900739452,
        "core_shadow_diameter_km": -132.45861086856522,
        "sun_azimuth": 68.50274145564674,
        "sun_true_altitude": 25.738278484149753,
        "sun_apparent_altitude": 25.771879784684916,
        "moon_elongation": 0.0010572200151275264,
        "magnitude_nasa": 1.0395246462080372,
        "saros_series": 126,
        "saros_member": 48
      },
      "saros": {
        "series": 126,
        "member": 48
      }
    },
    "notes": {
      "path": "Sampled evenly across totality. Times are UTC.",
      "limits": "Umbra and penumbra limits are unavailable: only the central line is computed for this calculation."
    }
  },
  "status": 200,
  "is_error": false,
  "message": "successful"
}

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

Помилки

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