Deep DiveApril 20269 min read

Vimshottari Dasha for Developers: Dates, Periods, and API Integration

The dasha system tells you which planetary period a person is living through right now — and what comes next. It is the most important predictive tool in Vedic astrology. Here is how it works and how to expose it in an app.

How Vimshottari dasha works

The system divides a 120-year human lifespan across nine planetary lords. The sequence is fixed. Each lord rules a specific number of years. Which lord is activeat birth depends entirely on the Moon's nakshatra at birth — specifically, how far through that nakshatra the Moon has travelled.

PlanetYearsNakshatra lorded
Ketu73 nakshatras (of the 27) are ruled by each planet
Venus203 nakshatras (of the 27) are ruled by each planet
Sun63 nakshatras (of the 27) are ruled by each planet
Moon103 nakshatras (of the 27) are ruled by each planet
Mars73 nakshatras (of the 27) are ruled by each planet
Rahu183 nakshatras (of the 27) are ruled by each planet
Jupiter163 nakshatras (of the 27) are ruled by each planet
Saturn193 nakshatras (of the 27) are ruled by each planet
Mercury173 nakshatras (of the 27) are ruled by each planet

Total: 120 years. The Moon nakshatra at birth tells you where in this sequence you enter. The remaining portion of that first nakshatra gives you the balance of the first dasha. Each mahadasha is then subdivided into nine antardashas (sub-periods) in the same sequence, and each antardasha into nine pratyantardashas.

The API calls

const params = new URLSearchParams({
  api_key: 'vai_your_key',
  dob: '01/10/1977', tob: '11:40',
  lat: '11', lon: '77', tz: '5.5'
})

// Current mahadasha + balance
const current = await fetch(`/api/v1/dashas/current-mahadasha?${params}`).then(r => r.json())

// Full 120-year sequence
const full = await fetch(`/api/v1/dashas/mahadasha?${params}`).then(r => r.json())

// Antardasha (sub-periods of current mahadasha)
const antar = await fetch(`/api/v1/dashas/antardasha?${params}`).then(r => r.json())

Response shape

// current-mahadasha response
{
  "name": "Jupiter",
  "start": "2016-08-24",
  "end": "2032-08-24",
  "balance_years": 6.3,
  "lord": "Jupiter",
  "nakshatra": "Punarvasu"
}

// antardasha response (sub-periods within Jupiter mahadasha)
[
  { "name": "Jupiter / Jupiter", "start": "2016-08-24", "end": "2018-12-24" },
  { "name": "Jupiter / Saturn",  "start": "2018-12-24", "end": "2021-06-24" },
  { "name": "Jupiter / Mercury", "start": "2021-06-24", "end": "2023-09-24" },
  { "name": "Jupiter / Ketu",    "start": "2023-09-24", "end": "2024-08-24" },
  { "name": "Jupiter / Venus",   "start": "2024-08-24", "end": "2027-06-24" },
  ...
]

Building a dasha timeline UI

Recommended approach:

  1. Fetch the full mahadasha sequence from /dashas/mahadasha
  2. Render as a horizontal timeline, highlighting the current period
  3. On click of a period, fetch /dashas/antardasha to show sub-periods
  4. Show balance_years from current-mahadasha as a progress indicator

Other dasha systems

VedIntel also supports Yogini Dasha (/dashas/yogini-dasha-main) and Char Dasha (/dashas/char-dasha-current). These use different calculation systems but the same birth data parameters.

Test the dasha endpoints free — no credit card.

Get free API key →