Rahu Kalam
Calculate Rahu Kalam timings for a specific date and geographical location using traditional Hindu Panchang calculations. Identify this daily inauspicious period to support Muhurta selection, religious planning, and Vedic astrology applications.
Overview
The Rahu Kalam API calculates the start and end times of Rahu Kalam for a specific date and geographical location. In traditional Hindu astrology, Rahu Kalam is a daily period associated with Rahu and is generally considered inauspicious for beginning new ventures, important journeys, and significant activities.
The API returns the beginning and ending timestamps through the starts_at and ends_at fields. Since Rahu Kalam varies according to the weekday and local sunrise and sunset timings, location-specific calculations help developers display the appropriate period for each day.
This endpoint is useful for building Hindu Panchang applications, daily astrology dashboards, Muhurta planners, religious calendars, and Vedic astrology software. To calculate Rahu Kalam, 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 calculated timings in JSON format for easy integration into web applications and mobile apps.
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": "{\"starts_at\": \"2025-08-11 07:14:35.750000\", \"ends_at\": \"2025-08-11 08:50:36.500000\"}"
}
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/rahu-kalam',
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/rahu-kalam"
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/rahu-kalam',
'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);
});