Skip to main content
POST/v1/astro/ashtottari

Ashtottari Dasha

Computes Ashtottari Dasha periods for a given birth chart. What is Ashtottari Dasha? Ashtottari Dasha is a 108-year dasha cycle using 8 planets (excluding Ketu). It is considered applicable only for specific charts where Rahu occupies a Kendra (1, 4, 7, 10) or Trikona (1, 5, 9) counted from the sign of the Lagna lord, but not the Lagna itself (BPHS Ch.46 v.17). For a Scorpio or Aquarius Lagna the stronger co-lord is used, as in JHora. Applicability check: This endpoint first checks whether Ashtottari applies to the given chart. If the condition above is not met, the response will contain applicable: false and a reason string instead of dasha periods. The paksha/day-night condition is not evaluated. Starting planet and balance: Counting from Ardra, the nakshatras belong to the lords in groups of 4, 3, 4, 3, 4, 3, 4, 3 (Sun, Moon, Mars, Mercury, Saturn — with Abhijit — Jupiter, Rahu, Venus). The balance at birth is the lord's years times the share of its whole nakshatra group still ahead of the Moon (JHora's method). The first period starts at birth; its sub-periods are the tail of the full period, and it carries dasha_start_date and balance_years. Timeline length: mahadashas follow in order and continue into the next 108-year cycle until the timeline reaches at least age 120 (usually 10 or 11 mahadashas). Before 2026-10-08 only the first 8 were returned. The 8 planets and their durations: - Sun — 6 years - Moon — 15 years - Mars — 8 years - Mercury — 17 years - Saturn — 10 years - Jupiter — 19 years - Rahu — 12 years - Venus — 21 years Levels: - levels: 1 — returns Maha Dasha periods only - levels: 2 — returns Maha Dasha with Antar Dasha sub-periods (default) - levels: 3–5 — adds Pratyantar, Sookshma and Prana (same rule at every level) Date format: All dates are returned in DD/MM/YYYY format. Ayanamsa: Default is Lahiri; the request's ayanamsa is applied.

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
levelsoptional
integer
Depth of sub-periods to return, as in Vimshottari: 1 Maha only, 2 adds Antar, 3 Pratyantar, 4 Sookshma, 5 Prana. Default 2.

Response fields​

success
boolean
True if the request succeeded
message
string
Human-readable status message
data
object
data.periods
object
data.periods.root
array[object]
data.periods.root[].planet
string
Planetary lord of this Dasha period
data.periods.root[].start_jd
number
Start of period as Julian Day number
data.periods.root[].end_jd
number
End of period as Julian Day number
data.periods.root[].start_date
string
Start date in DD/MM/YYYY format
data.periods.root[].end_date
string
End date in DD/MM/YYYY format
data.periods.root[].sub
array[object] | null
Sub-periods (same shape, nested per levels). Present when levels ≥ 2. Under the first Mahadasha they are the remaining tail of the full Mahadasha, which began before birth.
data.periods.root[].dasha_start_date
string | null
Only on the first Mahadasha row: the date (DD/MM/YYYY, UTC) the full Mahadasha began, before birth. The row itself starts at birth and lasts the balance.
data.periods.root[].balance_years
number | null
Only on the first Mahadasha row: the balance of that Mahadasha remaining at birth, in years of 365.25636 days.
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.

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.