Hora Timings
Calculate daily Hora timings for a specific date and geographical location using the traditional Vedic system of planetary hours. Identify the ruling planet for each Hora period to support Muhurta selection, Panchang applications, and Vedic astrology software.
Overview
The Hora Timings API calculates the 24 planetary Hora periods for a specific date, time, and geographical location according to the traditional Vedic system of planetary hours. Each Hora is ruled by one of the seven classical planets: Sun, Moon, Mars, Mercury, Jupiter, Venus, or Saturn.
The API returns the ruling planet (Hora lord), start time, and end time for each Hora period. This information helps developers identify planetary hours throughout the day and night, supporting traditional Muhurta selection, daily Panchang displays, and astrological time-planning applications.
To calculate Hora timings, provide the year, month, date, time, latitude, longitude, and timezone. You can also configure the observation point as geocentric or topocentric and specify a supported Ayanamsha setting, such as Lahiri. The API returns the 24 Hora periods in JSON format, making it easy to integrate planetary hour calculations into web applications, mobile apps, and Vedic 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": "{\"1\": {\"lord\": \"Venus\", \"starts_at\": \"1999-12-03 06:53:01\", \"ends_at\": \"1999-12-03 07:53:02\"}, \"2\": {\"lord\": \"Mercury\", \"starts_at\": \"1999-12-03 07:53:02\", \"ends_at\": \"1999-12-03 08:53:03\"}, \"3\": {\"lord\": \"Moon\", \"starts_at\": \"1999-12-03 08:53:03\", \"ends_at\": \"1999-12-03 09:53:04\"}, \"4\": {\"lord\": \"Saturn\", \"starts_at\": \"1999-12-03 09:53:04\", \"ends_at\": \"1999-12-03 10:53:05\"}, \"5\": {\"lord\": \"Jupiter\", \"starts_at\": \"1999-12-03 10:53:05\", \"ends_at\": \"1999-12-03 11:53:06\"}, \"6\": {\"lord\": \"Mars\", \"starts_at\": \"1999-12-03 11:53:06\", \"ends_at\": \"1999-12-03 12:53:07\"}, \"7\": {\"lord\": \"Sun\", \"starts_at\": \"1999-12-03 12:53:07\", \"ends_at\": \"1999-12-03 13:53:08\"}, \"8\": {\"lord\": \"Venus\", \"starts_at\": \"1999-12-03 13:53:08\", \"ends_at\": \"1999-12-03 14:53:09\"}, \"9\": {\"lord\": \"Mercury\", \"starts_at\": \"1999-12-03 14:53:09\", \"ends_at\": \"1999-12-03 15:53:10\"}, \"10\": {\"lord\": \"Moon\", \"starts_at\": \"1999-12-03 15:53:10\", \"ends_at\": \"1999-12-03 16:53:11\"}, \"11\": {\"lord\": \"Saturn\", \"starts_at\": \"1999-12-03 16:53:11\", \"ends_at\": \"1999-12-03 17:53:12\"}, \"12\": {\"lord\": \"Jupiter\", \"starts_at\": \"1999-12-03 17:53:12\", \"ends_at\": \"1999-12-03 18:53:13\"}, \"13\": {\"lord\": \"Mars\", \"starts_at\": \"1999-12-03 18:53:13\", \"ends_at\": \"1999-12-03 19:53:14\"}, \"14\": {\"lord\": \"Sun\", \"starts_at\": \"1999-12-03 19:53:14\", \"ends_at\": \"1999-12-03 20:53:15\"}, \"15\": {\"lord\": \"Venus\", \"starts_at\": \"1999-12-03 20:53:15\", \"ends_at\": \"1999-12-03 21:53:16\"}, \"16\": {\"lord\": \"Mercury\", \"starts_at\": \"1999-12-03 21:53:16\", \"ends_at\": \"1999-12-03 22:53:17\"}, \"17\": {\"lord\": \"Moon\", \"starts_at\": \"1999-12-03 22:53:17\", \"ends_at\": \"1999-12-03 23:53:18\"}, \"18\": {\"lord\": \"Saturn\", \"starts_at\": \"1999-12-03 23:53:18\", \"ends_at\": \"1999-12-04 00:53:19\"}, \"19\": {\"lord\": \"Jupiter\", \"starts_at\": \"1999-12-04 00:53:19\", \"ends_at\": \"1999-12-04 01:53:20\"}, \"20\": {\"lord\": \"Mars\", \"starts_at\": \"1999-12-04 01:53:20\", \"ends_at\": \"1999-12-04 02:53:21\"}, \"21\": {\"lord\": \"Sun\", \"starts_at\": \"1999-12-04 02:53:21\", \"ends_at\": \"1999-12-04 03:53:22\"}, \"22\": {\"lord\": \"Venus\", \"starts_at\": \"1999-12-04 03:53:22\", \"ends_at\": \"1999-12-04 04:53:23\"}, \"23\": {\"lord\": \"Mercury\", \"starts_at\": \"1999-12-04 04:53:23\", \"ends_at\": \"1999-12-04 05:53:24\"}, \"24\": {\"lord\": \"Moon\", \"starts_at\": \"1999-12-04 05:53:24\", \"ends_at\": \"1999-12-04 06:53:25\"}}"
}
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/hora-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": 1999,
"month": 12,
"date": 3,
"hours": 12,
"minutes": 10,
"seconds": 53,
"latitude": 1.4433887,
"longitude": 103.8325013,
"timezone":8,
"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/hora-timings"
payload = json.dumps({
"year": 1999,
"month": 12,
"date": 3,
"hours": 12,
"minutes": 10,
"seconds": 53,
"latitude": 1.4433887,
"longitude": 103.8325013,
"timezone": 8,
"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/hora-timings',
'headers': {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY_HERE'
},
body: JSON.stringify({
"year": 1999,
"month": 12,
"date": 3,
"hours": 12,
"minutes": 10,
"seconds": 53,
"latitude": 1.4433887,
"longitude": 103.8325013,
"timezone": 8,
"config": {
"observation_point": "geocentric",
"ayanamsha": "lahiri"
}
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});