Skip to content
POST/api/astro/chart/1 credit

Birth chart

The core chart endpoint: planetary positions, house divisions and the ascendant for a moment and a place. Ask for the Rashi chart (D-1) for an ordinary birth chart, or any of thirty-odd divisional charts — Navamsa, Dasamsa, Dwadasamsa, Shashtyamsa and the rest — by name, and pass an array of names to get several back in one call, keyed by chart name. Each chart returns three blocks. `celestial` is keyed by body name (sun, moon, … northtruenode) and gives longitude, latitude, nakshatra and pada, kakshya, sign name and house number for each. `houses` is keyed 1 to 12 with the `start`, `cusp` and `end` of every house. `ascendant` gives the rising degree and its sign. `notation` controls units throughout: 'degree' for decimal degrees, 'astrological' for sign plus degrees, minutes and seconds. The optional fields are where the precision lives. `ayanamsa` picks the sidereal definition, and `apply_correction` with `correction_deg`, `correction_min`, `correction_sec` and `correction_direction` shifts it by hand. `rahu` chooses true nodes, mean nodes or both. `extended_bodies` adds asteroids, Uranian fictitious bodies or planetary moons, silently dropping any whose ephemeris files are absent. `ascendant_pos` decides whether the ascendant is read at the house cusp, start or end — note that any value other than 'start' or 'end', including a typo, falls back to the cusp without complaint. The date field is spelt `datetime` on this endpoint, not `date_time`.

https://yogataraapi.prahlad.app/api/astro/chart/
Test Request

Authentication

Send your key in the X-API-Key header. Keys are server-side credentials — never put one in browser JavaScript or a mobile app.

X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/json

Request fields

FieldTypeRequiredNotes
ascendant_posstringrequired
cuspstartend

'start' uses the house start and 'end' the house end; ANY other value - including 'cusp' itself and any typo - falls through the else branch and uses the house cusp. So 'cusp' is the effective default and misspellings fail silently instead of erroring. Case-sensitive.

ayanamsastringrequired
FAGAN_BRADLEYLAHIRIDELUCERAMANUSHASHASHIKRISHNAMURTIDJWHAL_KHULYUKTESHWARJN_BHASINBABYL_KUGLER1BABYL_KUGLER2BABYL_KUGLER3

Case-INSENSITIVE - name.upper is used for the lookup. Unlike /api/astro/ayanamsa_value/, 'USER' is NOT rejected here. An unknown value returns 400 "Undefined ayanamsa: <name>". Note that apply_correction=true overrides the choice and switches the internal mode to USER.

chart_namestringrequired
BhavaChartRashiChartHoraChartJagannathHoraChartParivrittidwayaHoraChartParivrittitrayaDrekkanaChartDrekkanaChartSomnathDrekkanaChartJagannathDrekkanaChartChaturthamsaChartPanchamsaChartShashthamsaChart

Case-sensitive, and spelt exactly as listed. Pass a single name, or an array to get several charts in one call - the response is then keyed by chart name. An unknown name returns 400.

datetimestring (date-time)required

The moment to calculate for, ISO 8601. ALWAYS include an offset or a trailing Z - a value with no zone is read as Asia/Kolkata (UTC+05:30), not UTC. Same meaning as date_time, which other endpoints call the same thing by a different name.

FORMAT constraint, not an enum. DRF DateTimeField: ISO-8601 only (DRF default input formats), e.g. "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" or "2026-09-01 06:00:00" (no timezone = UTC assumed). Note this endpoint names the field `datetime`, not `date_time`.

latitudenumber (double)required

Latitude of the place, in decimal degrees. Positive is north, negative is south. Example: 26.9124 for Jaipur, 40.7128 for New York. Minutes and seconds are not accepted - convert first.

min -180 · max 180

longitudenumber (double)required

Longitude of the place, in decimal degrees. Positive is east, negative is west. Example: 75.7873 for Jaipur, -74.0060 for New York. Note the sign: a missing minus puts New York in China.

min -180 · max 180

notationstringrequired
astrologicaldegree

Case-sensitive lowercase. 'astrological' returns sign/degree/minute/second components; 'degree' returns raw decimal degrees. Anything else returns 400 "Invalid notation: <x>".

aberrationbooleanoptional
apply_correctionbooleanoptional
correction_degintegeroptional

min 0

correction_directionstringoptional
addsubtract

Default 'add'. Only meaningful when apply_correction=true and at least one of correction_deg/min/sec is non-zero.

correction_minintegeroptional

min 0 · max 59

correction_secintegeroptional

min 0 · max 59

extended_bodiesarrayoptional

Body groups to include: 'asteroids', 'planetary_moons', 'fictitious_bodies'.

asteroidsplanetary_moonsfictitious_bodies

Array of strings, default []. 'asteroids' adds chiron, pholus, ceres, pallas, juno, vesta; 'fictitious_bodies' adds cupido, hades, zeus, kronos, apollon, admetos, vulkanus, poseidon, selena; 'planetary_moons' adds phobos, deimos, io, europa, ganymede, callisto, titan, triton, charon. Bodies whose ephemeris files are missing are silently dropped from the response.

nutationbooleanoptional
rahustringoptional

Node type to include. 'true' returns true nodes only, 'mean' returns mean nodes only, 'both' returns both.

truemeanboth

Default 'true'. 'true' returns only the true nodes, 'mean' only the mean nodes, 'both' returns all four.

refractionbooleanoptional
true_meanstringoptional
TrueMean

Case-SENSITIVE capitalised. Default 'Mean'. Selects true vs mean planetary positions (swisseph TRUEPOS).

use_28_nakshatrasbooleanoptional

Example request

curl -X POST https://yogataraapi.prahlad.app/api/astro/chart/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"chart_name":"NavamsaChart","datetime":"2026-04-09T15:35:00+05:30","longitude":75.76861133842026,"latitude":26.849874414615,"notation":"degree","ayanamsa":"lahiri","ascendant_pos":"cusp","rahu":"true","true_mean":"Mean","refraction":false,"apply_correction":false,"correction_direction":"add","correction_deg":0,"correction_min":0,"correction_sec":0}'

Response

{
  "data": {
    "NavamsaChart": {
      "celestial": {
        "sun": {
          "longitude": 318.0675,
          "latitude": 0,
          "nakshatra": "Satabhishak",
          "pada": 4,
          "kakshya": "venus",
          "zodiac_name": "Aquarius",
          "house": 8
        },
        "moon": {
          "longitude": 150.3425,
          "latitude": -4.343,
          "nakshatra": "Uttara Phalguni",
          "pada": 2,
          "kakshya": "saturn",
          "zodiac_name": "Virgo",
          "house": 3
        },
        "mercury": {
          "longitude": 74.3125,
          "latitude": -2.291,
          "nakshatra": "Aardra",
          "pada": 3,
          "kakshya": "sun",
          "zodiac_name": "Gemini",
          "house": 12
        },
        "venus": {
          "longitude": 159.8475,
          "latitude": -0.081,
          "nakshatra": "Uttara Phalguni",
          "pada": 4,
          "kakshya": "mars",
          "zodiac_name": "Virgo",
          "house": 3
        },
        "mars": {
          "longitude": 139.1825,
          "latitude": -1.01,
          "nakshatra": "Poorva Phalguni",
          "pada": 2,
          "kakshya": "Mercury",
          "zodiac_name": "Leo",
          "house": 2
        },
        "jupiter": {
          "longitude": 19.82499999999999,
          "latitude": 0.377,
          "nakshatra": "Bharani",
          "pada": 2,
          "kakshya": "Mercury",
          "zodiac_name": "Aries",
          "house": 10
        },
        "saturn": {
          "longitude": 201.275,
          "latitude": -2.136,
          "nakshatra": "Visaakha",
          "pada": 1,
          "kakshya": "Mercury",
          "zodiac_name": "Libra",
          "house": 4
        },
        "uranus": {
          "longitude": 314.28,
          "latitude": -0.169,
          "nakshatra": "Satabhishak",
          "pada": 3,
          "kakshya": "sun",
          "zodiac_name": "Aquarius",
          "house": 8
        },
        "neptune": {
          "longitude": 164.6175,
          "latitude": -1.31,
          "nakshatra": "Hasta",
          "pada": 2,
          "kakshya": "sun",
          "zodiac_name": "Virgo",
          "house": 3
        },
        "pluto": {
          "longitude": 10.007499999999991,
          "latitude": -3.973,
          "nakshatra": "Ashwini",
          "pada": 4,
          "kakshya": "mars",
          "zodiac_name": "Aries",
          "house": 10
        },
        "northtruenode": {
          "longitude": 304.65,
          "latitude": 0,
          "nakshatra": "Dhanishtha",
          "pada": 4,
          "kakshya": "jupiter",
          "zodiac_name": "Aquarius",
          "house": 8
        },
        "southtruenode": {
          "longitude": 124.65,
          "latitude": 0,
          "nakshatra": "Makha",
          "pada": 2,
          "kakshya": "jupiter",
          "zodiac_name": "Leo",
          "house": 2
        }
      },
      "houses": {
        "1": {
          "start": 118.24667529991994,
          "cusp": 133.24667529991996,
          "end": 148.24667529991996
        },
        "2": {
          "start": 148.24667529991996,
          "cusp": 163.24667529991996,
          "end": 178.24667529991996
        },
        "3": {
          "start": 178.24667529991996,
          "cusp": 193.24667529991996,
          "end": 208.24667529991996
        },
        "4": {
          "start": 208.24667529991996,
          "cusp": 223.24667529991993,
          "end": 238.24667529991993
        },
        "5": {
          "start": 238.24667529991993,
          "cusp": 253.24667529991993,
          "end": 268.2466752999199
        },
        "6": {
          "start": 268.2466752999199,
          "cusp": 283.2466752999199,
          "end": 298.2466752999199
        },
        "7": {
          "start": 298.2466752999199,
          "cusp": 313.2466752999199,
          "end": 328.2466752999199
        },
        "8": {
          "start": 328.2466752999199,
          "cusp": 343.2466752999199,
          "end": 358.2466752999199
        },
        "9": {
          "start": 358.2466752999199,
          "cusp": 13.246675299919922,
          "end": 28.24667529991992
        },
        "10": {
          "start": 28.24667529991992,
          "cusp": 43.24667529991992,
          "end": 58.24667529991993
        },
        "11": {
          "start": 58.24667529991993,
          "cusp": 73.24667529991993,
          "end": 88.24667529991993
        },
        "12": {
          "start": 88.24667529991993,
          "cusp": 103.24667529991991,
          "end": 118.24667529991994
        }
      },
      "ascendant": {
        "longitude": 133.24667529991996,
        "zodiac_name": "Cancer",
        "nakshatra": "Makha",
        "pada": 4
      },
      "ayanamsa_used": {
        "name": "LAHIRI",
        "corrected": false,
        "value_degrees": 24.224068,
        "formatted": "24°13'27\""
      }
    }
  },
  "message": "successful",
  "is_error": false
}

Captured from a real call using the exact request above. Results sit under data.

Errors

Metering errors return { "error": "…", "message": "<code>", "is_error": true }. Show error to people and branch on message. See the error reference.