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

Колір фону SVG у форматі hex.

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. Детальніше — у довіднику помилок.