/v1/panchang/rahu-kaal
Rahu Kaal interval for the day.
What this tells you
Rahu Kaal is a daily 1.5-hour window considered inauspicious for starting new work. The day (sunrise to sunset) is divided into 8 equal segments, and one of them is Rahu Kaal — which segment depends on the weekday. Classical rule: avoid starting journeys, weddings, business deals, or important phone calls during this window.
Request
All requests require an Authorization header with your dv_live_* API key.
curl "https://api.divyastroapi.com/v1/panchang/rahu-kaal?date=2026-04-19&time=06%3A30&tz=%2B05%3A30&lat=28.61&lon=77.21" \
-H "Authorization: Bearer dv_live_0123456789abcdef0123456789abcdef"Response (200 OK)
Successful requests return a JSON body. Field names are stable across versions.
{
"start_jd": 2461137.594,
"end_jd": 2461137.660,
"start_local": "2026-04-19T16:15:00+05:30",
"end_local": "2026-04-19T17:49:00+05:30",
"duration_minutes": 94,
"day_lord": "Sun",
"segment_of_day": 8
}Field reference
Every field in the response, with its type, a real example, and what it means.
| Field | Type | Meaning |
|---|---|---|
| start_jd | number | Rahu Kaal start JD. example: 2461137.594 |
| end_jd | number | Rahu Kaal end JD. example: 2461137.660 |
| start_local | string | Local start time. example: "2026-04-19T16:15:00+05:30" |
| end_local | string | Local end time. example: "2026-04-19T17:49:00+05:30" |
| duration_minutes | integer | Duration in minutes. Always 1/8th of day length. example: 94 |
| day_lord | string | Ruling planet of the weekday (Sunday = Sun). example: "Sun" |
| segment_of_day | integer (1–8) | Which 1/8th segment of the day is Rahu Kaal. Sunday=8, Monday=2, Tuesday=7, Wednesday=5, Thursday=6, Friday=4, Saturday=3. example: 8 |
Usage tips
How to use it
- Show as a banner, not a modalIf the current time falls in Rahu Kaal, a small warning banner is friendly. A modal is intrusive.
- Cache per (date, lat, lon)Rahu Kaal depends only on sunrise and weekday. Cache for 24 hours.
- Pair with Yamaganda and GulikaTraditional almanacs show all three inauspicious intervals together. Call /v1/panchang/yamaganda and /v1/panchang/gulika alongside this one.
Errors
Every error follows the same envelope. Use the error.code field (not the message) for conditional logic in your integration.
401 Unauthorized
{
"error": {
"code": "unauthorized",
"message": "missing or invalid API key",
"request_id": "req_01hqy7k8c3e7m1n"
}
}402 Payment Required
{
"error": {
"code": "trial_exhausted",
"message": "your free trial credits are exhausted — pick a plan to continue",
"top_up_url": "https://divyastroapi.com/pricing",
"request_id": "req_01hqy7k8c3e7m1n"
}
}429 Too Many Requests
{
"error": {
"code": "rate_limited",
"message": "rate limit exceeded; retry after 12 seconds",
"request_id": "req_01hqy7k8c3e7m1n"
}
}Try it
Get a dv_live_* key from your dashboard and paste into the cURL snippet above. New accounts get 500 free credits. Sign up.