API reference › Kundli

Outer Planets in the Kundli API

Uranus, Neptune and Pluto: sidereal position, house from the lagna, and the house reading in English and Hindi

POST/v1/kundli/outer-planets

2 credits · Secret key (test or live) · getOuterPlanets

Positions are sidereal, consistent with the rest of the chart; the reading is by house only (a sidereal sign carries no Western sign text). Needs a birth time.

Request body

  • birth Birth required
    • date string (date) required

      e.g. "1990-08-13"

    • time string

      pattern ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$ · e.g. "06:30"

    • time_accuracy string

      With "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.

      one of exact, approximate, unknown · default "exact"

    • place Coordinates or object or object required

      Coordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.

      One of:

      1. Coordinates
        Fields
        • latitude number required

          ≥ -90 · ≤ 90

        • longitude number required

          ≥ -180 · ≤ 180

        No other fields are accepted.

      2. object
        Fields
        • place_id string required

        No other fields are accepted.

      3. object
        Fields
        • query string required

          at least 2 characters · at most 120 characters

        No other fields are accepted.

    • timezone string

      "auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".

      default "auto"

    No other fields are accepted.

  • options Options
    • ayanamsa string

      Each system is its Swiss Ephemeris definition (a constant offset from Lahiri). Applies to chart operations; KP operations always use KP-New and the personal muhurat stays Lahiri. meta.ayanamsa names the system used.

      one of lahiri, raman, krishnamurti, yukteshwar, fagan_bradley · default "lahiri"

    • house_system string

      one of whole_sign · default "whole_sign"

    • node string

      The Rahu/Ketu the chart uses: the true (osculating) node, as Swiss Ephemeris and Drik Panchang define it, or the mean node. meta.node names the one used. POST /v1/planets/positions always returns both.

      one of true, mean · default "true"

    • lang string

      one of en, hi · default "en"

    • view string

      compact drops labels and prose — for LLM callers.

      one of full, compact · default "full"

    • tone string

      descriptive: the prose fields (tithi.note, tara descriptions, the timing summary and insights, natal-transit descriptions, transit-event notes) carry reviewed descriptive sentences, attributed to the tradition and with no instructions, in options.lang. Ids, scores and every other value are unchanged. Applies to getPanchang, getFavourableDays, getPersonalTiming, getDashaTransitConfluence, getNatalTransits and listPlanetaryEvents (and those inside a bundle); elsewhere it changes nothing.

      one of default, descriptive · default "default"

    • dasha_year number

      Days in a Vimshottari year: 365.25 (Julian, the default), 365.2422 (tropical) or 360 (savana). Applies to /v1/dasha/vimshottari and /v1/dasha/vimshottari/current; data.basis.year_days names the one used.

      one of 365.25, 365.2422, 360 · default 365.25

    No other fields are accepted.

No other fields are accepted.

Response

JSON { data, meta, warnings }, where data is:

  • planets array of object required
    • id string required

      one of uranus, neptune, pluto

    • longitude number required

      ≥ 0 · < 360

    • sign string required
    • sign_degree number required
    • nakshatra string required
    • retrograde boolean required
    • house integer or null required

      One of:

      1. integer
      2. null
    • label_hi string required
    • intro object or null required

      One of:

      1. object
        Fields
        • en string required
        • hi string or null required

          One of:

          1. string
          2. null
      2. null
    • reading object or null required

      One of:

      1. object
        Fields
        • en string required
        • hi string or null required

          One of:

          1. string
          2. null
      2. null

Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.

Example request

curl -X POST 'https://api.astrologics.in/v1/kundli/outer-planets' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/kundli/outer-planets", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "birth": {
      "date": "1990-08-13",
      "time": "06:30",
      "place": {
        "latitude": 28.6139,
        "longitude": 77.209
      }
    }
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "birth": {
        "date": "1990-08-13",
        "time": "06:30",
        "place": {
            "latitude": 28.6139,
            "longitude": 77.209,
        },
    },
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/kundli/outer-planets",
    method="POST",
    headers={"Authorization": "Bearer al_test_YOUR_KEY", "Content-Type": "application/json"},
    data=json.dumps(body).encode(),
)
try:
    with urllib.request.urlopen(req) as res:
        print(json.dumps(json.load(res), indent=2, ensure_ascii=False))
except urllib.error.HTTPError as err:
    print(err.code, err.read().decode())
PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/kundli/outer-planets');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 4,746 characters
{
  "data": {
    "planets": [
      {
        "id": "uranus",
        "longitude": 252.2998,
        "sign": "sagittarius",
        "sign_degree": 12.3,
        "nakshatra": "mula",
        "retrograde": true,
        "house": 5,
        "label_hi": "यूरेनस",
        "intro": {
          "en": "Uranus takes about 84 years to circle the Sun, so it sits in one sign for roughly seven years and describes an age group rather than a person. What is personal is the house it falls in: the area of life where you resist being told what to do, where change tends to arrive suddenly rather than gradually, and where you are least willing to live by someone else’s timetable.",
          "hi": "यूरेनस को सूर्य की एक परिक्रमा में लगभग 84 वर्ष लगते हैं, इसलिए यह एक राशि में करीब सात वर्ष रहता है और किसी व्यक्ति से अधिक एक पूरी पीढ़ी को दर्शाता है। व्यक्तिगत बात इसका भाव है — जीवन का वह क्षेत्र जहाँ आप बंधन सहज स्वीकार नहीं करते, जहाँ परिवर्तन धीरे-धीरे नहीं बल्कि अचानक आता है, और जहाँ किसी और की गति से चलना आपको सबसे कठिन लगता है।"
        },
        "reading": {
          "en": "Uranus in the 5th brings originality to whatever you make and unpredictability to romance. Attractions can be sudden, and creative work matters most when nobody has told you what it should look like.",
          "hi": "पंचम भाव में यूरेनस आपकी रचना में मौलिकता और प्रेम-संबंधों में अनिश्चितता लाता है। आकर्षण अचानक हो सकता है, और सृजन तभी सबसे सार्थक लगता है जब उसका स्वरूप किसी और ने तय न किया हो।"
        }
      },
      {
        "id": "neptune",
        "longitude": 258.5107,
        "sign": "sagittarius",
        "sign_degree": 18.51,
        "nakshatra": "purva_ashadha",
        "retrograde": true,
        "house": 5,
        "label_hi": "नेपच्यून",
        "intro": {
          "en": "Neptune takes about 165 years to circle the Sun and stays in one sign for around fourteen, so its sign belongs to a generation rather than to you. The house is where the outline goes soft: where you see what could be rather than what is, where sympathy comes easily, and where it is worth checking the facts a second time.",
          "hi": "नेपच्यून को सूर्य की परिक्रमा में लगभग 165 वर्ष लगते हैं और यह एक राशि में करीब चौदह वर्ष रहता है, इसलिए इसकी राशि आपकी नहीं, एक पीढ़ी की पहचान है। इसका भाव वह क्षेत्र है जहाँ रेखाएँ धुँधली पड़ जाती हैं — जहाँ आप वह देखते हैं जो हो सकता है, न कि जो है; जहाँ करुणा सहज आती है; और जहाँ तथ्यों को दोबारा जाँच लेना उचित रहता है।"
        },
        "reading": {
          "en": "Neptune in the 5th brings imagination to creative work and idealism to romance. Art of some kind is a real outlet, and it helps to see a person as they are before deciding who they might become.",
          "hi": "पंचम भाव में नेपच्यून सृजन में कल्पना और प्रेम में आदर्शवाद लाता है। किसी न किसी रूप में कला वास्तविक अभिव्यक्ति बनती है, और किसी को वह मान लेने से पहले जैसा वह हो सकता है, उसे जैसा वह है वैसा देख लेना हितकर होता है।"
        }
      },
      {
        "id": "pluto",
        "longitude": 201.3313,
        "sign": "libra",
        "sign_degree": 21.33,
        "nakshatra": "vishakha",
        "retrograde": false,
        "house": 3,
        "label_hi": "प्लूटो",
        "intro": {
          "en": "Pluto takes roughly 248 years to circle the Sun and can spend anywhere from twelve to thirty years in one sign, so its sign is generational. The house is where things end and begin again rather than simply improving — the area you keep returning to, and the one where you would least willingly be controlled by anyone.",
          "hi": "प्लूटो को सूर्य की परिक्रमा में लगभग 248 वर्ष लगते हैं और यह एक राशि में बारह से तीस वर्ष तक रह सकता है, इसलिए इसकी राशि पीढ़ीगत होती है। इसका भाव वह क्षेत्र है जहाँ चीज़ें केवल सुधरती नहीं, बल्कि समाप्त होकर नए सिरे से आरंभ होती हैं — वह क्षेत्र जहाँ आप बार-बार लौटते हैं, और जहाँ किसी का नियंत्रण आपको सबसे कम स्वीकार्य है।"
        },
        "reading": {
          "en": "Pluto in the 3rd gives a probing mind that is not satisfied by the surface answer. Your words carry weight, and early ties with siblings or neighbours may have marked you more than you say.",
          "hi": "तृतीय भाव में प्लूटो ऐसी खोजी बुद्धि देता है जो ऊपरी उत्तर से संतुष्ट नहीं होती। आपके शब्दों में भार होता है, और भाई-बहनों या पड़ोस से जुड़े आरंभिक संबंधों ने आप पर उससे अधिक छाप छोड़ी हो सकती है जितना आप कहते हैं।"
        }
      }
    ]
  },
  "meta": {
    "request_id": "req_example",
    "api_version": "v1",
    "engine_version": "2026.10.10",
    "mode": "live",
    "credits_charged": 2,
    "ayanamsa": "lahiri",
    "house_system": "whole_sign",
    "node": "true",
    "timezone_used": {
      "name": "Asia/Kolkata",
      "utc_offset": "+05:30",
      "source": "auto"
    }
  },
  "warnings": []
}
Try it

Leave empty to use the shared demo key (limited). Test keys only: never charged. Kept in this browser tab and sent through this site to the API. Create one

More in Kundli

Get a free API key Kundli product page