The VedicSpace Engine API
One cited Vedic-astrology engine — 172 API endpoints across pañcāṅga, kuṇḍalī, daśā, muhūrta, doṣa, matching and more. Swiss Ephemeris, Lahiri ayanāṁśa. Every reading is computed from the Swiss Ephemeris or cited to its classical source — chapter, verse and edition, on the wire — and where the texts are silent, so are we. Free. All of it. No card, no tiers; an optional free key raises your rate limits 4×.
Getting started
https://vedicspace.comAccess-Control-Allow-Origin: *) — call from the browser.<script src="https://vedicspace.com/vedicspace-sdk.js">, then new VedicSpace().kundli(birth). No build, no keys — the whole engine in one tag. Source →GET /api/v2/limits; a free key gives 4× headroom.GET /api/health. Honest note: no formal SLA yet during preview.The response envelope — the moat
prove_refs— an array of classical citations backing each verdict, flagged verified or pending. Render them as a trust layer. Each ref names chapter, verse and edition, so a reader can check the claim.engine_status— the engine's own honesty signal: LIVE (computed), REFERENCE (tradition tables), or PARTIAL (self-declared incomplete). Respect it.- The no-fabrication law is the contract — if the engine can't cite or compute something, it says so rather than inventing it. Never paper a
pendingcitation over as confirmed.
The five request shapes
// 1 · Canonical kundli body (most chart engines) — place omitted, tz derived from lat/lon
{ "name": "…", "gender": "Male", "date": "1990-05-21", "time": "14:30",
"latitude": 26.85, "longitude": 80.95 }
// 2 · birth_* variant (sadesati, gochar, dosha/annual engines)
{ "birth_date": "1990-05-21", "birth_time": "14:30", "birth_latitude": 26.85, "birth_longitude": 80.95 }
// 3 · Matchmaking — flat boy_/girl_ keys
{ "boy_date": "…", "boy_time": "06:00", "boy_latitude": 0, "boy_longitude": 0, "girl_date": "…", … }
// 4 · Marriage suite — nested bride/groom (+ ceremony moment)
{ "bride": { "date":"…","time":"06:00","latitude":0,"longitude":0 }, "groom": { … }, "muhurta_date": "…" }
// 5 · Panchanga GET query params
GET /api/v2/panchang/glance?lat=26.85&lon=80.95&date=2026-07-03Free API keys — instant, no card, no catch
A key is identity, not a paywall — every endpoint works without one. With one you get 4× the rate-limit headroom and per-key (not per-IP) accounting, kinder to shared networks and serverless. Registering the same email + app returns the same key.
# Or from the terminal:
curl -X POST https://vedicspace.com/api/v2/keys/register \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com","app_name":"my-app"}'
# → { "success": true, "api_key": "vsk_…" }
# Then: -H 'X-API-Key: vsk_…' on any request.SDKs, Postman & the MCP server
Zero-dependency clients — download one file and go. And the MCP server makes this an astrology tool an AI assistant can cite: every verdict it returns carries its classical verse.
VedicSpace().dashakoot(groom, bride)// claude_desktop_config.json
{ "mcpServers": { "vedicspace": {
"command": "node", "args": ["/path/to/vedicspace-mcp.mjs"] } } }
// Tools: get_panchang · get_kundli · match_ashtakoot · match_dashakoot
// check_manglik · check_kalasarpa · check_pitra_dosha · get_bphs_chapter
// Every verdict arrives with prove_refs — the AI can quote the verse.1Panchāṅga & Calendar
Daily & almanac. The v2 panchanga routes carry prove_refs; legacy GET routes are display-fast but mostly uncited.
/api/v2/panchang/glanceLightest daily "Today" glance — tithi + nakṣatra + a day-verdict band.
Request · query: lat, lon, date (all optional; default Delhi/today)
{ "success": true, "engine_status": "LIVE", "date": "2026-07-03",
"verdict": { "day_band": "inauspicious", "headline": "Krishna Tritiya · Shravana" },
"evidence": { "glance": { "tithi": { "label": "Krishna Tritiya", "ends": "…" },
"nakshatra": { "label": "Shravana", "pada": 4 } },
"prove_refs": [ { "ref_id": "PANCHANG-INTERP.tithi-nature", "tier": "T2" } ] } }/api/v2/panchangaPrimary daily pañcāṅga — five limbs + end-times + Sun/Moon sidereal positions.
Request · date*, time (def 06:00), latitude*, longitude*
{ "success": true, "date": "2026-07-03",
"panchanga": { "tithi": "Krishna Tritiya", "paksha": "Krishna", "vara": "Friday",
"nakshatra": "Shravana", "yoga": "Vishkambha", "karana": "Vishti",
"sunrise": "05:27:00", "sunset": "19:23:00" },
"moon": { "sign": "Capricorn", "nakshatra": "Shravana" }, "prove_refs": [ … ] }/api/choghadiyaDay/night choghaḍiyā (8+8), weekday-rotated, with quality + karma guidance.
Request · query: lat*, lon*, date*
{ "success": true, "weekday": "Friday",
"day_choghadiya": [ { "name": "Laabh", "lord": "Mercury", "start": "07:11 AM",
"end": "08:56 AM", "status": "Auspicious", "karma": "Gain — business, trade" } ],
"prove_refs": [ { "ref_id": "PANCHANG.choghadiya", "tier": "T3" } ] }/api/horaDay-lord + the 24-horā wheel (12 day + 12 night), current flagged.
Request · query: lat*, lon*, date*
/api/v2/eclipsesUpcoming solar/lunar eclipses with contact times + location-aware sūtak.
Request · query: count (def 3), latitude, longitude
{ "success": true, "engine_status": "LIVE",
"next": { "date": "2026-08-12", "sign": "Cancer", "nakshatra": "Ashlesha",
"locally_visible": false, "sutak": { "applies": false } } }/api/v2/vrata/ekadashiThe citation-backed vrata engine + the flagship "Show Cause" surface — Smārta vs Vaiṣṇava split with a step-by-step predicate trace.
Request · date*, time, latitude/longitude, tradition (smarta|vaishnava), end_date (→ range scan)
▸ The predicate trace (why_this_date) is our strongest cited-evidence surface.
2Kuṇḍalī & Charts
Every POST takes the canonical 6-field body. /api/v2/kundli is the primary chart source.
/api/v2/kundliPrimary birth-chart generation — chart, planets, houses, navāṁśa, pañcāṅga, Viṃśottarī daśā, plus interpretation (with prove_refs).
{ "success": true, "engine": "astromata_core.v2",
"chart": { "lagna": { "sign": "Pisces", "lord": "Jupiter", "nakshatra": "P.Bhadrapada" },
"planets": { "Moon": { "sign": "Leo", "house": 6, "dignity": "friend" } },
"dashas": { "current": { "maha": "Rahu", "antar": "Jupiter" } } },
"interpretation": { "prove_refs": [ … ] } }/api/divisional-chartsAll 16 Parāśarī vargas in one response (D1…D60) + vargottama. Single varga: POST /api/divisional/{code}.
/api/v2/bhavabalaHouse strength (bhāvabala) with strongest/weakest callouts. Cited.
{ "engine_status": "LIVE",
"houses": [ { "house": 1, "lord": "Jupiter", "total_score": 91.7, "band": "strong" } ],
"strongest": { "house": 10, "total_score": 112.18 },
"prove_refs": [ "SRC-BPHS-BHAVABALA" ] }/api/v2/jaiminiChara kārakas, kārakāṁśa, ārūḍha padas, chara daśā. Tiered citations.
/api/yogYoga detection with honest strength bands (strong/moderate/weak/cancelled) + bhaṅga. Cancelled yogas are shown as cancelled — the honesty is the differentiator.
{ "success": true, "yogas": { "summary": { "strong": 0, "moderate": 4, "cancelled": 1 },
"active": [ { "id": "gajakesari", "famous": true, "status": "cancelled",
"strength_label": "Cancelled by classical rules" } ] } }/api/kp-chartKP (Krishnamurti Paddhati) — planet star/sub/sub-sub lords, 12 cuspal sub-lords, four-fold significators.
{ "success": true,
"planets": [ { "planet": "Sun", "nakshatra_lord": "Moon", "sub_lord": "Venus", "house": 10 } ],
"cusps": [ { "cusp": 1, "sign": "Scorpio", "sub_lord": "Rahu" } ],
"significators": [ { "planet": "Sun", "star_lord": "Moon", "signifies": [6,10,9] } ] }3Daśā
Timing stack. All POST routes take the canonical 6-field body.
/api/dasha/treeFull nested Viṃśottarī tree: Mahā → Antar → Pratyantar → Sūkṣma, for a drill-down.
/api/dasha/currentThe live 5-level chain (Mahā→Antar→Pratyantar→Sūkṣma→Prāṇa) as of today — the "you are here" banner.
{ "success": true, "current_levels": [
{ "level": "Mahadasha", "planet": "Rahu", "end_date": "05-Nov-2040" },
{ "level": "Antardasha", "planet": "Jupiter", "end_date": "12-Dec-2027" } ] }/api/dasha/yoginiYoginī daśā (8-yoginī, 36-year cycle) across 3 cycles.
▸ The name→lord map is a fixed classical constant; source it client-side (the engine field is being corrected).
/api/dasha/meaningsStatic lord significations — join against the planet in /current or /tree to render interpretations without an LLM call.
/api/v2/pindayuPhaladīpikā Ch.13 proportional longevity band (evidence-first, not a death prediction). Fully cited.
{ "engine_status": "LIVE",
"verdict": { "total_years": 54.48, "band": "Madhyayu (32–70 years band)" },
"story": { "summary": "A proportional band indicator, not a death prediction." },
"evidence": { "prove_refs": [ { "citation": "Phaladeepika Ch.13 Sh.8–12" } ] } }4Muhūrta
Electional engine — score a moment or scan N days. Most carry prove_refs + a quality flag.
/api/v2/muhurta-finderScan the next N days for auspicious dates for a karma.
Request · latitude*, longitude*, karma (vivah|yatra|griha_pravesh|upanayana|general), days_ahead (def 30, 1–90), only_shubha, start_date
{ "success": true, "karma": "vivah", "match_count": 6,
"results": [ { "date": "2026-08-03", "weekday": "Monday", "nakshatra": "U.Bhadrapada",
"quality": "shubha", "benefits": ["Tithi favourable"], "issues": [] } ] }/api/v2/muhurta-completeFull Muhūrta-Cintāmaṇi assessment of a specific moment — day_quality, karma_muhurtas (per activity, with benefits + issues), aṅgas, special yogas.
Request · date*, time*, latitude*, longitude*, activity
/api/v2/muhurta-intelligenceMulti-person decision engine: reject bad days across 9 classical layers, return the top 3 with a rejection audit ("why these and not those").
Request · event_type*, users[] (each birth_*), latitude*, longitude*, start_date*, end_date*, max_results (1–3)
/api/v2/travel-muhurtaDirection-aware travel muhūrta: Diśā-śūla + Yātrā doṣa set + remedy. Cited.
Request · date*, time, latitude/longitude, direction (def North)
5Doṣa & Remedies
Affliction engines with honest cancellations + parihāra. Most take the birth_* body; the remedy corpus is a GET reference.
/api/v2/sadesatiŚani Sāḍe-sātī status from the Janma Rāśi — running/not, phase, kaṇṭaka. NOTE: janma_rashi/saturn_rashi are 0-based sign indices.
Request · birth_date*, birth_time*, birth_latitude*, birth_longitude*
{ "success": true, "janma_rashi": 1, "saturn_rashi": 11,
"sadesati": { "in_sadesati": false, "phase": "Shubha Shani (11th house)",
"saturn_house_from_janma": 11, "duration_years": 2.5 } }/api/v2/mangal-doshaMaṅgala/Manglik doṣa from Lagna, Moon & Venus, with cancellations + parihāra.
{ "mangal_dosha": { "present": true, "from_venus": true, "severity": "Mild",
"cancellations": [], "parihaar": "Match with another Mangalik OR Kumbh Vivah" } }/api/v2/kalasarpaKāla-sarpa formation on the Rāhu–Ketu axis (present/partial), with type + parihāra.
/api/lal-kitabLāl Kitāb reading — ṛṇa (debts), simple totke, grahas-in-houses, house meanings.
/api/v2/reference/remedy-corpusCited remedy tables — gemstones by rāśi, rudrākṣa by mukhī, vāstu by direction. engine_status: REFERENCE.
▸ No birth data — a pure reference. Label it REFERENCE, never LIVE.
6Matching & Marriage
North (Aṣṭakūṭa), South (Dashakoot/porutham) and batch screening — every nirṇaya carries its citation, including Praśna Mārga XXI on the bhakūṭa exceptions.
/api/v2/matchmakingAṣṭakūṭa guṇa-milana (36 guṇa) across the eight kūṭas, scored + explained, cited.
Request · boy_name, boy_date, boy_time, boy_latitude, boy_longitude, girl_* (same)
/api/v2/koota-extendedAṣṭakūṭa + the extended kūṭas (Mahendra, Strī-Dīrgha, Rajju, Varṇa, Vedha) + cited bhakūṭa-exception nirṇaya + Manglik cross-check.
Request · groom { date, time, latitude, longitude }, bride { same }, love_marriage
/api/v2/dashakootThe ten South-Indian poruthams (Dina, Gaṇa, Mahendra, Strī-Dīrgha, Yoni, Rāśi, Rāśyādhipati, Vaśya, Rajju, Vedha) with per-porutham grades — Rajju/Vedha held essential, the Rāśi nirṇaya cited.
Request · groom { date, time, latitude, longitude }, bride { same }
{ "success": true, "dashakoot": { "matched_count": 9, "total": 10,
"essentials_ok": true, "verdict": "Uttama (excellent)",
"poruthams": [ { "porutham": "Rajju", "matched": true, "grade": "uttama",
"weight": "essential", "detail": { "bride": "Siras (Head)", "groom": "Nabhi (Navel)" } } ] } }/api/v2/match/batchMatrimony screening: one profile vs up to 50 candidates in a single call, ranked by guṇa score, with doṣa flags (and optional dashakoot summaries). Free.
Request · proband { date, time, latitude, longitude }, proband_role (groom|bride), candidates[] (max 50), system (ashtakoota|dashakoot)
/api/v2/marriage-timing-matrixCouple-synced marriage-timing matrix from daśā + gochara.
Request · { person: birth_* } (or bride/groom)
/api/v2/prasna-marriageHorary (praśna) marriage answer cast for the asked moment.
7Predictions & Life-areas
Sign & chart forecasts. Horoscope is a no-birth GET; the rest take a birth body.
/api/horoscopeSun/rāśi horoscope by sign — score, lucky colour+numbers, prediction, 11 life-area scores, active planet.
Request · query: sign* (English/Sanskrit), period (daily|weekly|monthly|yearly)
{ "sign": "Aries", "period": "daily", "total_score": 65,
"lucky_color": { "name": "Terracotta Red", "hex": "#D94A3D" }, "lucky_numbers": [9,5,3],
"prediction": "…", "category_scores": { "Career": 72, "Health": 75 } }/api/v2/fortune-directionLucky direction (dik-lordship + digbala), Svadeśa vs Videśa (home/abroad), wealth quarter (Sarvāṣṭakavarga). engine_status: LIVE.
Request · birth_* body
/api/v2/varshaphalTājika varṣaphala — annual solar-return chart: varṣeśa, muntha, muddā daśā, Tājika yogas, sahams. Cited (prove_refs).
/api/v2/gocharTransit quality vs the natal Moon sign, per graha (house-from-Moon + effect). Uses the birth_* body.
{ "janma_rashi": "Leo",
"gochar": { "planets": { "Sun": { "current_sign": "Gemini", "house_from_janma": 11,
"quality": "shubha", "effect": "Authority, recognition" } } } }8AI, Numerology & Tools
The cited AI guide, and the distinct-system engines (numerology is name+DOB only).
/api/v2/jyotishi/chatChart-grounded, cited AI Jyotiṣī — answers only where the classics speak, and declines out-of-scope questions honestly.
/api/v2/oracle/answerThe 99 cited praśnas — each with verdict, timing windows, reasoning and cited verses.
/api/numerologyChaldean + Lo Shu numerology — mūlāṅka, bhāgyāṅka, name number, Lo Shu grid, lucky things. No birth chart.
Request · first_name*, last_name, day*, month*, year*
{ "success": true, "moolank": 1, "bhagyank": 9, "life_path": 9,
"lucky_things": { "numbers": [1,9,2], "color": "Red", "ruler": "Sun" },
"loshu_grid": [ [ { "num": 4, "count": 0 }, … ] ] }This reference covers the primary routes; the full machine-readable spec is /openapi.json and the live engine is self-describing at GET /api/catalog. Everything is free — grab a free key for headroom, check /status for live health, and write api@vedicspace.com for anything else.