POST · VEDIC

Vimshottari Dasha

Endpoint POST https://starsapi.com/api/v3/vedic/dashas/vimshottari

Returns the complete Vimshottari Dasha (120-year Parashari planetary period system) with three levels of sub-periods: Mahadasha → Antardasha → Pratyantardasha. Includes the dasha balance at birth, the currently running dasha down to Pran level, and the full Mahadasha table with nested sub-periods.

The Vimshottari system is the most widely used dasha system in Vedic astrology. The starting planet is determined by the Moon’s nakshatra at birth, and the balance of the first dasha is proportional to the Moon’s traversal within that nakshatra.

One call, all levels. Unlike APIs that split Vimshottari into separate endpoints for each sub-period level (major, sub, sub-sub, etc.), StarsAPI returns the full dasha tree in a single call. Use the levels parameter to control depth (1–5) — no need to chain multiple requests or pass parent period IDs.

Authentication

MethodExample
Header (recommended)X-Api-Key: am_live_xxxxxxxxxxxx
BearerAuthorization: Bearer am_live_xxxxxxxxxxxx
Query?api_key=am_live_xxxxxxxxxxxx

Request body

FieldTypeRequiredDescription
yearintegerYesBirth year, 4-digit.
monthintegerYesBirth month, 112.
dayintegerYesDay of month.
hourintegerYesHour, 24-hour format.
minuteintegerYesMinute.
secondintegerNoDefault 0.
latitudenumberYesDecimal degrees, −90…90.
longitudenumberYesDecimal degrees, −180…180.
timezonestringYesIANA timezone identifier.
ayanamsastringNoDefault lahiri. Full list →
node_typestringNomean (default) or true.
levelsintegerNoDepth of sub-periods to return, 15. Default 3. Level 1 = Mahadasha only, 2 = +Antardasha, 3 = +Pratyantardasha, 4 = +Sookshma, 5 = +Pran.
reference_datestringNoYYYY-MM-DD. Compute “current dasha” as of this date instead of today. Useful for past/future analysis.

Response shape

moon_nakshatra

The natal Moon’s nakshatra that determines the starting dasha planet.

FieldTypeDescription
namestringNakshatra name.
numberintegerNakshatra number, 1–27.
lordstringNakshatra ruling planet (first Mahadasha lord).
degree_in_nakshatranumberMoon’s degree within the nakshatra (0–13.33).
percentage_traversednumberPercentage of nakshatra the Moon has crossed — determines dasha balance.

dasha_at_birth

The dasha running at the exact moment of birth, with balance remaining.

FieldTypeDescription
balancestringHuman-readable balance of the first Mahadasha.
runningstringCompact dasha chain at birth (e.g. Sat-Ketu-Rahu-Ven-Rahu).
detailsobjectBroken out: mahadasha, antardasha, pratyantardasha, sookshma_dasha, pran_dasha.

current_dasha

The dasha running right now, computed at the time of the API call.

FieldTypeDescription
mahadashaobjectCurrent Mahadasha: planet, start_date, end_date, remaining.
antardashaobjectCurrent Antardasha (same fields).
pratyantardashaobjectCurrent Pratyantardasha.
sookshma_dashaobjectCurrent Sookshma dasha.
pran_dashaobjectCurrent Pran dasha (finest level).
summarystringCompact chain (e.g. Ketu-Mercury-Venus-Saturn-Jupiter).

mahadasha_table

Full lifecycle table — an array covering the entire 120-year Vimshottari cycle from birth. Each Mahadasha contains nested antardashas, each of which contains nested pratyantardashas (3 levels deep).

FieldTypeDescription
planetstringDasha lord.
yearsintegerFull period duration in years.
start_datestringPeriod start (YYYY-MM-DD).
end_datestringPeriod end.
is_balancebooleantrue if this is the first (balance) period.
duration_daysnumberExact duration in days (sub-periods).
antardashasarrayNested sub-periods (same shape, with pratyantardashas inside).

Use cases

  • Dasha timeline — render a full lifetime dasha timeline from birth to 120 years.
  • Current period display — show the user which Mahadasha/Antardasha/Pratyantardasha is running right now.
  • Prediction engine — feed current dasha lords into your AI or rule-based prediction system.
  • Dasha balance — show the starting dasha and remaining balance at birth for consultation apps.

Errors

HTTPCodeCause
400MISSING_FIELDRequired field absent.
400INVALID_DATEBad calendar date.
400INVALID_TIMEHour/minute/second out of range.
400INVALID_TIMEZONENon-IANA timezone.
400INVALID_COORDINATELat/lon out of range.
400INVALID_PARAMlevels not 1–5, or reference_date not YYYY-MM-DD.
405METHOD_NOT_ALLOWEDNon-POST request.

See also