Vimshottari Mahadasha
POST https://starsapi.com/api/v3/vedic/dashas/vimshottari-mahadasha
Returns the 9 Mahadasha periods of the 120-year Vimshottari cycle, plus Moon nakshatra info, dasha balance at birth, and the currently running dasha at all 5 levels (MD → AD → PD → SD → Pran).
This is the starting point of the Vimshottari lazy-load chain. Sub-periods are fetched on demand via separate endpoints — keeping the initial payload under 3 KB.
Authentication
| Method | Example |
|---|---|
| Header (recommended) | X-Api-Key: sa_live_xxxxxxxxxxxx |
| Bearer | Authorization: Bearer sa_live_xxxxxxxxxxxx |
| Query | ?api_key=sa_live_xxxxxxxxxxxx |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
year | integer | Yes | Birth year, 4-digit. |
month | integer | Yes | Birth month, 1–12. |
day | integer | Yes | Day of month. |
hour | integer | Yes | Hour, 24-hour format. |
minute | integer | Yes | Minute. |
second | integer | No | Default 0. |
latitude | number | Yes | Decimal degrees, −90…90. |
longitude | number | Yes | Decimal degrees, −180…180. |
timezone | string | Yes | IANA timezone identifier. |
ayanamsa | string | No | Default lahiri. Full list → |
node_type | string | No | mean (default) or true. |
reference_date | string | No | YYYY-MM-DD. Compute “current dasha” as of this date. |
Ayanamsa & KP usage
Vimshottari periods are derived from the Moon’s nakshatra position, which shifts
with the chosen ayanamsa. Lahiri and Krishnamurti (KP) differ by roughly 5–6
arc-minutes — enough to shift dasha start/end dates by several days, and at deeper
levels (Sookshma/Pran) even change the running lord. KP practitioners should pass
"ayanamsa": "krishnamurti" (alias kp); variants
kp_new and kp_senthil are also supported. The ayanamsa
actually used is echoed in the response meta for verification.
Unknown ayanamsa names return an error rather than silently falling back to Lahiri.
Response shape
moon_nakshatra
| Field | Type | Description |
|---|---|---|
name | string | Nakshatra name. |
number | integer | 1–27. |
lord | string | Nakshatra lord (first Mahadasha planet). |
degree_in_nakshatra | number | Moon’s degree within the nakshatra (0–13.33). |
percentage_traversed | number | Determines dasha balance. |
current_dasha
Always returns all 5 levels regardless of this being an MD-only endpoint.
| Field | Type | Description |
|---|---|---|
mahadasha | object | planet, start_date, end_date, remaining. |
antardasha | object | Same fields. |
pratyantardasha | object | Same fields. |
sookshma_dasha | object | Same fields (datetime format). |
pran_dasha | object | Same fields (datetime format). |
summary | string | e.g. Ketu-Mercury-Sun-Mars-Saturn |
mahadasha_table
9 Mahadasha entries covering the full 120-year cycle. No nested sub-periods.
| Field | Type | Description |
|---|---|---|
planet | string | Dasha lord. |
years | integer | Full period duration in years. |
start_date | string | YYYY-MM-DD. |
end_date | string | YYYY-MM-DD. |
is_balance | boolean | true for the first (balance) period. |
is_current | boolean | true for the currently active Mahadasha. |
The 9 Dasha Lords
| Planet | Years |
|---|---|
| Ketu | 7 |
| Venus | 20 |
| Sun | 6 |
| Moon | 10 |
| Mars | 7 |
| Rahu | 18 |
| Jupiter | 16 |
| Saturn | 19 |
| Mercury | 17 |
Total cycle: 120 years.
Next step: Antardasha
To see the 9 sub-periods within a Mahadasha, pass the planet value
from the tapped row to the
Antardasha endpoint.
Errors
| HTTP | Code | Cause |
|---|---|---|
| 400 | MISSING_FIELD | Required field absent. |
| 400 | INVALID_DATE | Bad calendar date. |
| 400 | INVALID_TIME | Hour/minute/second out of range. |
| 400 | INVALID_TIMEZONE | Non-IANA timezone. |
| 400 | INVALID_COORDINATE | Lat/lon out of range. |
| 400 | INVALID_PARAM | reference_date not YYYY-MM-DD. |
| 405 | METHOD_NOT_ALLOWED | Non-POST request. |
| 500 | COMPUTE_ERROR | Unknown ayanamsa name. |
See also
- Antardasha — 9 sub-periods for a Mahadasha
- Pratyantardasha — 9 sub-sub-periods
- Sookshma Dasha — 9 subtle periods
- Pran Dasha — 9 finest periods
- Yogini Dasha — alternative 36-year system