॥ श्री गणेशाय नमः ॥

Kundli Engine API

Accurate Vedic astrology calculations as a JSON API

One POST returns a complete Vedic birth chart: sidereal positions, 16 divisional charts, 6-level Vimshottari dasha, KP sub-lords, Jaimini, Shadbala, Ashtakavarga, drik-ganita panchang, yogas & doshas, matching, and authored readings — computed from the JPL ephemeris, no third-party calls.

Endpoints

EndpointReturns
POST/api/chart Full birth chart — ~30 sections of JSON for one birth (date, time, lat, lon).
POST/api/match Ashtakoot (36-guna) match + Manglik check for a boy/girl pair.
POST/api/panchang Daily panchang for a date + place: tithi, nakshatra, yoga, karana, muhurta windows, events.
GET/api/report.html The full branded kundli report as a shareable, print-ready web page.
GET/api/geocode?q=… Offline place search (village-level India + worldwide) → lat/lon/timezone. Open, no key.
GET/api/usage Your key's package, allowance and what is left today and this month.
GET/api/plans The packages, their limits and the unit price of every call. Open, no key.
GET/api/catalog Every addressable capability and the endpoint census. Open, no key.

Ask for one thing

A full chart is ~850 KB. Most callers want one table, so almost everything in it has its own address — /api/section/{name} for any of the 51 payload sections, and a family per capability below that:
FamilyAsk for
POST/api/varga/{code} D1–D150 and 40 school variants — /api/varga/D9
POST/api/window/{name} Rahu kaal, gulika kaal, abhijit, brahma muhurta…
POST/api/varshphal/{part} Muntha, panchadhikari, mudda dasha, sahams, tajika yogas
POST/api/dosha/{name} Manglik, sade sati, pitra, guru chandala, ganda moola, ghatak
POST/api/shadbala/{graha}, /api/transit/{graha}, /api/sphuta/{name}, /api/chakra/{name}, /api/karaka/{name}, /api/lagna/{name}, /api/kp/{part}, /api/numerology/{name}, /api/remedy/{kind}, /api/anga/{name}, /api/calendar/{part}, /api/reference/{graha}, /api/upagraha/{name} The rest, one at a time

Same body as /api/chart. Each is a projection of one chart, so asking for six costs about what one chart costs. The full list is at GET /api/catalog.

Interactive reference with all request/response schemas: /docs

Authentication & limits

Send your key in the X-API-Key header. Without a key the API still answers for evaluation, at the public demo rate per IP. A key carries a package: a per-minute rate, a daily and monthly allowance, and the set of features included. Exceeding the rate or the allowance returns 429 with the reason; a call outside your package returns 403 naming what is missing.

For an API key, contact MangalBhawan.

What a call costs

Allowances are counted in units, not HTTP requests — one kundli is one unit however many calls your page made rendering it. Chart images and lookups are free; the heavier answers cost more.
CallUnits
Birth chart, one section, panchang, daily prediction1
Kundli Milan (two charts)2
PDF report3
AI answer5
Chart images (SVG), place lookup, poll, metadata0

The live list is at GET /api/plans — read it there rather than hard-coding these, and read your own consumption from GET /api/usage. Daily allowances reset at midnight UTC, monthly ones on the 1st. The packages themselves are on the packages page, or build your own and price it call by call.

Example — cURL

curl -s https://api.mangalbhavan.in.net/demo/api/chart \
  -H "Content-Type: application/json" \
  -H "X-API-Key: mbk_your_key_here" \
  -d '{
    "date": "1990-05-15", "time": "10:30",
    "lat": 28.6139, "lon": 77.2090, "tz": "Asia/Kolkata"
  }'

Example — Python

import requests

r = requests.post(
    "https://api.mangalbhavan.in.net/demo/api/chart",
    headers={"X-API-Key": "mbk_your_key_here"},
    json={"date": "1990-05-15", "time": "10:30",
          "lat": 28.6139, "lon": 77.2090, "tz": "Asia/Kolkata"},
)
chart = r.json()
print(chart["d1"]["ascendant"]["display"])       # 9°53'05" Cancer
print(chart["report"]["current_dasha"])          # current mahadasha reading

Response shape (abridged)

{
  "meta":       { "ayanamsa": "lahiri", "timezone": "Asia/Kolkata", ... },
  "panchang":   { "tithi": {...}, "nakshatra": {...}, ... },
  "d1":         { "ascendant": {...}, "planets": [...], "houses": [...],
                  "svg_north": "<svg…>", "svg_south": "<svg…>" },
  "vargas":     { "D2": {...}, ..., "D60": {...} },
  "vimshottari":{ "balance": {...}, "mahadashas": [...] },
  "kp":         { "cusps": [...], "planets": {...}, "significators": [...] },
  "ashtakavarga": { "bav": {...}, "sav": [...] },
  "shadbala":   { "Sun": {...}, ... },
  "yogas":      [...], "manglik": {...}, "sade_sati": {...},
  "gemstones":  {...}, "lal_kitab": {...},
  "report":     { "lagna": "…", "planets": [...], "current_dasha": "…" },
  "labels":     { "…": {"en": "…", "hi": "…"} }
}

← Back to the kundli demo · Full report / PDF