Перейти к основному содержимому
POST/api/astro/pdf/horoscope/25 кредитов

PDF-отчёт с гороскопом

Полный ведический гороскоп в виде готового PDF за один вызов. Тело ответа И ЕСТЬ PDF (`application/pdf`): второго запроса не нужно, и файл нигде не размещается. Более сорока страниц: данные рождения и панчанга, позиции планет с управителями накшатр, карта лагны в североиндийском и южноиндийском стилях, лунная карта, двенадцать дробных карт, куспиды домов, дружба планет, положения по KP, сарваштакаварга и по странице бхиннаштакаварги для каждой грахи, три системы даш с текущим периодом, развёрнутым до подпериодов, выводы по кала-сарпе и мангалик-доше, полная временная шкала саде-сати с фазами ардха-кантаки и аштама-шани, нумерология, рекомендации по камням, рудракше и мантрам и толкование для каждой из девяти грах. МЫ НИЧЕГО НЕ ХРАНИМ. API отчётов обычно сохраняют файл в хранилище и возвращают ссылку, а значит, натальная карта — имя, время рождения, набор предсказаний — лежит по публичному URL, пока существует объект. Здесь же байты сразу возвращаются вам. На нашей стороне ничего не записывается, и ссылки, которую мог бы найти кто-то другой, нет. Если вам нужна копия на сервере, сохраните эти байты сами — со своим сроком хранения и своими правилами доступа. ПОД ВАШИМ БРЕНДОМ (WHITE LABEL). Всё в `branding` необязательно и выводится на обложке, в верхнем и нижнем колонтитулах, так что ваш клиент видит ваше имя. Нашего имени в документе нигде нет. МОМЕНТ РОЖДЕНИЯ. Передайте либо `date_time` в формате ISO 8601, либо отдельные поля `day`/`month`/`year`/`hour`/`minute` вместе с `timezone_as_float`. Если передать и то и другое, запрос будет отклонён, а не решён за вас: когда значения расходятся, безопасно выбрать одно из них невозможно, и получилась бы неверная карта, которая выглядит вполне убедительно. Все значения рассчитываются теми же эндпоинтами, которые предоставляет этот API: позиции на странице 3 в точности совпадают с ответом /api/astro/planet-positions/. Разделы формируются независимо друг от друга: если какой-то расчёт для карты не определён, на этой странице так и написано, а остальной отчёт всё равно создаётся. Заголовок ответа `X-Report-Sections-Failed` показывает, сколько таких разделов, так что полный отчёт можно отличить от неполного, не открывая его. Обычно весь процесс занимает меньше двух секунд.

https://api.occultapi.com/api/astro/pdf/horoscope/
Попробовать запрос

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

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

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

Поля запроса

ПолеТипОбязательноПримечания
latitudenumber (double)обязательный

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

min -90 · max 90

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

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

min -180 · max 180

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

Данные реселлера для обложки, верхнего и нижнего колонтитулов.

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

В каком стиле рисовать натальную карту. По умолчанию включены оба.

northsouthboth
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' — разные моменты, и ответы для них будут разными.

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

День месяца числом, 1-31.

min 1 · max 31

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

Час рождения в 24-часовом формате, 0-23. Местное время в месте рождения.

min 0 · max 23

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

min 0 · max 59

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

Месяц рождения числом, 1-12. Январь — 1.

min 1 · max 12

namestringнеобязательный
placestringнеобязательный
timezone_as_floatnumber (double)необязательный

Смещение UTC для места, в часах, десятичным числом. Пример: 5.5 для Индии (UTC+05:30), -5 для Нью-Йорка зимой, 5.75 для Непала. Оно НЕ сверяется с date_time: если значения расходятся, вы получите успешный ответ для неверного момента, поэтому берите оба из одного источника. Используйте смещение, действовавшее на эту дату, а не сегодняшнее: для рождения летом в стране с летним временем нужно летнее смещение.

min -12 · max 14

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

Год рождения числом, например 1990. Четыре цифры.

min 1800 · max 2200

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

curl -X POST https://api.occultapi.com/api/astro/pdf/horoscope/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Ajeet Kanojia","gender":"male","date_time":"1985-02-23T05:45:00+05:30","latitude":20.8833,"longitude":76.2,"timezone_as_float":5.5,"place":"Malkapur, Maharashtra, India","chart_style":"both","branding":{"company_name":"Acme Astrology","company_info":"Vedic reports since 2011.","company_email":"hello@acme.example","company_mobile":"+91 90000 00000","domain_url":"https://acme.example","footer_link":"acme.example"}}'

Ответ

Ошибки

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