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

Натальная карта

Основной эндпоинт карты: положения планет, дома и асцендент для заданного момента и места. Для обычной натальной карты запросите карту раши (D-1); любую из трёх с лишним десятков дробных карт — навамшу, дашамшу, двадашамшу, шаштьямшу и другие — тоже можно запросить по названию. Если передать массив названий, за один вызов вернётся несколько карт с ключами по названию карты. Каждая карта состоит из трёх блоков. `celestial` — с ключами по названиям тел (sun, moon, … northtruenode); для каждого указаны долгота, широта, накшатра и пада, какшья, название знака и номер дома. `houses` — с ключами от 1 до 12: `start`, `cusp` и `end` каждого дома. `ascendant` — восходящий градус и его знак. `notation` задаёт единицы во всём ответе: 'degree' — десятичные градусы, 'astrological' — знак плюс градусы, минуты и секунды. Точность настраивается необязательными полями. `ayanamsa` выбирает сидерическое определение, а `apply_correction` вместе с `correction_deg`, `correction_min`, `correction_sec` и `correction_direction` позволяет сдвинуть его вручную. `rahu` выбирает истинные узлы, средние или оба. `extended_bodies` добавляет астероиды, уранианские фиктивные тела или спутники планет; тела, для которых нет файлов эфемерид, молча пропускаются. `ascendant_pos` определяет, где берётся асцендент: на куспиде, в начале или в конце дома. Обратите внимание: любое значение, кроме 'start' и 'end', в том числе опечатка, без предупреждения заменяется на куспид. Поле даты на этом эндпоинте называется `datetime`, а не `date_time`. SVG-ОТРИСОВКА ПО ЗАПРОСУ. Если передать render = 'svg', в ответе появятся ещё два поля — в дополнение к четырём перечисленным выше, а не вместо них. `layout` — геометрия: точки многоугольника каждой ячейки дома или знака, позиция подписи и тела, которые в ней находятся; по ней можно нарисовать собственную диаграмму в React, Canvas, Flutter или SwiftUI. `svg` — готовая SVG-разметка, построенная по той же геометрии. chart_style выбирает североиндийский стиль (ромб, фиксированные дома, смещающиеся знаки) или южноиндийский (фиксированная сетка знаков, смещающиеся дома); svg_size, theme, label_style, show_degrees и четыре поля *_color управляют отрисовкой. Все эти поля по умолчанию выключены, поэтому на запросы без render это никак не влияет — ответ остаётся точно таким же, как раньше.

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

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

Передавайте ключ в заголовке X-API-Key. Ключ — это серверные учётные данные: никогда не вставляйте его в JavaScript на стороне браузера или в мобильное приложение.

X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/json

Поля запроса

ПолеТипОбязательноПримечания
ascendant_posstringобязательный
cuspstartend

'start' берёт начало дома, 'end' — конец дома; ЛЮБОЕ другое значение, включая сам 'cusp' и любую опечатку, уходит в ветку else и берёт куспид дома. Поэтому фактическое значение по умолчанию — 'cusp', а опечатки не вызывают ошибки и проходят незамеченными. С учётом регистра.

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

БЕЗ учёта регистра: для поиска используется name.upper. В отличие от /api/astro/ayanamsa_value/, здесь 'USER' НЕ отклоняется. Для неизвестного значения возвращается 400 "Undefined ayanamsa: <name>". Обратите внимание: apply_correction=true отменяет выбор и переключает внутренний режим на USER.

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

С учётом регистра, в точности как в списке. Передайте одно название или массив, чтобы получить несколько карт за один вызов, — тогда ответ будет с ключами по названию карты. Для неизвестного названия возвращается 400.

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

Момент расчёта в формате ISO 8601. ВСЕГДА указывайте смещение или суффикс Z: значение без часового пояса интерпретируется как Asia/Kolkata (UTC+05:30), а не UTC. То же, что date_time: другие эндпоинты называют это поле иначе.

Ограничение ФОРМАТА, а не перечисление. DRF DateTimeField: только ISO-8601 (входные форматы DRF по умолчанию), например "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" или "2026-09-01 06:00:00" (без часового пояса подразумевается UTC). Обратите внимание: на этом эндпоинте поле называется `datetime`, а не `date_time`.

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

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

min -180 · max 180

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

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

min -180 · max 180

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

С учётом регистра, в нижнем регистре. 'astrological' возвращает составляющие знак/градус/минута/секунда, 'degree' — сырые десятичные градусы. При любом другом значении возвращается 400 "Invalid notation: <x>".

aberrationbooleanнеобязательный
apply_correctionbooleanнеобязательный
background_colorstringнеобязательный

Hex-цвет фона SVG.

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

Стиль диаграммы при render='svg'. 'north' — ромбовидная схема с фиксированными домами и смещающимися знаками; 'south' — сетка с фиксированными знаками и смещающимися домами.

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

min 0

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

По умолчанию 'add'. Имеет смысл, только если apply_correction=true и хотя бы одно из correction_deg/min/sec не равно нулю.

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

min 0 · max 59

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

min 0 · max 59

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

Какие группы тел включить: 'asteroids', 'planetary_moons', 'fictitious_bodies'.

asteroidsplanetary_moonsfictitious_bodies

Массив строк, по умолчанию []. 'asteroids' добавляет chiron, pholus, ceres, pallas, juno, vesta; 'fictitious_bodies' добавляет cupido, hades, zeus, kronos, apollon, admetos, vulkanus, poseidon, selena; 'planetary_moons' добавляет phobos, deimos, io, europa, ganymede, callisto, titan, triton, charon. Тела, для которых нет файлов эфемерид, молча отбрасываются из ответа.

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

Как подписываются планеты: 'english' (Su, Mo, ...), 'sanskrit' (Surya, Chandra, ...) или 'symbol' (☉, ☽, ...).

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

Hex-цвет линий сетки карты.

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

Hex-цвет подписей планет, например '#111827'. По умолчанию — собственный цвет темы.

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

Какие узлы включить. 'true' — только истинные узлы, 'mean' — только средние, 'both' — оба типа.

truemeanboth

По умолчанию 'true'. 'true' возвращает только истинные узлы, 'mean' — только средние, 'both' — все четыре.

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

Укажите 'svg', чтобы дополнительно получить отрисованную диаграмму карты (см. chart_style) и лежащую в её основе геометрию. Если параметр не передавать, ответ не изменится.

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

Показывать рядом с подписью каждого тела его градус в знаке.

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

Hex-цвет номеров и сокращений знаков.

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

Ширина и высота квадратного SVG viewBox в пикселях.

min 100 · max 2000

themestringнеобязательный
lightdark
true_meanstringнеобязательный
TrueMean

С УЧЁТОМ регистра, с заглавной буквы. По умолчанию 'Mean'. Выбирает истинные или средние положения планет (истинные, а не видимые положения).

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

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

curl -X POST https://api.occultapi.com/api/astro/chart/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"chart_name":"NavamsaChart","datetime":"2026-04-09T15:35:00+05:30","longitude":75.76861133842026,"latitude":26.849874414615,"notation":"degree","ayanamsa":"lahiri","ascendant_pos":"cusp","rahu":"true","true_mean":"Mean","refraction":false,"apply_correction":false,"correction_direction":"add","correction_deg":0,"correction_min":0,"correction_sec":0}'

Ответ

{
  "data": {
    "NavamsaChart": {
      "celestial": {
        "sun": {
          "longitude": 318.0675,
          "latitude": 0,
          "nakshatra": "Satabhishak",
          "pada": 4,
          "kakshya": "venus",
          "zodiac_name": "Aquarius",
          "house": 8
        },
        "moon": {
          "longitude": 150.3425,
          "latitude": -4.343,
          "nakshatra": "Uttara Phalguni",
          "pada": 2,
          "kakshya": "saturn",
          "zodiac_name": "Virgo",
          "house": 3
        },
        "mercury": {
          "longitude": 74.3125,
          "latitude": -2.291,
          "nakshatra": "Aardra",
          "pada": 3,
          "kakshya": "sun",
          "zodiac_name": "Gemini",
          "house": 12
        },
        "venus": {
          "longitude": 159.8475,
          "latitude": -0.081,
          "nakshatra": "Uttara Phalguni",
          "pada": 4,
          "kakshya": "mars",
          "zodiac_name": "Virgo",
          "house": 3
        },
        "mars": {
          "longitude": 139.1825,
          "latitude": -1.01,
          "nakshatra": "Poorva Phalguni",
          "pada": 2,
          "kakshya": "Mercury",
          "zodiac_name": "Leo",
          "house": 2
        },
        "jupiter": {
          "longitude": 19.82499999999999,
          "latitude": 0.377,
          "nakshatra": "Bharani",
          "pada": 2,
          "kakshya": "Mercury",
          "zodiac_name": "Aries",
          "house": 10
        },
        "saturn": {
          "longitude": 201.275,
          "latitude": -2.136,
          "nakshatra": "Visaakha",
          "pada": 1,
          "kakshya": "Mercury",
          "zodiac_name": "Libra",
          "house": 4
        },
        "uranus": {
          "longitude": 314.28,
          "latitude": -0.169,
          "nakshatra": "Satabhishak",
          "pada": 3,
          "kakshya": "sun",
          "zodiac_name": "Aquarius",
          "house": 8
        },
        "neptune": {
          "longitude": 164.6175,
          "latitude": -1.31,
          "nakshatra": "Hasta",
          "pada": 2,
          "kakshya": "sun",
          "zodiac_name": "Virgo",
          "house": 3
        },
        "pluto": {
          "longitude": 10.007499999999991,
          "latitude": -3.973,
          "nakshatra": "Ashwini",
          "pada": 4,
          "kakshya": "mars",
          "zodiac_name": "Aries",
          "house": 10
        },
        "northtruenode": {
          "longitude": 304.65,
          "latitude": 0,
          "nakshatra": "Dhanishtha",
          "pada": 4,
          "kakshya": "jupiter",
          "zodiac_name": "Aquarius",
          "house": 8
        },
        "southtruenode": {
          "longitude": 124.65,
          "latitude": 0,
          "nakshatra": "Makha",
          "pada": 2,
          "kakshya": "jupiter",
          "zodiac_name": "Leo",
          "house": 2
        }
      },
      "houses": {
        "1": {
          "start": 118.24667529991994,
          "cusp": 133.24667529991996,
          "end": 148.24667529991996
        },
        "2": {
          "start": 148.24667529991996,
          "cusp": 163.24667529991996,
          "end": 178.24667529991996
        },
        "3": {
          "start": 178.24667529991996,
          "cusp": 193.24667529991996,
          "end": 208.24667529991996
        },
        "4": {
          "start": 208.24667529991996,
          "cusp": 223.24667529991993,
          "end": 238.24667529991993
        },
        "5": {
          "start": 238.24667529991993,
          "cusp": 253.24667529991993,
          "end": 268.2466752999199
        },
        "6": {
          "start": 268.2466752999199,
          "cusp": 283.2466752999199,
          "end": 298.2466752999199
        },
        "7": {
          "start": 298.2466752999199,
          "cusp": 313.2466752999199,
          "end": 328.2466752999199
        },
        "8": {
          "start": 328.2466752999199,
          "cusp": 343.2466752999199,
          "end": 358.2466752999199
        },
        "9": {
          "start": 358.2466752999199,
          "cusp": 13.246675299919922,
          "end": 28.24667529991992
        },
        "10": {
          "start": 28.24667529991992,
          "cusp": 43.24667529991992,
          "end": 58.24667529991993
        },
        "11": {
          "start": 58.24667529991993,
          "cusp": 73.24667529991993,
          "end": 88.24667529991993
        },
        "12": {
          "start": 88.24667529991993,
          "cusp": 103.24667529991991,
          "end": 118.24667529991994
        }
      },
      "ascendant": {
        "longitude": 133.24667529991996,
        "zodiac_name": "Cancer",
        "nakshatra": "Makha",
        "pada": 4
      },
      "ayanamsa_used": {
        "name": "LAHIRI",
        "corrected": false,
        "value_degrees": 24.224068,
        "formatted": "24°13'27\""
      }
    }
  },
  "message": "successful",
  "is_error": false
}

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

Ошибки

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