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

Транзитные пересечения

Эндпоинт ищет моменты, а не описывает карту на заданное время. Он отвечает на вопросы вроде: когда Солнце в следующий раз достигнет 0 градусов Овна, когда Марс в следующий раз пересечёт заданный градус между двумя датами, когда Сатурн и Солнце в следующий раз окажутся на одной эклиптической долготе и где именно находится тело в данный момент. Два ключа — не расчёты, а переключатели режима: `set_default_transit` включает обычные тропические эфемериды, `set_sidereal_transit` — сидерические; оба возвращают null. Ключи запроса выполняются в указанном вами порядке, поэтому, если последующие поиски должны быть сидерическими, поставьте переключатель первым. В полях `planet`, `celestial`, `celestial1` и `celestial2` используются названия эфемерид в верхнем регистре (`SUN`, `MOON`, `MEAN_NODE`, `TRUE_NODE`, `CHIRON`, уранианские точки и несколько спутников планет) — это другой набор названий, не `Sun`/`Moon`, как на большинстве других эндпоинтов. `tz` — простое смещение в часах, которое применяется ко всем возвращаемым меткам времени; `when` задаёт направление поиска — 'after' или 'before' опорного момента; `datetime_start`/`datetime_end` ограничивают окно для `planet_transit`.

https://api.occultapi.com/api/astro/transit/
Попробовать запрос
«Транзитные пересечения» — результат в интерфейсе
Данные этого эндпоинта в живом интерфейсе. 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' — разные моменты, и ответы для них будут разными.

datetime_endstring (date-time)обязательный
datetime_startstring (date-time)обязательный
keysarrayобязательный

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

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

36 допустимых значений: 10 планет, два лунных узла, 6 астероидов, 9 уранианских/фиктивных тел и 9 спутников планет. Нераспознанное название не вызывает ошибку, а молча превращается в None, и сбой происходит уже глубже, в движке эфемерид. Обратите внимание: узлы записываются с подчёркиванием — MEAN_NODE / TRUE_NODE (псевдонимов 'RAHU'/'KETU' нет).

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

min -12 · max 14

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

36 допустимых значений: 10 планет, два лунных узла, 6 астероидов, 9 уранианских/фиктивных тел и 9 спутников планет. Нераспознанное название не вызывает ошибку, а молча превращается в None, и сбой происходит уже глубже, в движке эфемерид. Обратите внимание: узлы записываются с подчёркиванием — MEAN_NODE / TRUE_NODE (псевдонимов 'RAHU'/'KETU' нет).

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

36 допустимых значений: 10 планет, два лунных узла, 6 астероидов, 9 уранианских/фиктивных тел и 9 спутников планет. Нераспознанное название не вызывает ошибку, а молча превращается в None, и сбой происходит уже глубже, в движке эфемерид. Обратите внимание: узлы записываются с подчёркиванием — MEAN_NODE / TRUE_NODE (псевдонимов 'RAHU'/'KETU' нет).

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

36 допустимых значений: 10 планет, два лунных узла, 6 астероидов, 9 уранианских/фиктивных тел и 9 спутников планет. Нераспознанное название не вызывает ошибку, а молча превращается в None, и сбой происходит уже глубже, в движке эфемерид. Обратите внимание: узлы записываются с подчёркиванием — MEAN_NODE / TRUE_NODE (псевдонимов 'RAHU'/'KETU' нет).

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

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

min -89.9 · max 89.9

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

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

min -180 · max 180

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

МЁРТВЫЙ ПАРАМЕТР на уровне HTTP: TransitView никогда не передаёт его дальше, поэтому параметр ни на что не влияет. В движке осмысленно только значение 'special': оно выбирает таблицу nakshatras_special из 28 записей вместо стандартной таблицы из 27.

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

В движке по умолчанию — 'after'. Используется ключами 'solar_crossing', 'find_moon_crossing', 'moon_node_crossing' и 'celestial_conjunction'.

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

Доступные ключи (8)

Перечислите в keys ровно те расчёты, которые вам нужны. Один неизвестный ключ — и отклоняется весь запрос. Сколько бы ключей вы ни запросили, спишется 1 кредит, так что собирайте их в один вызов.

КлючДоп. поляОписание
celestial_conjunctioncelestial1, celestial2, datetime_start, whenПервый момент после `datetime_start`, когда `celestial1` и `celestial2` находятся на одной эклиптической долготе. Возвращает объект с `long1` и `long2` — долготами двух тел в найденный момент (близкими, но не строго равными, так как поиск останавливается при достижении допуска), — и `date`, меткой времени ISO.
find_moon_crossingx2cross, date_time, tz, whenМомент, когда Луна достигает эклиптической долготы, заданной в `x2cross`, с поиском вперёд или назад от `date_time` в зависимости от `when`. Возвращает одну метку времени ISO, сдвинутую на `tz`. Поскольку Луна проходит около 13 градусов в сутки, ответ обычно находится в пределах месяца от опорного момента.
moon_node_crossingdate_time, tz, whenСледующее или предыдущее пересечение лунного узла с поиском от `date_time` в направлении, заданном `when`. Возвращает объект с `date` — меткой времени ISO, сдвинутой на `tz`, — а также `long` и `lat`, эклиптическими долготой и широтой в этот момент. Полезно для определения сезонов затмений.
planet_transitdegr, planet, datetime_start, datetime_end, tzМомент, когда тело, указанное в `planet`, пересекает эклиптическую долготу из `degr`; поиск идёт между `datetime_start` и `datetime_end`. Возвращает одну метку времени ISO, сдвинутую на `tz`, или null, если внутри окна тело этого градуса не достигает. В отличие от пересечений Солнца и Луны, у этого поиска есть границы, поэтому задайте диапазон с запасом, чтобы событие в него попало.
set_default_transit—Переключатель режима, а не расчёт: переключает эфемериды на тропические (без аянамши) до конца запроса. Возвращает null. Ключи выполняются в указанном вами порядке, поэтому ставьте его перед ключами пересечений, на которые он должен действовать.
set_sidereal_transit—Переключатель режима, а не расчёт: переключает эфемериды на сидерические, поэтому последующие пересечения и положения в том же запросе отсчитываются с учётом аянамши, а не от тропической нулевой точки. Возвращает null; указывайте его перед ключами, на которые он должен действовать.
solar_crossingx2cross, date_time, tz, whenМомент, когда Солнце достигает эклиптической долготы, заданной в `x2cross`, с поиском вперёд или назад от `date_time` в зависимости от `when`. Возвращает одну метку времени ISO, сдвинутую на смещение `tz` в часах. Передайте 0, чтобы найти сидерический новый год, или натальную долготу Солнца, чтобы найти день рождения с точностью до минуты.
transit_detailscelestial, date_time, tzПолная сводка положения для тела, указанного в `celestial`, на момент `date_time`. Возвращает объект с `longitude` в виде заранее отформатированной строки для отображения, `nakshatra` и её `nakshatra_lord`, `padam` (четверть накшатры, 1-4), `full_degree` (сидерическая долгота, делённая на 30, т. е. номер знака плюс пройденная доля), `latitude_shara` в виде `{degrees, minutes, seconds}`, `speed` в градусах в сутки в виде строки, `right_ascension` в формате 'hh.mm.ss.ss' и `declination_kranti` в градусах в виде строки.

Пример запроса

curl -X POST https://api.occultapi.com/api/astro/transit/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time":"2024-11-20T06:52:42.466Z","keys":["set_sidereal_transit","planet_transit","solar_crossing","celestial_conjunction","transit_details"],"latitude":26.1046,"longitude":75.7873,"tz":5.5,"planet":"MARS","datetime_start":"2024-11-20T06:52:42.466Z","datetime_end":"2040-11-20T06:52:42.466Z","degr":0,"x2cross":0,"celestial1":"SATURN","celestial2":"SUN","celestial":"MARS","when":"after"}'

Ответ

{
  "data": {
    "set_sidereal_transit": null,
    "planet_transit": "2026-05-11T12:38:41+05:30",
    "solar_crossing": "2025-04-14T03:21:25+05:30",
    "celestial_conjunction": {
      "long1": 327.886,
      "long2": 327.877,
      "date": "2025-03-12T10:13:52.466000Z"
    },
    "transit_details": {
      "longitude": "4° Mesh 4'° 25\"",
      "nakshatra": "Makha",
      "padam": 2,
      "nakshatra_lord": "Ketu",
      "full_degree": 4.15,
      "latitude_shara": {
        "degrees": 2,
        "minutes": 5,
        "seconds": 52.8
      },
      "speed": "0.2",
      "right_ascension": "08.29.10.92",
      "declination_kranti": "21.19"
    }
  },
  "status": 200,
  "is_error": false,
  "message": "successful"
}

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

Ошибки

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