Skip to main content

Western Natal Chart — Tropical

Calculate a complete Western natal chart using the tropical zodiac and Swiss Ephemeris. Returns 10 planet positions (Sun through Pluto) with tropical longitudes, Placidus (or chosen) house placements, essential dignities, all active aspects using standard modern Western orbs, and element/modality/hemisphere statistics. House system options: placidus (default), koch, equal, whole_sign.

Endpoint

POST /v1/western/natal

Request parameters

FieldTypeRequiredDescription
locationstring | nullNoCity name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
namestringNoPerson name associated with the birth record
datestringYesBirth date in YYYY-MM-DD format
timestring | nullNoBirth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
latitudenumber | nullNoLatitude. Required if location not provided.
longitudenumber | nullNoLongitude. Required if location not provided.
timezonestring | nullNoIANA timezone. Required if location not provided.
ayanamsastringNoSidereal ayanamsa mode used in calculations
house_systemstringNoHouse system for Western natal chart. Placidus is the modern default. Koch is the second most popular. Equal and Whole Sign are sign-based systems.

Example request

curl -X POST "https://api.asterwise.com/v1/western/natal" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Arjun Mehta","date":"1985-11-12","time":"06:45","latitude":19.076,"longitude":72.8777,"timezone":"Asia/Kolkata","house_system":"placidus"}'

Example response

{
"success": true,
"message": "success",
"data": {
"zodiac": "tropical",
"house_system": "placidus",
"ascendant": {
"longitude": 228.957682,
"sign": "Scorpio",
"sign_index": 7,
"degree_in_sign": 18.957682
},
"mc": {
"longitude": 140.343251,
"sign": "Leo",
"sign_index": 4,
"degree_in_sign": 20.343251
},
"planets": [
{
"name": "Sun",
"longitude": 229.596712,
"sign": "Scorpio",
"sign_index": 7,
"degree_in_sign": 19.596712,
"house": 1,
"is_retrograde": false,
"dignity": "peregrine",
"dignity_score": 0,
"is_exaltation_degree": false,
"dignity_disputed": false
},
{
"name": "Moon",
"longitude": 221.838294,
"sign": "Scorpio",
"sign_index": 7,
"degree_in_sign": 11.838294,
"house": 12,
"is_retrograde": false,
"dignity": "fall",
"dignity_score": -4,
"is_exaltation_degree": false,
"dignity_disputed": false
},
"... and 8 more items"
],
"houses": [
{
"house": 1,
"cusp_longitude": 228.957682,
"sign": "Scorpio",
"sign_index": 7,
"degree_in_sign": 18.957682
},
{
"house": 2,
"cusp_longitude": 258.172239,
"sign": "Sagittarius",
"sign_index": 8,
"degree_in_sign": 18.172239
},
"... and 10 more items"
],
"aspects": [
{
"planet_a": "Jupiter",
"planet_b": "Mars",
"type": "trine",
"exact_angle": 119.9635,
"orb": 0.0365,
"is_applying": false
},
{
"planet_a": "Jupiter",
"planet_b": "Mercury",
"type": "sextile",
"exact_angle": 57.4369,
"orb": 2.5631,
"is_applying": false
},
"... and 7 more items"
],
"elements": {
"fire": 2,
"earth": 1,
"air": 2,
"water": 5,
"dominant": "water"
},
"modalities": {
"cardinal": 2,
"fixed": 6,
"mutable": 2,
"dominant": "fixed"
},
"hemisphere": {
"eastern": 4,
"western": 6,
"northern": 6,
"southern": 4
},
"ayanamsa_value": 0.0,
"ayanamsa_used": "tropical",
"birth_time_provided": true
}
}

Response fields

FieldTypeDescription
successbooleanTrue if the request succeeded
messagestringHuman-readable status message
dataobject
data.zodiacstringAlways 'tropical' for Western natal
data.house_systemstringHouse system used
data.ascendantobject
data.ascendant.longitudenumberTropical ecliptic longitude 0–360°
data.ascendant.signstringZodiac sign name
data.ascendant.sign_indexintegerSign index 0=Aries … 11=Pisces
data.ascendant.degree_in_signnumberDegrees within sign 0–29.999
data.mcobject
data.mc.longitudenumberTropical ecliptic longitude 0–360°
data.mc.signstringZodiac sign name
data.mc.sign_indexintegerSign index 0=Aries … 11=Pisces
data.mc.degree_in_signnumberDegrees within sign 0–29.999
data.planetsarray[object]
data.planets[].namestringPlanet name
data.planets[].longitudenumberTropical ecliptic longitude 0–360°
data.planets[].signstringZodiac sign name
data.planets[].sign_indexinteger
data.planets[].degree_in_signnumberDegrees within sign 0–29.999
data.planets[].houseintegerHouse number (Placidus or chosen system)
data.planets[].is_retrogradeboolean
data.planets[].dignitystringEssential dignity: domicile | exaltation | detriment | fall | peregrine
data.planets[].dignity_scoreintegerEssential dignity weight: domicile=5, exaltation=4, detriment=-5, fall=-4, peregrine=0
data.planets[].is_exaltation_degreebooleanTrue if planet is in the exact classical exaltation degree (Nth degree = N-1°00' to N-1°59'59"). Always false for outer planets (no exact degree defined).
data.planets[].dignity_disputedbooleanTrue for outer planet (Uranus/Neptune/Pluto) exaltation/fall — no established consensus.
data.housesarray[object]
data.houses[].houseinteger
data.houses[].cusp_longitudenumberTropical ecliptic longitude of house cusp
data.houses[].signstring
data.houses[].sign_indexinteger
data.houses[].degree_in_signnumber
data.aspectsarray[object]
data.aspects[].planet_astring
data.aspects[].planet_bstring
data.aspects[].typestringAspect type: conjunction | opposition | trine | square | sextile | semisextile | semisquare | sesquiquadrate | quincunx
data.aspects[].exact_anglenumberActual angular distance between planets
data.aspects[].orbnumberDifference from exact aspect angle (always positive)
data.aspects[].is_applyingbooleanTrue if the faster planet is moving toward exact aspect (orb decreasing).
data.elementsobject
data.elements.fireinteger
data.elements.earthinteger
data.elements.airinteger
data.elements.waterinteger
data.elements.dominantstring | nullMost common element, or null if tied
data.modalitiesobject
data.modalities.cardinalinteger
data.modalities.fixedinteger
data.modalities.mutableinteger
data.modalities.dominantstring | null
data.hemisphereobject
data.hemisphere.easternintegerPlanet count in houses 7–12
data.hemisphere.westernintegerPlanet count in houses 1–6
data.hemisphere.northernintegerPlanet count in houses 1–6 (below horizon)
data.hemisphere.southernintegerPlanet count in houses 7–12 (above horizon)
data.ayanamsa_valuenumberAlways 0.0 — tropical zodiac
data.ayanamsa_usedstring
data.birth_time_providedbooleanWhether 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.

Errors

CodeDescriptionReference
authentication_failedMissing or invalid API key.authentication_failed
ephemeris_unavailableUpstream ephemeris service error.ephemeris_unavailable
insufficient_tierAPI key tier does not include this endpoint.insufficient_tier
internal_errorUnexpected server error.internal_error
ip_rate_limit_exceededToo many requests in a short window.ip_rate_limit_exceeded
payload_too_largeRequest body exceeds the size limit.payload_too_large
resource_not_foundReferenced resource was not found.resource_not_found
validation_errorRequest body failed schema validation.validation_error