Ayanamsa is the angular offset a sidereal astrology engine subtracts from a tropical planetary longitude to account for the precession of the equinoxes. Lahiri, Raman, and KP are three of the most-used ayanamsa systems, and they disagree by roughly six to seven arcminutes in 2026 — small in absolute terms, but large enough to move a planet across a sign, nakshatra, or KP sub-lord boundary. This article explains the difference, shows when it actually changes a chart, and shows how to pick and pin the right ayanamsa when calling the Vedika API.
What ayanamsa actually is
The tropical zodiac starts at the vernal equinox — the point where the Sun crosses the celestial equator each spring. Because Earth's axis wobbles over a roughly 25,800-year cycle (precession), that equinox point drifts backward against the fixed stars by about 50.3 arcseconds per year. Western astrology keeps its zodiac tied to the equinox, so 0° Aries always means the equinox. Sidereal astrology, used in Vedic and KP work, keeps its zodiac tied to the fixed stars instead.
Ayanamsa is the bridge between the two frames. To get a sidereal longitude you compute the tropical longitude and subtract the ayanamsa for that moment:
sidereal_longitude = tropical_longitude - ayanamsa(date)
Every sidereal system agrees on the mechanics. Where they disagree is the zero point: the epoch at which they declare the sidereal and tropical zodiacs to have coincided. That single anchoring decision is the entire difference between Lahiri, Raman, and KP.
The three systems, side by side
All three are sidereal and all three track the same precession rate, so they drift in parallel. They are separated by a near-constant offset of a few arcminutes that changes only very slowly over decades.
| System | Origin and anchoring | Typical use |
|---|---|---|
| Lahiri (Chitrapaksha) | Official Indian standard adopted by the Calendar Reform Committee; anchored so the star Chitra (Spica) sits near 180° sidereal. | Default for most Indian panchangs, government almanacs, and mainstream Vedic software. |
| Raman | The value promoted by B.V. Raman, slightly smaller than Lahiri. | Practitioners and texts in the B.V. Raman tradition. |
| KP (Krishnamurti) | A value derived by K.S. Krishnamurti for Krishnamurti Paddhati, close to but distinct from Lahiri. | KP horary, sub-lord and significator analysis. |
In practical 2026 terms, Raman runs a few arcminutes below Lahiri, and KP sits very close to Lahiri but not identical. The exact published figures shift with the date because precession is continuous; the engineering point is that the relative gap between them is small and the systems never cross.
When the difference actually changes a chart
A six-to-seven arcminute spread is roughly a tenth of a degree. A planet sitting comfortably in the middle of a 30° sign will not move between systems. The difference bites only near boundaries, and Vedic charts have a lot of boundaries:
- Sign cusps — a planet within ~0.1° of a sign boundary can land in a different rashi, changing its sign lord and every dignity that follows.
- Nakshatra boundaries — each of the 27 nakshatras spans 13°20', so the Moon's nakshatra (and therefore the Vimshottari dasha sequence) can flip near an edge.
- Pada (quarter) boundaries — each nakshatra has four padas of 3°20'; pada drives the Navamsa (D9) placement, so a flip cascades into divisional charts.
- KP sub-lords — KP subdivides each nakshatra into nine unequal sub-lord segments by the Vimshottari proportions. These divisions are far finer than a sign, so the same planet can carry a different sub-lord under a slightly different ayanamsa — which is exactly why KP defines its own value.
The classical placement rules themselves do not change with ayanamsa — the lordship of signs and the dasha order are fixed in Brihat Parashara Hora Shastra. What changes is which sign or nakshatra a planet falls in, and therefore which rule applies. That is why two reputable engines can both be “correct” and still disagree about a borderline Moon.
Choosing an ayanamsa in your integration
There is no universally right answer; there is a right answer for your audience. Use this as a decision guide:
- General Vedic product, Indian audience → Lahiri. It matches the almanacs and software your users already trust, which reduces “your app disagrees with my panchang” support tickets.
- B.V. Raman lineage → Raman, so your output reconciles with that tradition's published charts.
- KP horary or sub-lord features → KP. Using Lahiri for KP sub-lords introduces avoidable drift at the finest level KP cares about.
Whatever you pick, the durable engineering habit is to treat ayanamsa as an explicit, recorded parameter rather than a silent default. Store the ayanamsa name alongside every saved chart so a result is always reproducible and auditable.
Setting ayanamsa on the Vedika API
The main natural-language endpoint and the V2 computation endpoints both default to a sidereal Vedic chart with Lahiri. You can request a specific system explicitly. Here is a computation call against the flat V2 shape:
curl -X POST https://api.vedika.io/v2/astrology/chart \
-H "x-api-key: vk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"datetime": "1990-08-15T14:30:00",
"latitude": 18.5204,
"longitude": 73.8567,
"timezone": "Asia/Kolkata",
"system": "vedic",
"ayanamsa": "lahiri"
}'
To compare how the same birth data renders under different ayanamsa, change only the ayanamsa field and diff the resulting longitudes, nakshatras, and sub-lords. For an AI-narrated reading, the natural-language endpoint accepts the structured birth details and lets the engine pick the system from context, or you can state it in the question:
// Generic LLM-style HTTP client; no SDK required
const res = await fetch("https://api.vedika.io/v1/astrology/query", {
method: "POST",
headers: {
"x-api-key": "vk_live_your_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
question: "Which nakshatra is my Moon in using KP ayanamsa?",
birthDetails: {
datetime: "1990-08-15T14:30:00",
latitude: 18.5204,
longitude: 73.8567,
timezone: "Asia/Kolkata",
},
speed: "fast",
}),
});
const data = await res.json();
console.log(data);
Because all three systems are served from the same engine, you do not need to wire up separate libraries for Vedic, KP, and Western — the request shape stays constant and only the parameters change. You can prototype every variation against the free sandbox with no key before you spend a cent.
Why the underlying numbers can be trusted
An ayanamsa choice is only as good as the tropical longitude it adjusts. The longitudes here come from the XALEN Ephemeris, Vedika's own open-source astronomical engine (Apache-2.0, published on crates.io, PyPI, and npm). It carries roughly 2,200 tests and has been validated against JPL DE440 and the reference swetest tool, with no chart deviating beyond 0.1° across a five-million-chart test sweep.
That number is an astronomical precision claim — it describes how closely the computed planet positions match an independent ephemeris, not a claim about astrological interpretation. The value of high ephemeris precision for ayanamsa work is direct: when the base longitude is solid to a fraction of an arcsecond, the only meaningful difference between two charts is the ayanamsa offset itself, not numerical noise. That makes a Lahiri-vs-KP comparison a clean, reproducible diff rather than a guessing game.
Three systems, one request
Most astrology APIs specialize in one framework. The Vedika API exposes Vedic (sidereal), Western (tropical), and KP from a single request surface — part of 700+ operations across 25 domains — alongside Jaimini, Tajaka, Lal Kitab, numerology, and others. That matters for ayanamsa work specifically: you can pull a tropical Western chart (no ayanamsa), a Lahiri Vedic chart, and a KP sub-lord table for the same birth moment in three calls that differ by one field, then present all three to a user without maintaining three codebases.
Honest context on alternatives: established services such as Prokerala, AstrologyAPI.com, and RoxyAPI provide solid Vedic computation and clear documentation, and any of them can compute a Lahiri chart. Vedika's differentiators are the multi-system single-request surface, the open-source verifiable ephemeris underneath, support for 30 languages including 14 Indic ones, and a public astrology MCP server so LLM agents can call these calculations as tools.
Key facts
- Ayanamsa is the precession offset subtracted from a tropical longitude to produce a sidereal one:
sidereal = tropical - ayanamsa(date). - Lahiri, Raman, and KP are all sidereal; they differ only in their fixed zero point, separated by roughly six to seven arcminutes in 2026.
- The difference changes a chart only near sign, nakshatra, pada, or KP sub-lord boundaries — not for planets mid-sign.
- Lahiri is the Indian government standard; Raman follows the B.V. Raman school; KP is tuned for sub-lord precision.
- Western (tropical) charts use no ayanamsa.
- On the Vedika API, set
systemandayanamsaexplicitly on V2 endpoints; default is sidereal Vedic with Lahiri. - Longitudes come from the open-source XALEN Ephemeris, validated against JPL DE440 and swetest with no chart beyond 0.1° across a five-million-chart sweep.
- Vedic, Western, and KP are served from one request surface across 700+ operations; free sandbox available with no key.
Bringing it together
Ayanamsa is a small number with outsized consequences at the boundaries. Treat it as an explicit parameter, pick the system that matches your audience's tradition, and record it with every chart so your results stay reproducible. Try the comparison yourself in the sandbox, check the field reference in the docs, and see plan limits on the pricing page when you are ready to move to live keys.