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

KP Prashna Ruling Planets API

Introducing the KP Prashna Ruling Planets API, a simple and reliable way to calculate the ruling planets based on the actual planetary positions at the time and location of a question. Unlike the KP Prashna Chart API, this endpoint does not require a horary number. Instead, it calculates the real Ascendant and Moon positions and derives the ruling planets according to the Krishnamurti Paddhati (KP) system.

The API provides detailed information about the Ascendant, Moon, Day Lord, Moon Sign Lord, Moon Star Lord, Moon Sub-Lord, Ascendant Sign Lord, Ascendant Star Lord, and Ascendant Sub-Lord.


Supported Language Codes

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

Guide:
Use the lan parameter in your request body to set your preferred response language. Default language is English (en).


API Endpoint

POST https://astroapi-3.divineapi.com/indian-api/v1/kp-prashna/ruling-planets

This endpoint calculates the KP-style planetary positions based on provided birth details.


Headers

NameTypeDescription
AuthorizationStringYour API access token. Example: Bearer {token}

Request Body

NameTypeRequiredDescription
api_key*StringYesYour API key.
full_name*StringYesFull name, e.g., Rahul Kumar.
day*IntegerYesDate of birth, e.g., 24.
month*IntegerYesMonth of birth, e.g., 05.
year*IntegerYesYear of birth, e.g., 2023.
hour*IntegerYesHour (24-hour format), e.g., 14.
min*IntegerYesMinute, e.g., 40.
sec*IntegerYesSecond, e.g., 43.
gender*StringYesGender, e.g., male.
place*StringYesBirthplace, e.g., New Delhi.
lat*FloatYesLatitude, e.g., 28.7041.
lon*FloatYesLongitude, e.g., 77.1025.
tzone*FloatYesTimezone, e.g., 5.5. Refer to Timezone List.
lanStringNoResponse language. Default is English (en).

200: OK KP Prashna Ruling Planets fetched successfully

{
    "success": 1,
    "data": {
        "ascendant": {
            "degree": 227.5358,
            "sign": "Scorpio",
            "nakshatra": "Jyeshtha",
            "nakshatra_no": 18,
            "pada": 1,
            "nakshatra_lord": "Mercury",
            "sub_lord": "Mercury",
            "sub_sub_lord": "Moon"
        },
        "moon": {
            "degree": 193.0904,
            "sign": "Libra",
            "nakshatra": "Swati",
            "nakshatra_no": 15,
            "pada": 2,
            "nakshatra_lord": "Rahu",
            "sub_lord": "Mercury",
            "sub_sub_lord": "Venus"
        },
        "ruling_planets": {
            "day_lord": "Moon",
            "moon_sign_lord": "Venus",
            "moon_star_lord": "Rahu",
            "moon_sub_lord": "Mercury",
            "ascendant_sign_lord": "Mars",
            "ascendant_star_lord": "Mercury",
            "ascendant_sub_lord": "Mercury"
        },
        "ruling_planets_list": [
            "Moon",
            "Venus",
            "Rahu",
            "Mercury",
            "Mars"
        ]
    }
}

Example Code Implementations

Below are example implementations in various programming environments.


cURL

curl --location 'https://astroapi-3.divineapi.com/indian-api/v1/kp-prashna/ruling-planets' \
--header 'Authorization: Bearer YOUR_AUTH_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "api_key": "YOUR_API_KEY",
    "day": 12,
    "month": 10,
    "year": 2026,
    "hour": 10,
    "min": 30,
    "sec": 0,
    "lat": 28.6139,
    "lon": 77.2090,
    "tzone": 5.5,
    "full_name": "Priya Sharma",
    "place": "New Delhi",
    "gender": "female"
}'
curl -X POST "https://astroapi-3.divineapi.com/indian-api/v1/kp-prashna/ruling-planets" \
  -H "Authorization: Bearer {Your Auth Token}" \
  --form 'api_key="{Your API Key}"' \
  --form 'full_name="Priya Sharma"' \
  --form 'day="12"' \
  --form 'month="10"' \
  --form 'year="2026"' \
  --form 'hour="10"' \
  --form 'min="30"' \
  --form 'sec="0"' \
  --form 'gender="female"' \
  --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('full_name', 'Priya Sharma');
form.append('day', '12');
form.append('month', '10');
form.append('year', '2026');
form.append('hour', '10');
form.append('min', '30');
form.append('sec', '0');
form.append('gender', 'female');
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/kp-prashna/ruling-planets', form, {
  headers: {
    ...form.getHeaders(),
    'Authorization': 'Bearer {Your Auth Token}',
  }
});

console.log(response.data);
import requests

url = "https://astroapi-3.divineapi.com/indian-api/v1/kp-prashna/ruling-planets"
headers = {
    "Authorization": "Bearer {Your Auth Token}",
}
payload = {
    "api_key": "{Your API Key}",
    "full_name": "Priya Sharma",
    "day": "12",
    "month": "10",
    "year": "2026",
    "hour": "10",
    "min": "30",
    "sec": "0",
    "gender": "female",
    "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('full_name', 'Priya Sharma');
formData.append('day', '12');
formData.append('month', '10');
formData.append('year', '2026');
formData.append('hour', '10');
formData.append('min', '30');
formData.append('sec', '0');
formData.append('gender', 'female');
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/kp-prashna/ruling-planets', {
  method: 'POST',
  headers: {
      'Authorization': "Bearer {Your Auth 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/kp-prashna/ruling-planets', [
    'headers' => [
        'Authorization' => 'Bearer {Your Auth Token}',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => '{Your API Key}'],
        ['name' => 'full_name', 'contents' => 'Priya Sharma'],
        ['name' => 'day', 'contents' => '12'],
        ['name' => 'month', 'contents' => '10'],
        ['name' => 'year', 'contents' => '2026'],
        ['name' => 'hour', 'contents' => '10'],
        ['name' => 'min', 'contents' => '30'],
        ['name' => 'sec', 'contents' => '0'],
        ['name' => 'gender', 'contents' => 'female'],
        ['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("full_name", "Priya Sharma")
    writer.WriteField("day", "12")
    writer.WriteField("month", "10")
    writer.WriteField("year", "2026")
    writer.WriteField("hour", "10")
    writer.WriteField("min", "30")
    writer.WriteField("sec", "0")
    writer.WriteField("gender", "female")
    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/kp-prashna/ruling-planets", body)
    req.Header.Set("Content-Type", writer.FormDataContentType())
    req.Header.Set("Authorization", "Bearer {Your Auth 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("full_name", "Priya Sharma")
            .addFormDataPart("day", "12")
            .addFormDataPart("month", "10")
            .addFormDataPart("year", "2026")
            .addFormDataPart("hour", "10")
            .addFormDataPart("min", "30")
            .addFormDataPart("sec", "0")
            .addFormDataPart("gender", "female")
            .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/kp-prashna/ruling-planets")
            .post(body)
            .addHeader("Authorization", "Bearer {Your Auth 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/kp-prashna/ruling-planets")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer {Your Auth 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=\"full_name\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("Priya Sharma\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("12\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("10\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("2026\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"hour\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("10\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"min\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("30\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"sec\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("0\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"gender\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("female\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("full_name", "Priya Sharma")
        .addFormDataPart("day", "12")
        .addFormDataPart("month", "10")
        .addFormDataPart("year", "2026")
        .addFormDataPart("hour", "10")
        .addFormDataPart("min", "30")
        .addFormDataPart("sec", "0")
        .addFormDataPart("gender", "female")
        .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/kp-prashna/ruling-planets")
        .post(body!!)
        .addHeader("Authorization", "Bearer {Your Auth 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 Auth Token}");

        var content = new MultipartFormDataContent();
        content.Add(new StringContent("{Your API Key}"), "api_key");
        content.Add(new StringContent("Priya Sharma"), "full_name");
        content.Add(new StringContent("12"), "day");
        content.Add(new StringContent("10"), "month");
        content.Add(new StringContent("2026"), "year");
        content.Add(new StringContent("10"), "hour");
        content.Add(new StringContent("30"), "min");
        content.Add(new StringContent("0"), "sec");
        content.Add(new StringContent("female"), "gender");
        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/kp-prashna/ruling-planets", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}
Response 200
{
    "success": 1,
    "data": {
        "ascendant": {
            "degree": 227.5358,
            "sign": "Scorpio",
            "nakshatra": "Jyeshtha",
            "nakshatra_no": 18,
            "pada": 1,
            "nakshatra_lord": "Mercury",
            "sub_lord": "Mercury",
            "sub_sub_lord": "Moon"
        },
        "moon": {
            "degree": 193.0904,
            "sign": "Libra",
            "nakshatra": "Swati",
            "nakshatra_no": 15,
            "pada": 2,
            "nakshatra_lord": "Rahu",
            "sub_lord": "Mercury",
            "sub_sub_lord": "Venus"
        },
        "ruling_planets": {
            "day_lord": "Moon",
            "moon_sign_lord": "Venus",
            "moon_star_lord": "Rahu",
            "moon_sub_lord": "Mercury",
            "ascendant_sign_lord": "Mars",
            "ascendant_star_lord": "Mercury",
            "ascendant_sub_lord": "Mercury"
        },
        "ruling_planets_list": [
            "Moon",
            "Venus",
            "Rahu",
            "Mercury",
            "Mars"
        ]
    }
}