Blog
Ayanamsha choices, and why sidereal results differ
· 96Astro API team · Calculation methods
Why two astrology tools give different Moon signs for the same birth, how far apart the common ayanamshas are, and what that does to nakshatras, dashas and vargas.
Two astrology APIs, the same birth date, time and place, and two different Moon signs. Before you suspect a bug, check the ayanamsha. It is the most common reason sidereal results differ, and the difference is a choice, not an error.
What the ayanamsha is
Western (tropical) astrology measures longitude from the March equinox. Vedic (sidereal) astrology measures it from a point fixed against the stars. The equinox drifts westward against the stars by about 50 arc-seconds a year (precession), so the gap between the two zodiacs grows. That gap is the ayanamsha:
sidereal longitude = tropical longitude − ayanamsha
The tropical longitude of a planet is a measurement: an ephemeris computes it, and two good ephemerides agree to a fraction of an arc-second (see our accuracy page). The ayanamsha is a definition: which star, or which historical date, marks 0° Aries. Different traditions chose differently, so every sidereal position inherits that choice.
How far apart the common choices are
Values for 1 January 2026, 0h UT, computed with the Swiss Ephemeris:
| Ayanamsha | Value | Difference from Lahiri |
|---|---|---|
| Lahiri (Chitrapaksha) | 24.220° | — |
| Krishnamurti (KP) | 24.124° | about 6′ less |
| B.V. Raman | 22.774° | about 1°27′ less |
| Sri Yukteshwar | 22.842° | about 1°23′ less |
| Fagan-Bradley (Western sidereal) | 25.104° | about 53′ more |
All of them grow by the same ~50.3″ a year, so the differences between them stay almost constant over a lifetime.
What a difference of a degree does
A shift of the whole chart by 1°27′ (Lahiri against Raman) looks small, but astrology is full of boundaries:
- Signs are 30° wide, so a planet within 1°27′ of a sign boundary changes sign: roughly one placement in twenty.
- Nakshatras are 13°20′ wide, so the Moon changes nakshatra about one time in nine. The nakshatra drives matching scores, the naming syllable and the dasha sequence.
- Vimshottari dasha balance comes from how far the Moon has travelled through its nakshatra. In a Venus nakshatra (a 20-year mahadasha), each degree of the Moon is 1.5 years of dasha. Even the 6′ between Lahiri and KP moves the dasha dates by about 53 days.
- Divisional charts multiply the effect: in the D9 (navamsha) each division is 3°20′, and in the higher vargas a few arc-minutes can move a planet.
The house cusps move with the planets: in a sidereal chart the ascendant is shifted by the same ayanamsha.
Choosing one in the API
Every chart capability takes an ayanamsha field. Lahiri is the default, the Indian government's standard and the most widely used. KP charts use Krishnamurti. Send the one your users expect:
{
"datetime": "1990-10-18T14:30:00",
"timezone": "Asia/Kolkata",
"latitude": 28.6139,
"longitude": 77.2090,
"ayanamsha": "raman"
}
The response states which ayanamsha it used and its value for that moment (data.ayanamsha), so a stored result always records the setting it was computed with. An ayanamsha the capability does not support is refused with a 422 naming the ayanamsha field; it is never silently replaced by the default. For tropical positions send "ayanamsha": "sayana".
Matching another tool's output
When you compare our output with another program or API:
- Find out which ayanamsha it uses. Some APIs document no ayanamsha parameter at all, which usually means Lahiri.
- Check the lunar node: we use the true node by default (
"node": "true"); some software uses the mean node, which can differ by more than a degree. - Check the time zone. A float offset such as
5.5ignores historical changes; we resolve the IANA zone for the date, which matters for births before a zone changed (the Asia/Kolkata zone has several historical offsets, including war-time +06:30 in the 1940s).
With the same ayanamsha, node and instant, sidereal longitudes from two careful implementations agree to well under an arc-minute.



