Vimsottari Maha Dasas
Calculate all nine planetary Maha Dasha periods in the 120-year Vimsottari Dasha system using birth details. Retrieve each planetary period's start and end dates to build Dasha timelines, horoscope analysis tools, and predictive Vedic astrology applications.
Overview
The Vimsottari Maha Dasas API calculates the start and end times of all nine planetary Maha Dasha periods according to the traditional 120-year Vimsottari Dasha system used in Vedic astrology. Each Maha Dasha represents a major planetary period associated with one of the nine planetary lords: Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, and Ketu.
The API returns the planetary lord and the start and end timestamps for each Maha Dasha period. This information helps developers generate a complete planetary period timeline for a birth chart, identify major Dasha transitions, and support predictive astrology calculations.
This endpoint is useful for building Vedic astrology software, horoscope analysis tools, Dasha calculators, and personalized astrology reports. To calculate the Maha Dasha periods, provide the birth date, time, latitude, longitude, and timezone. You can also configure the observation point as geocentric or topocentric and select a supported Ayanamsha setting, such as Lahiri or Sayana. The API returns the results in JSON format for easy integration into web applications, mobile apps, and astrology platforms.
Request Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
year
|
integer | Yes | Year number, eg: 2023 | 2023 |
month
|
integer | Yes | Month number,with no leading zero | 7 |
date
|
integer | Yes | Day number,with no leading zero | 5 |
hours
|
integer | Yes | Hours number,with no leading zero | 1 |
minutes
|
integer | Yes | Minutes number,with no leading zero | 1 |
seconds
|
integer | Yes | Seconds number, with no leading zero | 0 |
latitude
|
float | Yes | Latitude number, in the range from -90 to 90 | 12.86 |
longitude
|
float | Yes | Longitude number, in the range from -180 to 180 | 123.5 |
timezone
|
float | Yes | Timezone of birth location, eg: 5.5 | 5.5 |
config
|
object | No | Contains optional configuration values | |
ayanamsha
|
string | No | Either "tropical" or "sayana" or "lahiri" | Either "tropical" or "sayana" or "lahiri" |
observation_point
|
string | No | Geocentric positions are calculated with respect to the center of Earth. Topocentric positions are calculated with respect to the actual given place | Either "topocentric" or "geocentric" |
Request Example
{
"year": 1994,
"month": 4,
"date": 30,
"hours": 12,
"minutes": 45,
"seconds": 0,
"latitude": 21.1904,
"longitude": 81.28491,
"timezone": 5.5,
"config": {
"observation_point": "topocentric", /* geocentric / topocentric */
"ayanamsha": "lahiri" /* lahiri / sayana */
}
}
Response Examples
Example responses returned by this API.
{
"statusCode": 200,
"output": "{\"1\": {\"Lord\": \"Jupiter\", \"start_time\": \"1975-06-29 07:14:45.880134\", \"end_time\": \"1991-06-29 09:41:23.473734\"}, \"2\": {\"Lord\": \"Saturn\", \"start_time\": \"1991-06-29 09:41:23.473734\", \"end_time\": \"2010-06-29 06:35:30.616134\"}, \"3\": {\"Lord\": \"Mercury\", \"start_time\": \"2010-06-29 06:35:30.616134\", \"end_time\": \"2027-06-29 15:11:18.059334\"}, \"4\": {\"Lord\": \"Ketu\", \"start_time\": \"2027-06-29 15:11:18.059334\", \"end_time\": \"2034-06-29 10:15:27.006534\"}, \"5\": {\"Lord\": \"Venus\", \"start_time\": \"2034-06-29 10:15:27.006534\", \"end_time\": \"2054-06-29 13:18:43.998534\"}, \"6\": {\"Lord\": \"Sun\", \"start_time\": \"2054-06-29 13:18:43.998534\", \"end_time\": \"2060-06-29 02:13:43.096134\"}, \"7\": {\"Lord\": \"Moon\", \"start_time\": \"2060-06-29 02:13:43.096134\", \"end_time\": \"2070-06-29 15:45:21.592134\"}, \"8\": {\"Lord\": \"Mars\", \"start_time\": \"2070-06-29 15:45:21.592134\", \"end_time\": \"2077-06-29 10:49:30.539334\"}, \"9\": {\"Lord\": \"Rahu\", \"start_time\": \"2077-06-29 10:49:30.539334\", \"end_time\": \"2095-06-30 01:34:27.832134\"}}"
}
Code Examples
Use the following examples to integrate this API into your application.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://json.freeastrologyapi.com/vimsottari/maha-dasas',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"year": 1988,
"month": 10,
"date": 22,
"hours": 22,
"minutes": 5,
"seconds": 0,
"latitude": 27.395527,
"longitude": 80.131325,
"timezone": 5.5,
"config": {
"observation_point": "geocentric",
"ayanamsha": "lahiri"
}
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'x-api-key: YOUR_API_KEY_HERE'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "https://json.freeastrologyapi.com/vimsottari/maha-dasas"
payload = json.dumps({
"year": 1988,
"month": 10,
"date": 22,
"hours": 22,
"minutes": 5,
"seconds": 0,
"latitude": 27.395527,
"longitude": 80.131325,
"timezone": 5.5,
"config": {
"observation_point": "geocentric",
"ayanamsha": "lahiri"
}
})
headers = {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY_HERE'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://json.freeastrologyapi.com/vimsottari/maha-dasas',
'headers': {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY_HERE'
},
body: JSON.stringify({
"year": 1988,
"month": 10,
"date": 22,
"hours": 22,
"minutes": 5,
"seconds": 0,
"latitude": 27.395527,
"longitude": 80.131325,
"timezone": 5.5,
"config": {
"observation_point": "geocentric",
"ayanamsha": "lahiri"
}
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});