Skip to content
POST/api/astro/ashtakvarga/sodhana/1 credit

Ashtakavarga sodhana and pindas

The two sodhana reductions, and the pindas they feed. Sodhana is the pruning classical texts apply before a sarvashtakavarga total means anything. Trikona sodhana cancels points across each trine, keeping the smallest of the three and subtracting it from all of them; ekadhipatya sodhana then handles the signs that share a lord, zeroing the weaker of the pair. Both are returned reckoned by sign and by house, because which applies depends on whether you read the chart from the lagna or from the sign. The pindas are the single numbers a planet's strength gets quoted as. The engine returns them as three bare arrays of seven floats with nothing saying which planet is which; here they are keyed by planet, and sodhya is returned alongside raasi and graha so you can check that it is their sum rather than take it on trust. Note there is no Rahu or Ketu pinda — classical pinda reckoning covers the seven grahas only, which is why these arrays are seven long where the prastara tables are eight.

https://yogataraapi.prahlad.app/api/astro/ashtakvarga/sodhana/
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
date_timestring (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, and can return the previous day's result with a 200. '2026-09-01T06:00:00Z' and '2026-09-01 06:00:00' are different instants and give different answers.

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 -89.9 · max 89.9

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

timezone_as_floatnumber (double)required

UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30), -5 for New York in winter, 5.75 for Nepal. This is NOT validated against date_time - if the two disagree you get a successful response for the wrong moment, so derive both from the same source. Use the offset in force on that date, not today's: a summer birth in a country with daylight saving needs the summer offset.

min -12 · max 14

apply_ekadhipatya_reductionsbooleanoptional
chart_namestringoptional
keysarrayoptional

Which calculations to return, as a list of names. See the key table for this endpoint; an unrecognised name rejects the whole request. One call costs one credit however many keys you ask for, so request everything you need at once rather than making several calls.

use_eight_ashtakavargas_in_savbooleanoptional

Example request

curl -X POST https://yogataraapi.prahlad.app/api/astro/ashtakvarga/sodhana/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time":"1990-08-15T10:30:00+05:30","latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5,"chart_name":"RashiChart"}'

Response

{
  "_truncated": true,
  "_note": "Response shortened for the catalogue.",
  "preview": "{\"data\": {\"chart\": \"RashiChart\", \"signs\": [\"Aries\", \"Taurus\", \"Gemini\", \"Cancer\", \"Leo\", \"Virgo\", \"Libra\", \"Scorpio\", \"Sagittarius\", \"Capricorn\", \"Aquarius\", \"Pisces\"], \"trikona_sodhana\": {\"by_rashi\": {\"Sun\": {\"by_sign\": {\"Aries\": 0, \"Taurus\": 3, \"Gemini\": 0, \"Cancer\": 3, \"Leo\": 0, \"Virgo\": 0, \"Libra\": 1, \"Scorpio\": 0, \"Sagittarius\": 3, \"Capricorn\": 4, \"Aquarius\": 0, \"Pisces\": 1}, \"points\": [0, 3, 0, 3, 0, 0, 1, 0, 3, 4, 0, 1], \"total\": 15}, \"Moon\": {\"by_sign\": {\"Aries\": 2, \"Taurus\": 4, \"Gemini\": 0, \"Cancer\": 0, \"Leo\": 1, \"Virgo\": 0, \"Libra\": 2, \"Scorpio\": 1, \"Sagittarius\": 0, \"Capricorn\": 2, \"Aquarius\": 4, \"Pisces\": 0}, \"points\": [2, 4, 0, 0, 1, 0, 2, 1, 0, 2, 4, 0], \"total\": 16}, \"Mars\": {\"by_sign\": {\"Aries\": 2, \"Taurus\": 2, \"Gemini\": 2, \"Cancer\": 2, \"Leo\": 0, \"Virgo\": 1, \"Libra\": 1, \"Scorpio\": 1, \"Sagittarius\": 4, \"Capricorn\": 0, \"Aquarius\": 0, \"Pisces\": 0}, \"points\": [2, 2, 2, 2, 0, 1, 1, 1, 4, 0, 0, 0], \"total\": 15}, \"Mercury\": {\"by_sign\": {\"Aries\": 0, \"Taurus\": 2, \"Gemini\": 1, \"Cancer\": 2, \"Leo\": 1, \"Virgo\": 0, \"Libra\": 1, \"Scorpio\": 0, \"Sagittarius\": 4, \"Capricorn\": 0, \"Aquarius\": 0, \"Pisces\": 1}, \"points\": [0, 2, 1, 2, 1, 0, 1, 0, 4, 0, 0, 1], \"total\": 12}, \"Jupiter\": {\"by_sign\": {\"Aries\": 3, \"Taurus\": 2, \"Gemini\": 0, \"Cancer\": 0, \"Leo\": 1, \"Virgo\": 0, \"Libra\": 1, \"Scorpio\": 1, \"Sagittarius\": 0, \"Capricorn\": 1, \"Aquarius\": 2, \"Pisces\": 0}, \"points\": [3, 2, 0, 0, 1, 0, 1, 1, 0, 1, 2, 0], \"total\": 11}, \"Venus\": {\"by_sign\": {\"Aries\": 3, \"Taurus\": 2, \"Gemini\": 0, \"Cancer\": 2, \"Leo\": 0, \"Virgo\": 2, \"Libra\": 0, \"Scorpio\": 0, \"Sagittarius\": 1, \"Capricorn\": 0, \"Aquarius\": 1, \"Pisces\": 2}, \"points\": [3, 2, 0, 2, 0, 2, 0, 0, 1, 0, 1, 2], \"total\": 13}, \"Saturn\": {\"by_sign\": {\"Aries\": 1, \"Taurus\": 3, \"Gemini\": 2, \"Cancer\": 2, \"Leo\": 0, \"Virgo\": 0, \"Libra\": 0, \"Scorpio\": 0, \"Sagittarius\": 1, \"Capricorn\": 1, \"Aquarius\": 1, \"Pisces\": 1}, \"points\": [1, 3, 2, 2, 0, 0, 0, 0, 1, 1, 1, 1], \"total\": 12}, \"Rahu\": {\"by_sign\": {\"Aries\": 1, \"Taurus\": 1, \"Gemini\": 0, \"Cancer\": 0, \"Leo\": 0, \"Virgo\": 2, \"Libra\": 1, \"Scorpio\": 0, \"Sagittarius\": 0, \"Capricorn\": 0, \"Aquarius\": 1, \"Pisces\": 1}, \"points\": [1, 1, 0, 0, 0, 2, 1, 0, 0, 0, 1, 1], \"total\": 7}}, \"by_house\": {\"Sun\": {\"by_sign\": {\"Aries\": 0, \"Taurus\": 1, \"Gemini\": 0, \"Cancer\": 3, \"Leo\": 4, \"Virgo\": 0, \"Libra\": 1, \"Scorpio\": 0, \"Sagittarius\": 3, \"Capricorn\": 0, \"Aquarius\": 3, \"Pisces\": 0}, \"points\": [0, 1, 0, 3, 4, 0, 1, 0, 3, 0, 3, 0], \"total\": 15}, \"Moon\": {\"by_sign\": {\"Aries\": 0, \"Taurus\": 2, \"Gemini\": 1, \"Cancer\": 0, \"Leo\": 2, \"Virgo\": 4, \"Libra\": 0, \"Scorpio\": 2, \"Sagittarius\": 4, \"Capricorn\": 0, \"Aquarius\": 0, \"Pisces\": 1}, \"points\": [0, 2, 1, 0, 2, 4, 0, 2, 4, 0, 0, 1], \"total\": 16}, \"Mars\": {\"by_sign\": {\"Aries\": 1, \"Taurus\": 1, \"Gemini\": 1, \"Cancer\": 4, \"Leo\": 0, \"Virgo\": 0, \"Libra\": 0, \"Scorpio\": 2, \"Sagittarius\": 2, \"Capricorn\": 2, \"Aquarius\": 2, \"Pisces\": 0}, \"points\": [1, 1, 1, 4, 0, 0, 0, 2, 2, 2, 2, 0], \"total\": 15}, \"Mercury\": {\"by_sign\": {\"Aries\": 0, \"Taurus\": 1, \"Gemini\": 0, \"Cancer\": 4, \"Leo\": 0, \"Virgo\": 0, \"Libra\": 1, \"Scorpio\": 0, \"Sagittarius\": 2, \"Capricorn\": 1, \"Aquarius\": 2, \"Pisces\": 1}, \"points\": [0, 1, 0, 4, 0, 0, 1, 0, 2, 1, 2, 1], \"total\": 12}, \"Jupiter\": {\"by_sign\": {\"Aries\": 0, \"Taurus\": 1, \"Gemini\": 1, \"Cancer\": 0, \"Leo\": 1, \"Virgo\": 2, \"Libra\": 0, \"Scorpio\": 3, \"Sagittarius\": 2, \"Capricorn\": 0, \"Aquarius\": 0, \"Pisces\": 1}, \"points\": [0, 1, 1, 0, 1, 2, 0, 3, 2, 0, 0, 1], \"total\": 11}, \"Venus\": {\"by_sign\": {\"Aries\": 2, \"Taurus\": 0, \"Gemini\": 0, \"Cancer\": 1, \"Leo\": 0, \"Virgo\": 1, \"Libra\": 2, \"Scorpio\": 3, \"Sagittarius\": 2, \"Capricorn\": 0, \"Aquarius\": 2, \"Pisces\": 0}, \"points\": [2, 0, 0, 1, 0, 1, 2, 3, 2, 0, 2, 0], \"total\": 13}, \"Saturn\": {\"by_sign\": {\"Aries\": 0, \"Taurus\": 0, \"Gemini\": 0, \"Cancer\": 1, \"Leo\": 1, \"Virgo\": 1, \"Libra\": 1, \"Scorpio\": 1, \"Sagittarius\": 3, \"Capricorn\": 2, \"Aquarius\": 2, \"Pisces\": 0}, \"points\": [0, 0, 0, 1, 1, 1, 1, 1, 3, 2, 2, 0], \"total\": 12}, \"Ascendant\": {\"by_sign\": {\"Aries\": 2, \"Taurus\": 1, \"Gemini\": 0, \"Cancer\": 0, \"Leo\": 0, \"Virgo\""
}

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.