Transits
Gochar (transits) in Vedic astrology
Updated
Gochar: how the API computes it
For a given date, the API places each planet in a house, counted from the birth Moon's sign, not from the ascendant (TR-01). Each planet gives good results from some of those houses and difficult results from others (TR-02). Another planet in a matching house can block a good transit. This block is called vedha (TR-03).
POST /v1/transits returns every planet for the date you send in as_of. For each one, it gives the house from the Moon, the traditional result and any planet that blocks it. It also gives the result after the block.
Transit dates, such as when Saturn changes sign, are worked out from the ephemeris (a table of planet positions). They are not copied from a printed calendar (TR-06). Pair transits with the running dasha (planet period) when a screen needs both.
Gochar in a real API answer
POST /v1/transits?as_of=2026-10-01200 OK{
"transits": [
{
"graha": "Jupiter",
"sign": "Cancer",
"house_from_moon": 3,
"result": "unfavorable"
},
{
"graha": "Saturn",
"sign": "Pisces",
"house_from_moon": 11,
"result": "favorable"
}
]
}Get it from the API
POST /v1/transits
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/transits?as_of=2026-10-01" \
-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"
}
},
"as_of": "2026-10-01T00:00:00",
"natal_moon_sign": "Taurus",
"ascendant_sign": "Virgo",
"transits": [
{
"graha": "Sun",
"sign": "Virgo",
"sign_number": 6,
"house_from_moon": 5,
"house_from_ascendant": 1,
"result": "unfavorable",
"vedha_house": null,
"obstructed_by": [],
"obstructed": false,
"net": "unfavorable",
"speed": 0.9827528302048448,
"retrograde": false
},
{
"graha": "Moon",
"sign": "Taurus",
"sign_number": 2,
"house_from_moon": 1,
"house_from_ascendant": 9,
"result": "favorable",
"vedha_house": 5,
"obstructed_by": [
"Sun"
],
"obstructed": true,
"net": "obstructed",
"speed": 14.283114921087416,
"retrograde": false
},
{
"graha": "Mars",
"sign": "Cancer",
"sign_number": 4,
"house_from_moon": 3,
"house_from_ascendant": 11,
"result": "favorable",
"vedha_house": 12,
"obstructed_by": [],
"obstructed": false,
"net": "favorable",
"speed": 0.5825257867134042,
"retrograde": false
}
],
"summary": {
"favorable": 4,
"unfavorable": 4,
"obstructed": 1
},
"rule": "house counted from the natal Moon; favorable houses per graha from the classical gochara table, obstructed where another transiting graha occupies the vedha house"
}Where the API returns it
| POST | /v1/transits | Current transits read against a chart |
| POST | /v1/transits/forecast | Upcoming transit periods for a chart |
| POST | /v1/sadesati | Sade sati: Saturn's 7.5-year transit around the birth Moon |
| POST | /v1/forecast/annual | Yearly forecast: a year of sky events read against a chart |
| POST | /v1/reading/daily | Daily reading for a chart |
| POST | /v1/reading/weekly | Weekly reading for a chart |
What the API reference says
Each line is quoted from the reference page of the endpoint named above it.
- POST /v1/transits · Current transits read against a chartVedha is a traditional rule: a planet's transit effect is blocked when another planet occupies a paired house.
- POST /v1/transits/forecast · Upcoming transit periods for a chartFor one specific day, call
/v1/transitswith thatas_of.
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
Free tools
See it with your own details
Runs on the same API call. Enter your details and see the answer in your browser.
Sade sati check
Whether sade sati, Saturn's 7.5-year pass around your Moon sign, is running for you, which phase, and the dates.
Check my sade sati
From the blog

· 10 min read
Transit Alerts: Tell Each User When a Planet Changes Sign
Gochar alerts for apps.
Read
· 6 min read
Mercury Retrograde 2026 and 2027: Exact Dates and Signs
Mercury retrograde 2026 and 2027 dates, computed from NASA JPL data, with the Vedic sign at each turn…
Read
· 7 min read
Jupiter Transit 2026: Saturn and Rahu Ketu Dates to 2027
Jupiter transit 2026 dates, Saturn's move into Aries in 2027 and the Rahu Ketu shift…
Read
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