POST

Nakshatra Durations

Calculate the Nakshatra (lunar mansion) active at a specific date, time, and location. Get the Nakshatra name, number, start and end times, and remaining percentage for your Panchang and Vedic astrology applications.

/nakshatra-durations
Method
POST
Format
JSON
Auth
API Key
Credits
1

Overview

The Nakshatra Durations API identifies the Nakshatra (lunar mansion) active at a given date, time, and geographical location. In Vedic astrology, the Moon's position along the zodiac determines the Nakshatra, one of the 27 divisions traditionally used in birth chart analysis, Panchang calculations, and astrological timing.

The API returns the Nakshatra number and name, its start and end times, and the percentage of the Nakshatra remaining at the requested time. This information helps developers display Nakshatra timings, determine when one Nakshatra transitions to the next, and build Hindu Panchang applications, festival calendars, Muhurta calculators, and Vedic astrology software.

To retrieve Nakshatra information, provide the date, time, latitude, longitude, and timezone. You can also configure the observation point as geocentric or topocentric and specify supported Ayanamsha settings, such as Lahiri, through the configuration object. The API returns the calculated information 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": 2022,
    "month": 8,
    "date": 11,
    "hours": 6,
    "minutes": 0,
    "seconds": 0,
    "latitude": 17.38333,
    "longitude": 78.4666,
    "timezone": 5.5,
    "config": {
        "observation_point": "topocentric",
        "ayanamsha": "lahiri"
    }
}

Response Examples

Example responses returned by this API.

Response
{
    "statusCode": 200,
    "output": "{\"number\": 24, \"name\": \"Satabisha\", \"starts_at\": \"2025-08-10 15:29:21\", \"ends_at\": \"2025-08-11 14:27:54\", \"remaining_percentage_at_given_time\": 17.69382044558249}"
}

Code Examples

Use the following examples to integrate this API into your application.

PHP Code
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://json.freeastrologyapi.com/nakshatra-durations',
  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": 2025,
    "month": 8,
    "date": 11,
    "hours": 10,
    "minutes": 25,
    "seconds": 43,
    "latitude": 17.68009,
    "longitude": 83.20161,
    "timezone": 5.5,
    "config": {
        "observation_point": "topocentric", 
        "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;
Python Code
import requests
import json

url = "https://json.freeastrologyapi.com/nakshatra-durations"

payload = json.dumps({
  "year": 2025,
  "month": 8,
  "date": 11,
  "hours": 10,
  "minutes": 25,
  "seconds": 43,
  "latitude": 17.68009,
  "longitude": 83.20161,
  "timezone": 5.5,
  "config": {
    "observation_point": "topocentric",
    "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)
Node JS Code
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://json.freeastrologyapi.com/nakshatra-durations',
  'headers': {
    'Content-Type': 'application/json',
    'x-api-key': 'YOUR_API_KEY_HERE'
  },
  body: JSON.stringify({
    "year": 2025,
    "month": 8,
    "date": 11,
    "hours": 10,
    "minutes": 25,
    "seconds": 43,
    "latitude": 17.68009,
    "longitude": 83.20161,
    "timezone": 5.5,
    "config": {
      "observation_point": "topocentric",
      "ayanamsha": "lahiri"
    }
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});