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

Saturn transit phases

Saturn's slow circuit of the zodiac produces four named phases that Indian astrology watches closely, all measured from the birth Moon or birth ascendant: Sade Sati, the seven-and-a-half years around Saturn's passage over that point; Ashtama Shani, Saturn in the eighth from it; Kantaka Shani, Saturn in the fourth, seventh or tenth; and Dhaiya, also called Ardhashtama, Saturn in the fourth or eighth. This endpoint says whether each is running at a given moment, when it ends, and when the next one begins. Send two charts: the birth data as `date_time_natal`, `latitude_natal`, `longitude_natal` and `chart_name_natal`, and the moment you are asking about as the matching `_transit` fields. `ref_celestial` chooses whether the phases are measured from the natal Moon or the natal ascendant. `mode` selects how strict the test is — 0 tests whole-sign house placement, and the higher values test a degree window around the reference point instead, which yields noticeably tighter start and end dates. The response holds eight objects. `ashtama_shani`, `kantaka_shani`, `dhaiya_shani` and `sade_sati_shani` are each `{status, end_date}`: a boolean for whether the phase is running at the transit moment, and an ISO 8601 UTC end date when it is, or null when it is not. `next_ashtama_shani`, `next_kantaka_shani` and `next_dhaiya_shani` are `{date, ref_house_from_natal}`, giving when the next occurrence starts and which house from the reference point triggers it; `next_sade_sati_shani` gives just `{date}`. The forward search runs a hundred years from the transit moment. Because Kantaka and Dhaiya both include the fourth house, the two often report the same dates. That is expected, not a duplicate.

https://yogataraapi.prahlad.app/api/astro/shani_analysis/
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
chart_name_natalstringrequired
chart_name_transitstringrequired
date_time_natalstring (date-time)required
date_time_transitstring (date-time)required
latitude_natalnumber (double)required

min -180 · max 180

latitude_transitnumber (double)required

min -180 · max 180

longitude_natalnumber (double)required

min -180 · max 180

longitude_transitnumber (double)required

min -180 · max 180

modeintegerrequired
ref_celestialstringrequired
ascendantmoon

Example request

curl -X POST https://yogataraapi.prahlad.app/api/astro/shani_analysis/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time_natal":"2025-11-21T05:41:58.124Z","date_time_transit":"2024-11-21T05:41:58.124Z","longitude_natal":77.5946,"latitude_natal":12.9716,"longitude_transit":26.1046,"latitude_transit":26.9124,"chart_name_natal":"RashiChart","chart_name_transit":"RashiChart","ref_celestial":"ascendant","mode":0}'

Response

{
  "data": {
    "ashtama_shani": {
      "status": false,
      "end_date": null
    },
    "kantaka_shani": {
      "status": false,
      "end_date": null
    },
    "dhaiya_shani": {
      "status": false,
      "end_date": null
    },
    "sade_sati_shani": {
      "status": true,
      "end_date": "2025-03-09T10:21:25Z"
    },
    "next_ashtama_shani": {
      "date": "2036-08-08T03:38:39Z",
      "ref_house_from_natal": 8
    },
    "next_kantaka_shani": {
      "date": "2027-05-11T00:01:56Z",
      "ref_house_from_natal": 4
    },
    "next_dhaiya_shani": {
      "date": "2027-05-11T00:01:56Z",
      "ref_house_from_natal": 4
    },
    "next_sade_sati_shani": {
      "date": "2046-02-22T02:59:10Z"
    }
  },
  "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.