/api/astro/shani_analysis/1 creditSaturn 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/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/jsonRequest fields
| Field | Type | Required | Notes |
|---|---|---|---|
| chart_name_natal | string | required | |
| chart_name_transit | string | required | |
| date_time_natal | string (date-time) | required | |
| date_time_transit | string (date-time) | required | |
| latitude_natal | number (double) | required | min -180 · max 180 |
| latitude_transit | number (double) | required | min -180 · max 180 |
| longitude_natal | number (double) | required | min -180 · max 180 |
| longitude_transit | number (double) | required | min -180 · max 180 |
| mode | integer | required | |
| ref_celestial | string | required | 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.