Choghadiya Timings
Calculate day and night Choghadiya timings for a specific date and geographical location using the traditional Hindu Panchang system. Get each Choghadiya period, its ruling planetary association, and its auspicious or inauspicious classification to support Muhurta selection and daily astrology applications.
Overview
The Choghadiya Timings API calculates traditional Hindu Choghadiya periods for a specific date and geographical location. Choghadiya is a time-selection system used in Hindu astrology to identify favorable and unfavorable periods throughout the day and night. It divides these periods into segments associated with different levels of auspiciousness.
The API returns 16 Choghadiya periods, each with its name, start time, and end time. The seven traditional Choghadiya classifications are Amrit, Shubh, Labh, Char, Rog, Kaal, and Udveg. These classifications help users identify periods traditionally considered suitable or unsuitable for activities such as travel, business, ceremonies, and other important undertakings.
This endpoint is useful for building Panchang applications, daily Muhurta planners, Hindu calendars, and Vedic astrology software. To calculate Choghadiya timings, provide the year, month, date, time, latitude, longitude, and timezone. You can also configure the observation point as geocentric or topocentric. The API returns the results in JSON format, with each period's name and start and end timestamps, making integration into web applications and mobile apps straightforward.
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": "{\"1\": {\"name\": \"Amrit\", \"starts_at\": \"2025-08-11 05:38:42\", \"ends_at\": \"2025-08-11 07:14:40.125000\"}, \"2\": {\"name\": \"Kaal\", \"starts_at\": \"2025-08-11 07:14:40.125000\", \"ends_at\": \"2025-08-11 08:50:38.250000\"}, \"3\": {\"name\": \"Shubh\", \"starts_at\": \"2025-08-11 08:50:38.250000\", \"ends_at\": \"2025-08-11 10:26:36.375000\"}, \"4\": {\"name\": \"Rog\", \"starts_at\": \"2025-08-11 10:26:36.375000\", \"ends_at\": \"2025-08-11 12:02:34.500000\"}, \"5\": {\"name\": \"Udveg\", \"starts_at\": \"2025-08-11 12:02:34.500000\", \"ends_at\": \"2025-08-11 13:38:32.625000\"}, \"6\": {\"name\": \"Char\", \"starts_at\": \"2025-08-11 13:38:32.625000\", \"ends_at\": \"2025-08-11 15:14:30.750000\"}, \"7\": {\"name\": \"Labh\", \"starts_at\": \"2025-08-11 15:14:30.750000\", \"ends_at\": \"2025-08-11 16:50:28.875000\"}, \"8\": {\"name\": \"Amrit\", \"starts_at\": \"2025-08-11 16:50:28.875000\", \"ends_at\": \"2025-08-11 18:26:27\"}, \"9\": {\"name\": \"Char\", \"starts_at\": \"2025-08-11 18:26:27\", \"ends_at\": \"2025-08-11 19:50:30.875000\"}, \"10\": {\"name\": \"Rog\", \"starts_at\": \"2025-08-11 19:50:30.875000\", \"ends_at\": \"2025-08-11 21:14:34.750000\"}, \"11\": {\"name\": \"Kaal\", \"starts_at\": \"2025-08-11 21:14:34.750000\", \"ends_at\": \"2025-08-11 22:38:38.625000\"}, \"12\": {\"name\": \"Labh\", \"starts_at\": \"2025-08-11 22:38:38.625000\", \"ends_at\": \"2025-08-12 00:02:42.500000\"}, \"13\": {\"name\": \"Udveg\", \"starts_at\": \"2025-08-12 00:02:42.500000\", \"ends_at\": \"2025-08-12 01:26:46.375000\"}, \"14\": {\"name\": \"Shubh\", \"starts_at\": \"2025-08-12 01:26:46.375000\", \"ends_at\": \"2025-08-12 02:50:50.250000\"}, \"15\": {\"name\": \"Amrit\", \"starts_at\": \"2025-08-12 02:50:50.250000\", \"ends_at\": \"2025-08-12 04:14:54.125000\"}, \"16\": {\"name\": \"Char\", \"starts_at\": \"2025-08-12 04:14:54.125000\", \"ends_at\": \"2025-08-12 05:38:58\"}}"
}
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/choghadiya-timings',
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/choghadiya-timings"
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/choghadiya-timings',
'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);
});