Transits
Ingress (sankranti) in Vedic astrology
Updated
Ingress: how the API computes it
POST /v1/transits/ingresses/{graha} returns one planet's sign-by-sign calendar for a date range. Send the planet's name, such as Saturn, with a from date and a to date. Without them, the range runs five years from today.
Each row gives the sign, the time the planet enters it and the time it leaves. A retrograde planet, one that seems to move backward, can slip back into the sign it just left. The API then adds a separate row with resumes_visit set to true, the way printed planet tables show it.
The API finds every sign change by scanning each planet's motion, so no crossing is missed (TR-06). If the date range cuts a row off at either end, entry_known or exit_known is false. Rahu and Ketu move backward through the signs. So each one enters the sign before the one it is in, for example Capricorn after Aquarius.
For the Sun, each ingress is a sankranti, and each lunar month is named for the sankranti inside it (PA-06). GET /v1/sky/events lists ingresses for all planets at once.
Get it from the API
POST /v1/transits/ingresses/Saturn
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/transits/ingresses/Saturn?from=2026-10-01&to=2026-12-31" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
},
"graha": "Saturn",
"from": "2026-10-01T00:00:00",
"to": "2026-12-31T00:00:00",
"ingresses": [
{
"sign": "Pisces",
"sign_number": 12,
"enters": "2026-10-01T00:00:00",
"leaves": "2026-12-31T00:00:00",
"entry_known": false,
"exit_known": false,
"resumes_visit": false,
"retrograde_re_entry": false
}
]
}Where the API returns it
| POST | /v1/transits/ingresses/{graha} | When a planet enters and leaves each sign |
| GET | /v1/sky/events | Calendar of sky events, no chart |
| GET | /v1/festivals | Hindu festival dates for a year and place |
| POST | /v1/forecast/annual | Yearly forecast: a year of sky events read against a chart |
What the API reference says
Each line is quoted from the reference page of the endpoint named above it.
- POST /v1/transits/ingresses/{graha} · When a planet enters and leaves each signAn ingress is a planet entering a new sign.
- POST /v1/forecast/annual · Yearly forecast: a year of sky events read against a chartThe events are ingresses (a planet entering a new sign) and retrograde periods (a planet appearing to move backward).
Feature page: Transits and forecasts. Who uses it: Publishers and media. The classical rules the API follows are in the rulebook.
How we check the numbers
Every value here starts from planet positions worked out from NASA JPL planet data (DE440). We test them against NASA JPL Horizons, NASA's planet position service. On 25,571 positions from 1850 to 2149, the Sun and planets agree within 0.001 arc seconds. The Moon agrees within 0.011. On 2,000 random birth charts, the rising sign agrees with Swiss Ephemeris within 0.004 arc seconds. An arc second is 1/3,600 of a degree. A practicing astrologer reviews the rules behind these answers. See how we test.
Related terms
From the blog
Astrology API
Get these values from the API
Create a free test key and call any endpoint on this page. Or try a request in the API reference first.
Your first answer
John Doe, New York
- RisingVirgoHast
- SunCancerAshlesha
- MoonTaurusMrigashira
- MarsAriesKrittika
Real API output. A free test key gets the same answer.
01
Test key: 1,000 test calls a month to build with
02
Free plan: 2,000 live calls a month, no card needed
03
Open rules: every rule is published, so you can check any answer
