Skip to content

Accuracy you can check yourself.

Planet positions, the lagna, dashas and sunrise times are tested against Swiss Ephemeris, and every response says how it was computed. Here is the method, the limits, the latest results and the test data.

How we test

  1. Tested against Swiss Ephemeris

    The engine is compared with Swiss Ephemeris 2.10.03 and its JPL-based files on 5,433 births: 5,000 random births from 1900 to 2100 between 60° S and 65° N, plus 433 edge cases near sign, nakshatra, pada, tithi and yoga boundaries and around clock changes.

  2. A public golden corpus

    500 of those births with their inputs, our outputs, the reference values and the difference for each, free to download. Run the inputs against the API and compare.

  3. Settings echoed in every response

    The meta block names the ayanamsha and its value, the node type, the timezone database, the BS table and Samiti override versions, and the engine version.

  4. Birth-time sensitivity

    Set options.sensitivityMinutes and the response lists any lagna, D9 lagna, nakshatra or pada change inside that window, with the moment it changes.

  5. Deterministic output

    The same input with the same engine and data versions returns byte-identical JSON. Dasha output never depends on the server clock.

  6. Reviewed conventions

    Guna tables, dasha rules and choghadiya sequences are reviewed by a contracted jyotish reviewer before they ship.

Release tolerances

The target is what we aim for. A release that crosses a hard limit on any sample does not ship. Engine 0.1.0 stays inside every hard limit and meets every target except Mercury to Saturn, which reach 20.2″ against the 5″ target.

Positions

Moon longitude

≤ 15″

Hard limit> 60″

Sun and planet longitudes

≤ 5″

Hard limit> 60″

Lagna longitude, same UT

≤ 10″

Hard limit> 30″

Ayanamsha

≤ 1″

Hard limit> 1″

Mean node

≤ 5″

Hard limit> 10″

Discrete fields

Sign, D9, nakshatra, pada, tithi, yoga

Exact

Hard limit: A mismatch is allowed only when the underlying value is within its hard limit of a boundary

Time

Dasha boundary dates

± 1 day

Hard limit: > 1 day

Sunrise and sunset, against the configured convention

± 1 min

Hard limit: > 2 min

Defaults, all configurable

Ayanamsha
Lahiri (IAE-1985). Also Lahiri ICRC and True Chitra.
Nodes
Mean by default, true on request.
Houses
Whole sign.
Timezones
IANA tzdb, pinned per release. Nepal is +05:30 until 1986, then +05:45.
Birth range
AD 1900-01-01 to 2100-12-31.

Golden corpus

500 births with their inputs, our outputs, Swiss Ephemeris reference values and the difference for each, as JSON. Free to download, no key needed.

v1 · 21 Oct 2026 · engine 0.1.0

Worst case across 5,428 compared births

Moon
4.2″
Sun and planets
20.2″
Lagna
4.7″
Dasha dates
0.56 d

Found a value that looks wrong?

Send us the request and the value you expected. We aim to fix confirmed accuracy bugs within 7 days; see Reporting wrong results in the Terms.

Email us

hello@navapatra.com