API reference › Kundli

Arudha Lagna and Upapada API

Arudha padas of the twelve houses, with Arudha Lagna and Upapada

POST/v1/kundli/arudha

1 credit · Secret key (test or live) · getArudhaPadas

Needs a birth time. Choose the lord of Scorpio and of Aquarius: rules for choosing between the two lords differ, and the API does not pick by strength.

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.

  • scorpio_lord string

    one of mars, ketu · default "mars"

  • aquarius_lord string

    one of saturn, rahu · default "saturn"

No other fields are accepted.

Response

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

  • padas array of object required
    • id string required
    • house integer required
    • name string required
    • lord string required
    • lord_house integer required
    • sign string required
    • pada_house integer required
    • exception_applied boolean required

      The count landed on the sign or its 7th, so the 10th from there was taken.

    • planets array of string required
  • arudha_lagna string required
  • upapada string required
  • scorpio_lord string required
  • aquarius_lord string required
  • source object required
    • text string required
    • basis string required

      one of convention

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

Example request

curl -X POST 'https://api.astrologics.in/v1/kundli/arudha' \
  -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/arudha", {
  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/arudha",
    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/arudha');
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 · 3,823 characters
{
  "data": {
    "padas": [
      {
        "id": "a1",
        "house": 1,
        "name": "Arudha Lagna",
        "lord": "sun",
        "lord_house": 12,
        "sign": "gemini",
        "pada_house": 11,
        "exception_applied": false,
        "planets": []
      },
      {
        "id": "a2",
        "house": 2,
        "name": "Dhana Pada",
        "lord": "mercury",
        "lord_house": 1,
        "sign": "cancer",
        "pada_house": 12,
        "exception_applied": false,
        "planets": [
          "sun",
          "venus",
          "jupiter",
          "ketu"
        ]
      },
      {
        "id": "a3",
        "house": 3,
        "name": "Bhratri Pada",
        "lord": "venus",
        "lord_house": 12,
        "sign": "capricorn",
        "pada_house": 6,
        "exception_applied": true,
        "planets": [
          "rahu"
        ]
      },
      {
        "id": "a4",
        "house": 4,
        "name": "Matri Pada",
        "lord": "mars",
        "lord_house": 9,
        "sign": "virgo",
        "pada_house": 2,
        "exception_applied": false,
        "planets": []
      },
      {
        "id": "a5",
        "house": 5,
        "name": "Mantra Pada",
        "lord": "jupiter",
        "lord_house": 12,
        "sign": "aquarius",
        "pada_house": 7,
        "exception_applied": false,
        "planets": []
      },
      {
        "id": "a6",
        "house": 6,
        "name": "Shatru Pada",
        "lord": "saturn",
        "lord_house": 5,
        "sign": "scorpio",
        "pada_house": 4,
        "exception_applied": false,
        "planets": []
      },
      {
        "id": "a7",
        "house": 7,
        "name": "Dara Pada",
        "lord": "saturn",
        "lord_house": 5,
        "sign": "libra",
        "pada_house": 3,
        "exception_applied": false,
        "planets": []
      },
      {
        "id": "a8",
        "house": 8,
        "name": "Roga Pada",
        "lord": "jupiter",
        "lord_house": 12,
        "sign": "scorpio",
        "pada_house": 4,
        "exception_applied": false,
        "planets": []
      },
      {
        "id": "a9",
        "house": 9,
        "name": "Bhagya Pada",
        "lord": "mars",
        "lord_house": 9,
        "sign": "capricorn",
        "pada_house": 6,
        "exception_applied": true,
        "planets": [
          "rahu"
        ]
      },
      {
        "id": "a10",
        "house": 10,
        "name": "Rajya Pada",
        "lord": "venus",
        "lord_house": 12,
        "sign": "virgo",
        "pada_house": 2,
        "exception_applied": false,
        "planets": []
      },
      {
        "id": "a11",
        "house": 11,
        "name": "Labha Pada",
        "lord": "mercury",
        "lord_house": 1,
        "sign": "libra",
        "pada_house": 3,
        "exception_applied": false,
        "planets": []
      },
      {
        "id": "a12",
        "house": 12,
        "name": "Upapada",
        "lord": "moon",
        "lord_house": 9,
        "sign": "libra",
        "pada_house": 3,
        "exception_applied": true,
        "planets": []
      }
    ],
    "arudha_lagna": "gemini",
    "upapada": "libra",
    "scorpio_lord": "mars",
    "aquarius_lord": "saturn",
    "source": {
      "text": "Wikipedia's Lagna page, which states the rule; the Sanskrit text has not been read. The Upapada is the pada of the 12th house.",
      "basis": "convention"
    }
  },
  "meta": {
    "request_id": "req_example",
    "api_version": "v1",
    "engine_version": "2026.10.10",
    "mode": "live",
    "credits_charged": 1,
    "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