POST/v1/astro/natal
Natal Chart — Janam Kundali
Calculate a complete Vedic natal chart using Swiss Ephemeris. Returns planet positions in sidereal zodiac, house placements (whole sign), ascendant, nakshatra data, Avakahada Chakra table, and optional classical Vedic interpretation for each planet placement. Also known as Janam Kundali or Janma Kundali. Returns planets (Grahas), houses (Bhavas), ascendant (Lagna), nakshatra positions, and avakahada table.
Request parameters
locationoptional
string | null
City name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
nameoptional
string
Person name associated with the birth record
daterequired
string
Birth date in YYYY-MM-DD format
timeoptional
string | null
Birth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
latitudeoptional
number | null
Latitude. Required if location not provided.
longitudeoptional
number | null
Longitude. Required if location not provided.
timezoneoptional
string | null
IANA timezone. Required if location not provided (unless utc_offset is given). For dates before the zone adopted a standard time, the birthplace's local mean time (longitude / 15 hours) is used.
utc_offsetoptional
string | null
Optional explicit UTC offset of the birth time, as ±HH:MM or ±HH:MM:SS (e.g. '+04:51:31' for Bombay mean time). Overrides the offset
timezone would give. Use it when the birth record states the offset, or for historical local times the IANA database cannot represent.ayanamsaoptional
string
Sidereal ayanamsa mode used in calculations
include_interpretationoptional
boolean
Whether to include planet-in-house interpretation layer
Response fields
success
boolean
True if the request succeeded
message
string
Human-readable status message
data
object
data.planets
array[object]
Computed planetary positions
data.planets[].planet
string
Planet name
data.planets[].sign
string
Zodiac sign name where the planet is placed
data.planets[].sign_num
integer
Zero-based zodiac sign index
data.planets[].degree
number
Sidereal longitude in degrees
data.planets[].nakshatra
string
Nakshatra name for planetary placement
data.planets[].nakshatra_pada
integer
Nakshatra pada index
data.planets[].is_retrograde
boolean
Whether the planet is retrograde
data.planets[].is_combust
boolean
True if the planet is within its combustion orb of the Sun
data.planets[].is_deep_combust
boolean
True if within 3° of the Sun (deep combustion / Gadha Moudhya)
data.planets[].house
integer
Whole-sign (Rasi) house number where the planet is placed
data.planets[].rasi_house
integer | null
Same as
house when present (explicit Rasi / whole-sign house)data.planets[].bhava_chalit_house
integer | null
Bhava Chalit spatial house (1–12) when computed from Bhava Sandhi
data.planets[].house_system_note
string | null
Guidance on Rashi vs Bhava Chalit house placement when the two systems disagree for this planet.
data.planets[].tropical_longitude
number | null
Same position in the tropical zodiac: sidereal longitude plus the ayanamsa at that instant. Only the label changes; houses and every rule stay sidereal.
data.planets[].tropical_sign
string | null
Tropical sign name in English (Aries … Pisces), for Western-style labels.
data.planets[].tropical_sign_index
integer | null
Tropical sign index, 0 = Aries … 11 = Pisces.
data.houses
array[object]
Computed house cusp placements
data.houses[].house
integer
House number in the natal chart
data.houses[].sign
string
Sign occupying the house cusp
data.houses[].sign_num
integer
Zero-based zodiac sign index for house cusp
data.houses[].degree
number
House cusp degree within sign
data.ascendant
number
Ascendant longitude in degrees
data.ascendant_sign
string
Ascendant sign name
data.ayanamsa_value
number
Numerical ayanamsa value used in calculations
data.ayanamsa_used
string
Ayanamsa mode used for the chart
data.birth_moment
BirthMoment | null
How the local birth date and time were turned into the UTC instant used.
data.birth_time_provided
boolean
Whether a precise birth time was provided. False when birth time was not supplied or treated as unknown — calculations using this field will have lagna-dependent accuracy limits.
data.interpretation
array[object] | null
Interpretation layer for planetary placements when requested
data.ascendant_sign_interpretation
object | null
Interpretation details for ascendant sign when interpretation is requested
data.moon_sign
string | null
Moon's rashi (Sanskrit sign name), same as the Moon entry in planets
data.moon_nakshatra
string | null
Moon's nakshatra name, same as the Moon entry in planets
data.moon_sign_interpretation
object | null
Interpretation details for Moon sign when interpretation is requested
data.moon_nakshatra_interpretation
object | null
Interpretation details for Moon nakshatra when interpretation is requested
data.avakahada
object | null
Standard Avakahada Chakra details derived from Moon nakshatra and sign
data.bhava_madhya
array[BhavaMadhyaEntry] | null
House midpoint (Bhava Madhya) positions — ecliptic longitude with sign and house label.
data.bhava_sandhi
array[BhavaMadhyaEntry] | null
House junction (Bhava Sandhi) positions — ecliptic longitude with sign and house label.
data.graha_drishti
object | null
Graha Drishti matrix (#143): each graha → map of aspected whole-sign house (1–12) to strength percent (25–100).
data.rashi_drishti
array[RashiDrishtiEntry] | null
Jaimini Rashi Drishti aspect pairs — each entry is one active sign-to-sign aspect.
data.arudha_padas
object | null
Arudha A1–A12 (#141): each pada → sign_index and sign_name.
data.upapada_lagna
UpapadaLagna | null
Upapada Lagna (#142): Arudha of 12th house plus 2nd-from-Upapada analysis.
data.ascendant_tropical_longitude
number | null
Ascendant in the tropical zodiac (sidereal longitude plus ayanamsa).
data.ascendant_tropical_sign
string | null
Tropical sign of the Ascendant, English name.
data.ascendant_tropical_sign_index
integer | null
data.moon_tropical_sign
string | null
Tropical sign of the natal Moon, English name. The sidereal moon_sign and every Moon-based rule are unchanged.
Errors
Invalid API key format.
API key is missing. Include it in the Authorization header as 'Bearer YOUR_KEY'.
The provided API key was not found. Verify the key in your Asterwise dashboard.
This API key has been revoked.
Too many requests per minute. Please slow down.
Something went wrong on our end. Please try again, or contact [email protected] if the problem persists. Include your request_id when contacting support.
Too many requests from this IP address. Please slow down.
Monthly API call limit reached. Upgrade your plan to continue.
Request body exceeds maximum allowed size of 64KB.
Your subscription has expired. Please renew at asterwise.com/dashboard to continue.
The request couldn't be processed. See the 'details' field for specific field-level issues.