/api/astro/sign_transitions/1 creditSign transitions
Every moment a planet crosses from one sidereal sign into the next, for a whole year — the event Indian astrology calls gochar, or sankranti in the Sun's case. The Sun's twelve crossings mark the solar months, Jupiter's and Saturn's are what long-range predictions hang on, and the Moon's come round every two and a half days. Send `year` and `timezone_as_float`. The response is `data.planets`, an object keyed by planet name, each holding a list of `{from_sign, to_sign, datetime}` in date order. Twelve bodies are covered: sun, moon, mercury, venus, mars, jupiter, saturn, uranus, neptune, pluto, truenode and meannode. Note that the lunar nodes appear under those two names rather than as rahu and ketu. Timestamps are UTC, and the crossing instant is the same everywhere on Earth — the offset you send decides which local calendar year the scan covers, so that a crossing late on 31 December UTC is correctly returned in the following year for an Indian viewer. Convert to local time for display. Crossings are located by walking day by day and then narrowing within the day, giving times good to a small fraction of a degree. The Moon alone contributes over 150 entries a year, so expect a sizeable response. The same figures appear inside `/api/planetary_details/` alongside eight other calculations; this endpoint returns only the transitions.
https://yogataraapi.prahlad.app/api/astro/sign_transitions/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 |
|---|---|---|---|
| year | integer | required | Year of birth as a number, e.g. 1990. Four digits. min 1800 · max 2400 |
| timezone_as_float | number (double) | optional | 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. |
Example request
curl -X POST https://yogataraapi.prahlad.app/api/astro/sign_transitions/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2026,"timezone_as_float":5.5}'Response
{
"_truncated": true,
"_note": "Response shortened for the catalogue.",
"preview": "{\"data\": {\"year\": 2026, \"planets\": {\"sun\": [{\"from_sign\": \"Sagittarius\", \"to_sign\": \"Capricorn\", \"datetime\": \"2026-01-14 09:38:26\"}, {\"from_sign\": \"Capricorn\", \"to_sign\": \"Aquarius\", \"datetime\": \"2026-02-12 22:40:18\"}, {\"from_sign\": \"Aquarius\", \"to_sign\": \"Pisces\", \"datetime\": \"2026-03-14 19:31:52\"}, {\"from_sign\": \"Pisces\", \"to_sign\": \"Aries\", \"datetime\": \"2026-04-14 04:03:45\"}, {\"from_sign\": \"Aries\", \"to_sign\": \"Taurus\", \"datetime\": \"2026-05-15 00:52:30\"}, {\"from_sign\": \"Taurus\", \"to_sign\": \"Gemini\", \"datetime\": \"2026-06-15 07:23:26\"}, {\"from_sign\": \"Gemini\", \"to_sign\": \"Cancer\", \"datetime\": \"2026-07-16 18:10:18\"}, {\"from_sign\": \"Cancer\", \"to_sign\": \"Leo\", \"datetime\": \"2026-08-17 02:28:07\"}, {\"from_sign\": \"Leo\", \"to_sign\": \"Virgo\", \"datetime\": \"2026-09-17 02:22:30\"}, {\"from_sign\": \"Virgo\", \"to_sign\": \"Libra\", \"datetime\": \"2026-10-17 14:22:30\"}, {\"from_sign\": \"Libra\", \"to_sign\": \"Scorpio\", \"datetime\": \"2026-11-16 14:14:03\"}, {\"from_sign\": \"Scorpio\", \"to_sign\": \"Sagittarius\", \"datetime\": \"2026-12-16 04:54:22\"}], \"moon\": [{\"from_sign\": \"Taurus\", \"to_sign\": \"Gemini\", \"datetime\": \"2026-01-02 03:56:00\"}, {\"from_sign\": \"Gemini\", \"to_sign\": \"Cancer\", \"datetime\": \"2026-01-04 04:13:14\"}, {\"from_sign\": \"Cancer\", \"to_sign\": \"Leo\", \"datetime\": \"2026-01-06 06:47:55\"}, {\"from_sign\": \"Leo\", \"to_sign\": \"Virgo\", \"datetime\": \"2026-01-08 13:09:22\"}, {\"from_sign\": \"Virgo\", \"to_sign\": \"Libra\", \"datetime\": \"2026-01-10 23:22:40\"}, {\"from_sign\": \"Libra\", \"to_sign\": \"Scorpio\", \"datetime\": \"2026-01-13 11:51:19\"}, {\"from_sign\": \"Scorpio\", \"to_sign\": \"Sagittarius\", \"datetime\": \"2026-01-16 00:17:52\"}, {\"from_sign\": \"Sagittarius\", \"to_sign\": \"Capricorn\", \"datetime\": \"2026-01-18 11:11:15\"}, {\"from_sign\": \"Capricorn\", \"to_sign\": \"Aquarius\", \"datetime\": \"2026-01-20 20:05:37\"}, {\"from_sign\": \"Aquarius\", \"to_sign\": \"Pisces\", \"datetime\": \"2026-01-23 03:03:48\"}, {\"from_sign\": \"Pisces\", \"to_sign\": \"Aries\", \"datetime\": \"2026-01-25 08:05:58\"}, {\"from_sign\": \"Aries\", \"to_sign\": \"Taurus\", \"datetime\": \"2026-01-27 11:15:07\"}, {\"from_sign\": \"Taurus\", \"to_sign\": \"Gemini\", \"datetime\": \"2026-01-29 13:01:06\"}, {\"from_sign\": \"Gemini\", \"to_sign\": \"Cancer\", \"datetime\": \"2026-01-31 14:31:17\"}, {\"from_sign\": \"Cancer\", \"to_sign\": \"Leo\", \"datetime\": \"2026-02-02 17:17:55\"}, {\"from_sign\": \"Leo\", \"to_sign\": \"Virgo\", \"datetime\": \"2026-02-04 22:50:09\"}, {\"from_sign\": \"Virgo\", \"to_sign\": \"Libra\", \"datetime\": \"2026-02-07 07:51:54\"}, {\"from_sign\": \"Libra\", \"to_sign\": \"Scorpio\", \"datetime\": \"2026-02-09 19:41:22\"}, {\"from_sign\": \"Scorpio\", \"to_sign\": \"Sagittarius\", \"datetime\": \"2026-02-12 08:12:28\"}, {\"from_sign\": \"Sagittarius\", \"to_sign\": \"Capricorn\", \"datetime\": \"2026-02-14 19:12:32\"}, {\"from_sign\": \"Capricorn\", \"to_sign\": \"Aquarius\", \"datetime\": \"2026-02-17 03:35:58\"}, {\"from_sign\": \"Aquarius\", \"to_sign\": \"Pisces\", \"datetime\": \"2026-02-19 09:30:10\"}, {\"from_sign\": \"Pisces\", \"to_sign\": \"Aries\", \"datetime\": \"2026-02-21 13:37:19\"}, {\"from_sign\": \"Aries\", \"to_sign\": \"Taurus\", \"datetime\": \"2026-02-23 16:42:35\"}, {\"from_sign\": \"Taurus\", \"to_sign\": \"Gemini\", \"datetime\": \"2026-02-25 19:24:50\"}, {\"from_sign\": \"Gemini\", \"to_sign\": \"Cancer\", \"datetime\": \"2026-02-27 22:22:33\"}, {\"from_sign\": \"Cancer\", \"to_sign\": \"Leo\", \"datetime\": \"2026-03-02 02:21:37\"}, {\"from_sign\": \"Leo\", \"to_sign\": \"Virgo\", \"datetime\": \"2026-03-04 08:15:49\"}, {\"from_sign\": \"Virgo\", \"to_sign\": \"Libra\", \"datetime\": \"2026-03-06 16:48:55\"}, {\"from_sign\": \"Libra\", \"to_sign\": \"Scorpio\", \"datetime\": \"2026-03-09 03:59:52\"}, {\"from_sign\": \"Scorpio\", \"to_sign\": \"Sagittarius\", \"datetime\": \"2026-03-11 16:30:28\"}, {\"from_sign\": \"Sagittarius\", \"to_sign\": \"Capricorn\", \"datetime\": \"2026-03-14 04:03:13\"}, {\"from_sign\": \"Capricorn\", \"to_sign\": \"Aquarius\", \"datetime\": \"2026-03-16 12:44:24\"}, {\"from_sign\": \"Aquarius\", \"to_sign\": \"Pisces\", \"datetime\": \"2026-03-18 18:06:16\"}, {\"from_sign\": \"Pisces\", \"to_sign\": \"Aries\", \"datetime\": \"2026-03-20 20:58:00\"}, {\"from_sign\": \"Aries\", \"to_sign\": \"Taurus\", \"datetime\": \"2026-03-22 22:44:10\"}, {\"from_sign\": \"Tau"
}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.