Tithi information
Calculate the current Hindu lunar day (Tithi) using date, time, and geographical coordinates. Get the Tithi name, number, Paksha, completion time, and remaining percentage for your Vedic astrology and Panchang applications.
Overview
The Tithi Durations API calculates the Hindu lunar day (Tithi) at a given date, time, and geographical location based on the relative positions of the Sun and Moon. It helps developers determine which Tithi is active at a specific moment according to the Hindu lunar calendar.
The API returns the Tithi number, name, Paksha (Shukla or Krishna), completion time, and the percentage of the Tithi remaining. This information can be used to display daily Panchang details, identify lunar days, build Hindu festival calendars, support religious event planning, and develop Vedic astrology applications.
To retrieve Tithi information, provide the date and time, latitude, longitude, and timezone. Optional configuration settings allow you to specify the observation point (geocentric or topocentric) and Ayanamsha settings supported by the API. The result is returned in JSON format for easy integration into web applications, mobile apps, and astrology software.
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.
{
"statusCode": 200,
"output": "\"{\\\"number\\\": 17, \\\"name\\\": \\\"Dwitiya\\\", \\\"paksha\\\": \\\"krishna\\\", \\\"completes_at\\\": \\\"2025-08-11 10:33:55\\\", \\\"left_precentage\\\": 0.62}\""
}
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/tithi-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": "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/tithi-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": "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/tithi-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": "geocentric",
"ayanamsha": "lahiri"
}
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});