Copy page

Copy page as Markdown for LLMs

View as Markdown

View this page as plain text


Open in ChatGPT

Ask ChatGPT about this page

Open in Claude

Ask Claude about this page

Find Panchak Rahita API

The Find Panchak Rahita API helps you determine time intervals that are free from, or affected by, various types of Panchak (such as Mrityu, Agni, Raja, Chora, Roga), based on Indian Astrology. This is especially useful for scheduling activities where Panchak dosha is traditionally avoided, such as house-related rituals, travel, or sensitive tasks.


Step-by-Step Find Panchak Rahita API Postman Testing Integration

You can follow the official guide to test this API using Postman:

Step by Step Find Panchak Rahita API Postman Testing Integration
https://support.divineapi.com/indian-astrology-apis/testing-panchang-api-find-panchak-rahita-api-using-postman


Supported Language Codes

You can get the response in multiple Indian languages by passing the lan parameter.

Reference article:
https://support.divineapi.com/general-api-support/translating-an-indian-vedic-apis-into-a-different-language

CodeLanguage
enEnglish
hiHindi
bnBengali
maMarathi
tmTamil
tlTelugu
mlMalayalam
knKannada

Note: If lan is not provided, the API defaults to en.


API Endpoint

POST https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita

This endpoint returns a list of Panchak intervals for the given date and location, with start and end timestamps and the type of Panchak.


Headers

NameTypeDescription
Authorization*StringYour API Access Token. Example: Bearer {token}

Request Body

NameTypeRequiredDescription
api_keyStringYesYour DivineAPI key.
dayIntegerYesDay of Panchang. Example: 24.
monthIntegerYesMonth of Panchang. Example: 05.
yearIntegerYesYear of Panchang. Example: 2023.
placeStringNoPlace name. Example: New Delhi.
latFloatYesLatitude of the place. Example: 28.6139.
lonFloatYesLongitude of the place. Example: 77.2090.
tzoneFloatYesTimezone offset. Example: 5.5. See the timezone guide at https://developers.divineapi.com/divine-api/understanding-time-zones-a-comprehensive-guide
lanStringNoResponse language code. Default is en.

200: OK Panchak Rahita fetched successfully

{
    "success": 1,
    "data": {
        "date": "2023-05-24",
        "sunrise": "2023-05-24 05:25:56",
        "sunset": "2023-05-24 19:10:28",
        "panchak_rahita": [
            {
                "panchak": "Good Panchak",
                "start_time": "2023-05-24 05:25:56",
                "end_time": "2023-05-24 06:54:56"
            },
            {
                "panchak": "Mrityu Panchak",
                "start_time": "2023-05-24 06:55:56",
                "end_time": "2023-05-24 09:09:56"
            },
            {
                "panchak": "Agni Panchak",
                "start_time": "2023-05-24 09:10:56",
                "end_time": "2023-05-24 11:29:56"
            },
            {
                "panchak": "Good Panchak",
                "start_time": "2023-05-24 11:30:56",
                "end_time": "2023-05-24 13:47:56"
            },
            {
                "panchak": "Raja Panchak",
                "start_time": "2023-05-24 13:48:56",
                "end_time": "2023-05-24 15:05:44"
            },
            {
                "panchak": "Good Panchak",
                "start_time": "2023-05-24 15:06:44",
                "end_time": "2023-05-24 16:03:56"
            },
            {
                "panchak": "Chora Panchak",
                "start_time": "2023-05-24 16:04:56",
                "end_time": "2023-05-24 18:22:56"
            },
            {
                "panchak": "Good Panchak",
                "start_time": "2023-05-24 18:23:56",
                "end_time": "2023-05-24 20:41:56"
            },
            {
                "panchak": "Roga Panchak",
                "start_time": "2023-05-24 20:42:56",
                "end_time": "2023-05-24 22:45:56"
            },
            {
                "panchak": "Good Panchak",
                "start_time": "2023-05-24 22:46:56",
                "end_time": "2023-05-25 00:27:56"
            },
            {
                "panchak": "Mrityu Panchak",
                "start_time": "2023-05-25 00:28:56",
                "end_time": "2023-05-25 01:55:56"
            },
            {
                "panchak": "Agni Panchak",
                "start_time": "2023-05-25 01:56:56",
                "end_time": "2023-05-25 03:00:44"
            },
            {
                "panchak": "Good Panchak",
                "start_time": "2023-05-25 03:01:44",
                "end_time": "2023-05-25 03:20:56"
            },
            {
                "panchak": "Mrityu Panchak",
                "start_time": "2023-05-25 03:21:56",
                "end_time": "2023-05-25 04:55:56"
            },
            {
                "panchak": "Agni Panchak",
                "start_time": "2023-05-25 04:56:56",
                "end_time": "2023-05-25 05:25:35"
            }
        ]
    }
}

Response Field Details

success
Indicates if the API call was successful. 1 means success.

data.date
Date for which the Panchak calculation is done.

data.sunrise / data.sunset
Location-specific sunrise and sunset times used for the Panchang computation.

data.panchak_rahita
An ordered list of time blocks during the day, each with:

panchak: The type of Panchak (for example, Good Panchak, Mrityu Panchak, Agni Panchak, Raja Panchak, Chora Panchak, Roga Panchak).

start_time: Start datetime of that Panchak influence.

end_time: End datetime of that Panchak influence.

This lets you filter or highlight time intervals that are suitable (often those marked as “Good Panchak”) and avoid the sensitive ones (like “Mrityu Panchak” or “Agni Panchak”) in your application.


Usage Notes

Both Authorization and api_key are required; the request will fail without either.

Accurate geolocation (lat, lon) and tzone are essential because Panchak timing is time and location dependent.

You can present only the non-dosha (Good Panchak) intervals to end users if your app’s purpose is to recommend safe windows.


Example Code Implementations

Below are example implementations in various programming environments.


cURL

curl --location 'https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita' \
--header 'Authorization: Bearer your API Access Token' \
--form 'api_key="your API key"' \
--form 'day="24"' \
--form 'month="05"' \
--form 'year="2023"' \
--form 'place="New Delhi"' \
--form 'lat="28.6139"' \
--form 'lon="77.2090"' \
--form 'tzone="5.5"' \
--form 'lan="en"'

Node.js

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita',
  'headers': {
    'Authorization': 'Bearer {Your Auth Token}'
  },
  formData: {
    'api_key': '{Your API Key}',
    'day': '24',
    'month': '05',
    'year': '2023',
    'Place': 'New Delhi',
    'lat': '28.6139',
    'lon': '77.2090',
    'tzone': '5.5',
    'lan': 'en'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});


JavaScript (jQuery AJAX)

var form = new FormData();
form.append("api_key", "{Your API Key}");
form.append("day", "24");
form.append("month", "05");
form.append("year", "2023");
form.append("Place", "New Delhi");
form.append("lat", "28.6139");
form.append("lon", "77.2090");
form.append("tzone", "5.5");
form.append("lan", "en");

var settings = {
  "url": "https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Authorization": "Bearer {Your Auth Token}"
  },
  "processData": false,
  "mimeType": "multipart/form-data",
  "contentType": false,
  "data": form
};

$.ajax(settings).done(function (response) {
  console.log(response);
});

Python

import requests

url = "https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita"

payload = {'api_key': '{Your API Key}',
'day': '24',
'month': '05',
'year': '2023',
'Place': 'New Delhi',
'lat': '28.6139',
'lon': '77.2090',
'tzone': '5.5',
'lan': 'en'}

headers = {
  'Authorization': 'Bearer {Your Auth Token}'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
st(url, headers=headers, data=payload)
print(response.text)

Implementation Recommendations

If your UI is meant for end users, highlight only the intervals where panchak is “Good Panchak”.

If your product is for astrologers or advanced users, display the full list, since each Panchak type has different implications.

Combine this API with daily Panchang, Tithi, Nakshatra, and Auspicious/ Inauspicious Timings APIs for a complete muhurta advisory system.

Example Code
curl -X POST "https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita" \
  -H "Authorization: Bearer your API Access Token" \
  --form 'api_key="your API key"' \
  --form 'day="24"' \
  --form 'month="05"' \
  --form 'year="2023"' \
  --form 'place="New Delhi"' \
  --form 'lat="28.6139"' \
  --form 'lon="77.2090"' \
  --form 'tzone="5.5"' \
  --form 'lan="en"'
const FormData = require('form-data');
const axios = require('axios');

const form = new FormData();
form.append('api_key', 'your API key');
form.append('day', '24');
form.append('month', '05');
form.append('year', '2023');
form.append('place', 'New Delhi');
form.append('lat', '28.6139');
form.append('lon', '77.2090');
form.append('tzone', '5.5');
form.append('lan', 'en');

const response = await axios.post('https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita', form, {
  headers: {
    ...form.getHeaders(),
    'Authorization': 'Bearer your API Access Token',
  }
});

console.log(response.data);
import requests

url = "https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita"
headers = {
    "Authorization": "Bearer your API Access Token",
}
payload = {
    "api_key": "your API key",
    "day": "24",
    "month": "05",
    "year": "2023",
    "place": "New Delhi",
    "lat": "28.6139",
    "lon": "77.2090",
    "tzone": "5.5",
    "lan": "en",
}

response = requests.post(url, headers=headers, data=payload)

print(response.json())
const formData = new FormData();
formData.append('api_key', 'your API key');
formData.append('day', '24');
formData.append('month', '05');
formData.append('year', '2023');
formData.append('place', 'New Delhi');
formData.append('lat', '28.6139');
formData.append('lon', '77.2090');
formData.append('tzone', '5.5');
formData.append('lan', 'en');

const response = await fetch('https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita', {
  method: 'POST',
  headers: {
      'Authorization': "Bearer your API Access Token",
    },
  body: formData,
});

const data = await response.json();
console.log(data);
<?php

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('POST', 'https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita', [
    'headers' => [
        'Authorization' => 'Bearer your API Access Token',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => 'your API key'],
        ['name' => 'day', 'contents' => '24'],
        ['name' => 'month', 'contents' => '05'],
        ['name' => 'year', 'contents' => '2023'],
        ['name' => 'place', 'contents' => 'New Delhi'],
        ['name' => 'lat', 'contents' => '28.6139'],
        ['name' => 'lon', 'contents' => '77.2090'],
        ['name' => 'tzone', 'contents' => '5.5'],
        ['name' => 'lan', 'contents' => 'en'],
    ],
]);

echo $response->getBody();
package main

import (
    "bytes"
    "fmt"
    "mime/multipart"
    "net/http"
    "io"
)

func main() {
    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)
    writer.WriteField("api_key", "your API key")
    writer.WriteField("day", "24")
    writer.WriteField("month", "05")
    writer.WriteField("year", "2023")
    writer.WriteField("place", "New Delhi")
    writer.WriteField("lat", "28.6139")
    writer.WriteField("lon", "77.2090")
    writer.WriteField("tzone", "5.5")
    writer.WriteField("lan", "en")
    writer.Close()

    req, _ := http.NewRequest("POST", "https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita", body)
    req.Header.Set("Content-Type", writer.FormDataContentType())
    req.Header.Set("Authorization", "Bearer your API Access Token")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body2, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body2))
}
import okhttp3.*;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();

        RequestBody body = new MultipartBody.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("api_key", "your API key")
            .addFormDataPart("day", "24")
            .addFormDataPart("month", "05")
            .addFormDataPart("year", "2023")
            .addFormDataPart("place", "New Delhi")
            .addFormDataPart("lat", "28.6139")
            .addFormDataPart("lon", "77.2090")
            .addFormDataPart("tzone", "5.5")
            .addFormDataPart("lan", "en")
            .build();

        Request request = new Request.Builder()
            .url("https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita")
            .post(body)
            .addHeader("Authorization", "Bearer your API Access Token")
            .build();

        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}
import Foundation

let url = URL(string: "https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer your API Access Token", forHTTPHeaderField: "Authorization")

let boundary = "Boundary-\(UUID().uuidString)"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

var bodyData = Data()
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"api_key\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("your API key\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"day\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("24\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"month\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("05\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"year\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("2023\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"place\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("New Delhi\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lat\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("28.6139\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lon\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("77.2090\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"tzone\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("5.5\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lan\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("en\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)--\r\n".data(using: .utf8)!)
request.httpBody = bodyData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        print(String(data: data, encoding: .utf8) ?? "")
    }
}
task.resume()
import okhttp3.*

fun main() {
    val client = OkHttpClient()

    val body = MultipartBody.Builder()
        .setType(MultipartBody.FORM)
        .addFormDataPart("api_key", "your API key")
        .addFormDataPart("day", "24")
        .addFormDataPart("month", "05")
        .addFormDataPart("year", "2023")
        .addFormDataPart("place", "New Delhi")
        .addFormDataPart("lat", "28.6139")
        .addFormDataPart("lon", "77.2090")
        .addFormDataPart("tzone", "5.5")
        .addFormDataPart("lan", "en")
        .build()

    val request = Request.Builder()
        .url("https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita")
        .post(body!!)
        .addHeader("Authorization", "Bearer your API Access Token")
        .build()

    client.newCall(request).execute().use { response ->
        println(response.body?.string())
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        using var client = new HttpClient();
        client.DefaultRequestHeaders.Add("Authorization", "Bearer your API Access Token");

        var content = new MultipartFormDataContent();
        content.Add(new StringContent("your API key"), "api_key");
        content.Add(new StringContent("24"), "day");
        content.Add(new StringContent("05"), "month");
        content.Add(new StringContent("2023"), "year");
        content.Add(new StringContent("New Delhi"), "place");
        content.Add(new StringContent("28.6139"), "lat");
        content.Add(new StringContent("77.2090"), "lon");
        content.Add(new StringContent("5.5"), "tzone");
        content.Add(new StringContent("en"), "lan");

        var response = await client.PostAsync("https://astroapi-3.divineapi.com/indian-api/v1/panchak-rahita", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}