Nothing to phone home to
A 100% in-house numeric chain with zero runtime data files. No ephemeris blob, no vendor callout — the sky is computed from first principles, so the engine runs air-gapped, on the edge, or inside your own perimeter.
Sovereign Astronomical Infrastructure
A zero-dependency Vedic astronomy engine and API, computed entirely in-house — Sūrya-Siddhānta mean motions, Kerala-school Tantrasaṅgraha, dṛk-saṃskāra and Lahiri ayanāṃśa. No Swiss Ephemeris. No VSOP. No JPL in the runtime. And unlike everyone else, we publish our error bars.
Longitude, reckoned from home.
the ghaṭī dial · the gnomon · the Ujjayinī meridian
A 100% in-house numeric chain with zero runtime data files. No ephemeris blob, no vendor callout — the sky is computed from first principles, so the engine runs air-gapped, on the edge, or inside your own perimeter.
No AGPL to entangle your product, no Swiss-franc vendor lock-in. A clean, commercial, source-available SDK you can ship, embed and self-host — with an OEM path that lets you own the source outright.
Published arc-minute error bars against JPL Horizons — Sūrya ~0.1′ (p95), Candra ~1′ typical, on a 1,000-sample benchmark across 2000–2050. Every number in every response carries its own honesty label: siddha · sambhavya · darsana.
Verified, not asserted
Residuals measured against JPL Horizons across 1,000 stratified samples (2000–2050). The engine is arc-minute class — and we publish the number instead of asserting it.
| Body | residual vs JPL (′) | measure |
|---|---|---|
| Sūrya arc-minute | ~0.1 | p95 |
| Candra | ~1 | typical |
Sūrya ~0.1′ (p95) and Candra ~1′ (typical) vs JPL Horizons, over 1,000 stratified samples across 2000–2050. Honest wedge only: we are arc-minute class and neverclaim to be “more accurate than Swiss Ephemeris / NASA-JPL” — Swiss is sub-arcsecond and wins on raw precision. Arc-minute is sufficient for Jyotiṣa: nakṣatra-pāda, cusps, muhūrta.
$ curl "https://bharatephemeris.com/api/chart?\
when=2026-07-24T09:12:00%2B05:30&\
lat=23.1765&lon=75.7885&mode=kerala-max"
{
"ayanamsaDeg": 24.2117,
"lagnaDeg": 128.44,
"lagnaRashi": "Simha",
"grahas": [
{ "graha": "Surya", "nirayanaDeg": 97.83, "rashi": "Karka", "deg": 7.83, "vakri": false },
{ "graha": "Candra", "nirayanaDeg": 312.06, "rashi": "Kumbha", "deg": 12.06, "vakri": false },
{ "graha": "Budha", "nirayanaDeg": 84.19, "rashi": "Mithuna", "deg": 24.19, "vakri": true }
],
"pramana": "sambhavya (fitted-apparent, JPL-benchmarked)"
}The stack
A single Sanskrit taxonomy, from raw time to the proof of the number. Pramāṇa is the hero — no other ephemeris hands you the residual next to the result.
Time: ahargaṇa, ghaṭī, ΔT and Lahiri ayanāṃśa.
Longitudes from Sūrya-Siddhānta mean motions + Tantrasaṅgraha (1501).
Apparent place: dṛk-saṃskāra, rise, set and visibility.
Lagna, bhāvas and house cusps for any place and epoch.
The sixteen divisional charts, D-1 through D-60.
Viṃśottarī daśā and bhukti timelines, sealed to the ayanāṃśa.
Ṣaḍbala — graha and bhāva strength, fully sourced.
Planetary combinations, each traced to its constituent grahas.
Interpretive synthesis — anchored to the layers below, never invented.
The proof layer: published error bars vs JPL, and a siddha | sambhavya | darsana label on every number.
Transparent by principle
Start free on the Sandbox. Scale on published limits. Own the source when you need the sky inside your own walls.
1,000 calls / day. Full engine, no card, no key gate — build against the real sky.
Start free~50k calls / month. For a shipping app or a working astrologer.
Choose Indie~250k calls / month. Production volume with room to grow.
Choose StartupHigh-volume, priority support and a private deployment lane.
Talk to usSource-available, no AGPL, air-gap ready. Own the engine outright.
License the sourceA live API, no key required to start, with the honesty label baked into every number. The meridian returns to Ujjayinī — and it is yours to build on.