API TUTORIAL
Dasha Calculation API: Vimshottari Mahadasha Calculator
Complete guide to calculating planetary period (dasha) systems via API. Mahadasha, Antardasha, and Pratyantar with precise timing.
January 7, 2026
-
16 min read
Understanding Vimshottari Dasha
Vimshottari is a 120-year planetary period system used in Vedic astrology for timing predictions. Each planet rules a specific number of years:
| Planet | Years | Starting Nakshatra |
|---|---|---|
| Ketu | 7 | Ashwini, Magha, Mula |
| Venus | 20 | Bharani, P.Phalguni, P.Ashadha |
| Sun | 6 | Krittika, U.Phalguni, U.Ashadha |
| Moon | 10 | Rohini, Hasta, Shravana |
| Mars | 7 | Mrigashira, Chitra, Dhanishta |
| Rahu | 18 | Ardra, Swati, Shatabhisha |
| Jupiter | 16 | Punarvasu, Vishakha, P.Bhadra |
| Saturn | 19 | Pushya, Anuradha, U.Bhadra |
| Mercury | 17 | Ashlesha, Jyeshtha, Revati |
Get Current Dasha Periods
// Get current and upcoming dasha periods
const response = await fetch('https://api.vedika.io/v2/astrology/dasha', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
datetime: '1990-05-15T14:30:00+05:30',
latitude: 28.6139,
longitude: 77.2090,
system: 'vimshottari'
})
});
const dasha = await response.json();
// Response:
{
"currentPeriods": {
"mahadasha": {
"planet": "Jupiter",
"startDate": "2011-03-15T00:00:00Z",
"endDate": "2027-03-15T00:00:00Z",
"yearsTotal": 16,
"yearsRemaining": 1.2
},
"antardasha": {
"planet": "Saturn",
"startDate": "2024-07-20T00:00:00Z",
"endDate": "2027-01-28T00:00:00Z",
"monthsTotal": 30.4,
"monthsRemaining": 12.7
},
"pratyantardasha": {
"planet": "Mercury",
"startDate": "2025-11-15T00:00:00Z",
"endDate": "2026-03-22T00:00:00Z",
"daysTotal": 127,
"daysRemaining": 74
}
},
"allMahadashas": [
{"planet": "Ketu", "start": "1990-05-15", "end": "1997-05-15"},
{"planet": "Venus", "start": "1997-05-15", "end": "2017-05-15"},
{"planet": "Sun", "start": "2017-05-15", "end": "2023-05-15"},
{"planet": "Moon", "start": "2023-05-15", "end": "2033-05-15"},
// ... all 9 periods
]
}
Full Antardasha Breakdown
import requests
from datetime import datetime
def get_antardasha_details(birth_datetime, lat, lng, mahadasha_planet):
"""Get all antardashas within a mahadasha."""
response = requests.post(
'https://api.vedika.io/v2/astrology/dasha/antardasha',
headers={'x-api-key': 'YOUR_API_KEY'},
json={
'datetime': birth_datetime,
'latitude': lat,
'longitude': lng,
'mahadashaPlanet': mahadasha_planet
}
)
data = response.json()
print(f"\n{mahadasha_planet} Mahadasha Antardashas:")
print("-" * 50)
for ad in data['antardashas']:
print(f"{ad['planet']:10} | {ad['startDate'][:10]} to {ad['endDate'][:10]}")
return data
# Example: Get all antardashas in Jupiter Mahadasha
antardashas = get_antardasha_details(
'1990-05-15T14:30:00+05:30',
28.6139,
77.2090,
'Jupiter'
)
# Output:
# Jupiter Mahadasha Antardashas:
# --------------------------------------------------
# Jupiter | 2011-03-15 to 2013-05-07
# Saturn | 2013-05-07 to 2015-11-19
# Mercury | 2015-11-19 to 2018-02-25
# Ketu | 2018-02-25 to 2019-01-31
# Venus | 2019-01-31 to 2021-10-01
# Sun | 2021-10-01 to 2022-07-19
# Moon | 2022-07-19 to 2023-11-19
# Mars | 2023-11-19 to 2024-10-25
# Rahu | 2024-10-25 to 2027-03-15
Pratyantar Dasha (Sub-Sub Period)
// Get pratyantar dasha details
const pratyantarResponse = await fetch('https://api.vedika.io/v2/astrology/dasha/pratyantar', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
datetime: '1990-05-15T14:30:00+05:30',
latitude: 28.6139,
longitude: 77.2090,
mahadasha: 'Jupiter',
antardasha: 'Saturn'
})
});
const pratyantars = await pratyantarResponse.json();
// Response shows all 9 pratyantars within Jupiter-Saturn period:
{
"mahadasha": "Jupiter",
"antardasha": "Saturn",
"antardashaStart": "2024-07-20",
"antardashaEnd": "2027-01-28",
"pratyantardashas": [
{"planet": "Saturn", "start": "2024-07-20", "end": "2024-10-28", "days": 100},
{"planet": "Mercury", "start": "2024-10-28", "end": "2025-01-22", "days": 86},
{"planet": "Ketu", "start": "2025-01-22", "end": "2025-03-06", "days": 43},
{"planet": "Venus", "start": "2025-03-06", "end": "2025-06-20", "days": 106},
{"planet": "Sun", "start": "2025-06-20", "end": "2025-07-26", "days": 36},
{"planet": "Moon", "start": "2025-07-26", "end": "2025-09-25", "days": 61},
{"planet": "Mars", "start": "2025-09-25", "end": "2025-11-11", "days": 47},
{"planet": "Rahu", "start": "2025-11-11", "end": "2026-02-12", "days": 93},
{"planet": "Jupiter", "start": "2026-02-12", "end": "2026-05-01", "days": 78}
]
}
Alternative Dasha Systems
Vedika API supports multiple dasha systems:
// Yogini Dasha (36-year cycle)
const yoginiDasha = await fetch('https://api.vedika.io/v2/astrology/dasha', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
datetime: '1990-05-15T14:30:00+05:30',
latitude: 28.6139,
longitude: 77.2090,
system: 'yogini' // Options: vimshottari, yogini, chara, ashtottari
})
});
// Chara Dasha (Jaimini system)
const charaDasha = await fetch('https://api.vedika.io/v2/astrology/dasha', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
datetime: '1990-05-15T14:30:00+05:30',
latitude: 28.6139,
longitude: 77.2090,
system: 'chara'
})
});
Dasha Timeline Visualization
// React component for dasha timeline
function DashaTimeline({ birthDetails }) {
const [dasha, setDasha] = useState(null);
useEffect(() => {
fetchDasha(birthDetails).then(setDasha);
}, [birthDetails]);
if (!dasha) return Loading...;
const currentDate = new Date();
return (
Your Dasha Periods
{/* Current Period Highlight */}
Currently Running
{dasha.currentPeriods.mahadasha.planet} Mahadasha
> {dasha.currentPeriods.antardasha.planet} Antardasha
{dasha.currentPeriods.antardasha.monthsRemaining.toFixed(1)} months remaining
{/* Timeline */}
{dasha.allMahadashas.map((md, i) => {
const start = new Date(md.start);
const end = new Date(md.end);
const isCurrent = currentDate >= start && currentDate <= end;
const isPast = currentDate > end;
return (
{md.planet}
{start.getFullYear()} - {end.getFullYear()}
);
})}
);
}
Precise Dasha Calculations
Vedika API calculates dasha periods to the second using Swiss Ephemeris. Support for Vimshottari, Yogini, Chara, and Ashtottari systems.
Get Free API Key