search

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 Astrology API

Navigate core Krishnamurti Paddhati (KP) tables programmatically with the KP Astrology API. This endpoint is designed as a flexible, single-entry API where you specify which KP table you want via :type_id, and the API returns the corresponding KP data (cuspal sub table, planetary sub table, or planetary–cuspal significators).


Important Note on type_id

type_id decides which KP table you will receive.

cuspal-sub
Returns the KP Cuspal Sub Table (cusp-wise, with star lord, sub lord, sub-sub, etc.).

planetary-sub
Returns the KP Planetary Sub Table (planet-wise breakup of star lord, sub lord, sub-sub, houses influenced).

planetary-cuspal-significator-table
Returns the combined/derived Planetary and Cuspal Significator Table used in KP for event judgement.

You must replace :type_id in the URL with one of the above values.


Step-by-Step KP Astrology API Postman Testing Integration

You can follow the official guide here:

Step by Step KP Astrology API Postman Testing Integration


Supported Language Codes

Source:
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

Pass lan in the body to get the response in that language. Default is en.


Endpoint

POST https://astroapi-3.divineapi.com/indian-api/v1/kp/:type_id

Headers

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

Request Body

NameTypeRequiredDescription
api_keyStringYesYour DivineAPI key.
full_nameStringYesFull name, e.g. Rahul Kumar.
dayIntegerYesDate of birth, e.g. 24.
monthIntegerYesMonth of birth, e.g. 05.
yearIntegerYesYear of birth, e.g. 2023.
hourIntegerYesHour of birth (24h), e.g. 14.
minIntegerYesMinute, e.g. 40.
secIntegerYesSecond, e.g. 43.
genderStringYese.g. male.
placeStringYese.g. New Delhi.
latFloatYesLatitude, e.g. 28.7041.
lonFloatYesLongitude, e.g. 77.1025.
tzoneFloatYesTimezone, e.g. 5.5.
lanStringNoLanguage code from the table above.

Example Successful Response (200: OK)

{
    "success": 1,
    "data": {
        "table": "table_data",        
    }
}

cURL Example

curl --location 'https://astroapi-3.divineapi.com/indian-api/v1/kp/:type_id' \
--header 'Authorization: Bearer {Your Auth Token}' \
--form 'api_key="{Your API Key}"' \
--form 'full_name="Rahul kumar"' \
--form 'day="24"' \
--form 'month="05"' \
--form 'year="2023"' \
--form 'hour="14"' \
--form 'min="40"' \
--form 'sec="43"' \
--form 'gender="male"' \
--form 'place="New Delhi"' \
--form 'lat="28.7041"' \
--form 'lon="77.1025"' \
--form 'tzone="5.5"' \
--form 'lan="en"'

To get planetary sub table, change the URL to:

https://astroapi-3.divineapi.com/indian-api/v1/kp/planetary-sub

NodeJS Example

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://astroapi-3.divineapi.com/indian-api/v1/kp/:type_id',
  'headers': {
    'Authorization': 'Bearer {Your Auth Token}'
  },
  formData: {
    'api_key': '{Your API Key}',
    'full_name': 'Rahul kumar',
    'day': '24',
    'month': '05',
    'year': '2023',
    'hour': '14',
    'min': '40',
    'sec': '43',
    'gender': 'male',
    'place': 'New Delhi',
    'lat': '28.7041',
    'lon': '77.1025',
    'tzone': '5.5',
    'lan': 'en'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});


JavaScript jQuery AJAX Example

var form = new FormData();
form.append("api_key", "{Your API Key}");
form.append("full_name", "Rahul kumar");
form.append("day", "24");
form.append("month", "05");
form.append("year", "2023");
form.append("hour", "14");
form.append("min", "40");
form.append("sec", "43");
form.append("gender", "male");
form.append("place", "New Delhi");
form.append("lat", "28.7041");
form.append("lon", "77.1025");
form.append("tzone", "5.5");
form.append("lan", "en");

var settings = {
  "url": "https://astroapi-3.divineapi.com/indian-api/v1/kp/:type_id",
  "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 Example

import requests

url = "https://astroapi-3.divineapi.com/indian-api/v1/kp/:type_id"

payload = {'api_key': '{Your API Key}',
'full_name': 'Rahul kumar',
'day': '24',
'month': '05',
'year': '2023',
'hour': '14',
'min': '40',
'sec': '43',
'gender': 'male',
'place': 'New Delhi',
'lat': '28.7041',
'lon': '77.1025',
'tzone': '5.5',
'lan': 'en'}

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

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

print(response.text)

Notes

You must always replace :type_id with a valid key; otherwise the API will not know which KP table to generate.

The overall shape will always be {"success": 1, "data": { ... }} as in the other DivineAPI docs you shared.

Make sure your time, place, and timezone are accurate because KP subdivision logic is highly time-sensitive.