Tantrakulam API · v1

Panchanga, Muhurta, Kundali, Matching

JSON for apps, temples, and matrimonial products. Two engines — Sūrya-siddhānta by default, plus Drik (Lahiri) — one key. Field names in English; paid panchanga includes Hindi in display and saṅkalpa.

Quick start

Base URL https://astro.tantragurukul.org. Send the key on every paid route. Default place is Dehradun if none is given. Python uses the standard library; Java uses java.net.http (11+).

curl -H "X-API-Key: YOUR_KEY" \
  "https://astro.tantragurukul.org/v1/vedic/panchanga?date=2026-08-22&place=Kushinagar"

curl -H "X-API-Key: YOUR_KEY" \
  "https://astro.tantragurukul.org/v1/vedic/karya-muhurta?karya=griha_pravesha&date=2026-08-22&place=Kushinagar"

curl -H "X-API-Key: YOUR_KEY" \
  "https://astro.tantragurukul.org/v1/vedic/kundali?date=1990-05-15&time=14:30&place=Delhi"

curl -H "X-API-Key: YOUR_KEY" \
  "https://astro.tantragurukul.org/v1/vedic/match/ashtakoot?boy_date=1990-05-15&boy_time=10:15&boy_place=Delhi&girl_date=1992-11-03&girl_time=16:40&girl_place=Varanasi"
import json, urllib.parse, urllib.request

BASE = "https://astro.tantragurukul.org"
KEY = "YOUR_KEY"

def get(path, params):
    url = f"{BASE}{path}?{urllib.parse.urlencode(params)}"
    req = urllib.request.Request(url, headers={"X-API-Key": KEY})
    with urllib.request.urlopen(req) as r:
        return json.load(r)

panchanga = get("/v1/vedic/panchanga", {"date": "2026-08-22", "place": "Kushinagar"})
muhurta = get("/v1/vedic/karya-muhurta", {
    "karya": "griha_pravesha", "date": "2026-08-22", "place": "Kushinagar"})
kundali = get("/v1/vedic/kundali", {
    "date": "1990-05-15", "time": "14:30", "place": "Delhi"})
match = get("/v1/vedic/match/ashtakoot", {
    "boy_date": "1990-05-15", "boy_time": "10:15", "boy_place": "Delhi",
    "girl_date": "1992-11-03", "girl_time": "16:40", "girl_place": "Varanasi"})
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient client = HttpClient.newHttpClient();

HttpResponse<String> get(String path) throws Exception {
    HttpRequest req = HttpRequest.newBuilder()
        .uri(URI.create("https://astro.tantragurukul.org" + path))
        .header("X-API-Key", "YOUR_KEY")
        .GET()
        .build();
    return client.send(req, HttpResponse.BodyHandlers.ofString());
}

get("/v1/vedic/panchanga?date=2026-08-22&place=Kushinagar");
get("/v1/vedic/karya-muhurta?karya=griha_pravesha&date=2026-08-22&place=Kushinagar");
get("/v1/vedic/kundali?date=1990-05-15&time=14:30&place=Delhi");
get("/v1/vedic/match/ashtakoot?boy_date=1990-05-15&boy_time=10:15&boy_place=Delhi"
    + "&girl_date=1992-11-03&girl_time=16:40&girl_place=Varanasi");

Authentication

Send the secret in the header X-API-Key. Mint keys at /account/keys. At most five active keys. The key’s engine is independent of the account plan.

PrefixEngine
drik_Drik / /v1/vedic/…
mool_ or surya_Sūrya-siddhānta / /v1/surya/…
tg_Both engines

A drik_ key does not open Sūrya JSON. A mool_ key does not open /v1/vedic/….

Common parameters

ParameterDefaultNotes
datetodayCivil date YYYY-MM-DD
time / hoursunrise of the engineLocal HH:MM, or hour as a number. Required for kundali.
placeDehradunResolved by GET /v1/geocode?q=
lat lon30.3165, 78.0322Also latitude / longitude
tz5.5Hours east of UTC
enginefrom the pathsurya on a Drik path selects the classical engine
year—Festival and grahaṇa year routes

Matching uses the same fields twice: boy_date, boy_time, boy_place (or date / time / place for the boy) and girl_date, girl_time, girl_place.

Engines

Sūrya-siddhānta

Classical mean and true graha, Chapter 9 asta/udaya, and that engine’s own sunrise. Default on this host: /v1/surya/…, or send engine=surya. Free Basic has the public slice. Full kundali and matching on this engine need Commercial or Enterprise.

Drik

Lahiri sidereal longitudes and Drik sunrise. Use /v1/panchanga and /v1/vedic/…, or send engine=drik.

The two engines do not return the same clocks or longitudes. Do not mix one engine’s sunrise with the other’s grahas.

Plans, credits, and errors

PlanCredits / monthPriceJSON access
Free Basic1,000₹0Public slice on both engines
Developer10,000₹4,999 / yearFull Drik; Sūrya stays Basic; non-commercial
Pro50,000₹14,999 / yearSame as Developer, higher quota
Commercial250,000₹36,000 / yearProduction, white-label, full Sūrya
EnterpriseUnlimitedfrom ₹1,20,000 / yearसंयोग, संवत्, kundali book / pack, bulk dates, SLA

Extra credits: +10k ₹499 · +50k ₹1,999 · +200k ₹6,999. Production apps need Commercial or Enterprise. See pricing and coverage.

Route classExamplesCredits
LightTithi, nakshatra, yoga, karana, geocode, catalog1
StandardDaily panchanga, muhurta, hora, chaughadiya2
ChartKundali, planets, dashas, doshas, transits3
Single vargaOne divisional chart4
HeavyShadbala, Ashtakavarga, dasha-phala, matching, festivals, vivāha-milan5
Kundali book HTMLkundali-book.html (Enterprise)20
Kundali book PDFkundali-book.pdf (Enterprise)25
Mobile packkundali-pack (Enterprise)30
BulkRange, kala, month, संवत्, संयोग (Enterprise)8
HTTPWhen
200Success. Body has "success": true.
400Bad date, place, or parameter. {"success": false, "error": "…"}
401Missing or invalid key
402Monthly credits exhausted
403Plan or engine does not cover this route

No key is needed for /v1/health, /v1/, /v1/vedic, /v1/surya, /v1/geocode, /v1/vedic/janma-patra, /v1/vedic/karya-muhurta (both engines), and the public Sūrya-siddhānta math routes below. Vivāha-milan accepts any valid key. The yantra tool APIs return today’s result without a key; changing the date needs an Enterprise key.

Panchanga

Civil date and a place (or lat/lon/tz). Leave time empty for sunrise of the chosen engine. One call returns the full daily snapshot; the slice routes below repeat one block.

GET /v1/surya/panchanga

Full daily JSON. Sūrya-siddhānta default. Drik: /v1/vedic/panchanga or engine=drik.

BlockFields
Place and instantName, lat/lon/tz; civil date; JD, ahargaṇa, local / ISO clock; sunrise vs calculation instant
AngasTithi (name, number, paksha, class, fraction, elongation, end, transitions, nirṇaya); nakṣatra (pada, fraction, end); yoga; karaṇa (kind, remaining degrees, end); weekday; paksha
MonthsAmanta and Purnimanta māsa, adhika, pūrṇimā date; solar month (saur māsa / rāśi)
ErasKalpa-sūcana; yuga; Vikram, Shaka, Kali; Yudhiṣṭhira, Paraśurāma; Bārhaspatya, Chandra, and Paitamaha saṃvatsara; era new year
Rise / setSunrise, sunset, next sunrise, solar noon, moonrise, moonset, moon transit; dinamāna / rātrimāna (hours and ghaṭī)
SankrantiCurrent rāśi, degrees in rāśi, degrees to next, gati, last / next clocks + nirṇaya; ṛtu, ayana
Śāstra-kālaPūrvāhṇa, madhyāhna, aparāhṇa, kutapa, dvitīya prahara, pradoṣa, niśītha / mahāniśā, aruṇodaya; din-ṛtu
Daily muhurtaAbhijit (Wednesday tyājya), Brahma, Godhuli, Rahu, Gulika, Yamaganda; 15+15 muhurtas, prahara; hora (Drik); chaughadiya
Bhadra and vāsaVishti parts (sarpiṇī / vṛścikī, sthāna, bhūtal, tyājya); agni vāsa / cakra; śiva vāsa; diśā-śūla; yoginī vāsa
YogasSarvartha, Amrit siddhi (bādhaka tithi), Ravi yoga, Krakacādi
SaṅkalpaMukhya and Gaṇapati, kṣetra. Paid keys: Hindi display
GrahasNine grahas + Lagna (and madhyāhna Lagna): rāśi, aṃśa, nakṣatra, pada, gati, daily motion, dignity, visibility, dagdha, avasthā, bhāva; yuddha
Asta / grahaṇaUpcoming asta / udaya, asta-niṣedha, near-instant grahaṇa; Purāṇa day notes
Sūrya extrasMadhyama, spaṣṭa, tri-praśna, yuti, udayāsta, śṛṅgonnati, pāta, bhūgola
GET /v1/surya/panchanga?date=2026-08-22&place=Kushinagar
GET /v1/vedic/panchanga?date=2026-08-22&place=Kushinagar
GET /v1/panchanga?date=2026-08-22&lat=26.7402&lon=83.8881&tz=5.5

Anga and calendar slices

RouteReturns
/v1/vedic/tithiCurrent tithi, fraction, end
/v1/vedic/tithi-nirnayaTithi decision for the civil day
/v1/vedic/nakshatraNakṣatra and pada
/v1/vedic/yogaYoga
/v1/vedic/karanaKaraṇa
/v1/vedic/calendarLunar and solar months, eras, saṃvatsara
/v1/vedic/rise-setSun and Moon rise, set, transit, noon
/v1/vedic/sankrantiCurrent rāśi, next ingress, ṛtu, ayana
/v1/vedic/sankalpaMukhya and Gaṇapati saṅkalpa, kṣetra
/v1/vedic/bhadraVishti / Bhadra, agni / śiva vāsa
/v1/vedic/special-yogasSarvartha, Amrit siddhi, Ravi yoga, Krakacādi
/v1/vedic/grahanGrahaṇa for year=
/v1/vedic/puranaPurāṇa day notes
/v1/vedic/dharma-sindhu-badhakDharma-sindhu bādhaka on the day

Same paths exist under /v1/surya/… where that engine implements them.

Muhurta

Electional JSON. Daily windows are one call; a named work is another. Wedding-place śuddhi is a third.

GET /v1/vedic/muhurta

Abhijit, Brahma, Godhuli, Rahu, Gulika, Yamaganda, and the 15 day + 15 night muhurtas with prahara.

GET /v1/vedic/muhurta?date=2026-08-22&place=Kushinagar

GET /v1/vedic/hora · /v1/vedic/chaughadiya

Planetary horas for the civil day, and the eight chaughadiya watches.

GET /v1/vedic/hora?date=2026-08-22&place=Kushinagar
GET /v1/vedic/chaughadiya?date=2026-08-22&place=Kushinagar

GET /v1/vedic/karya-muhurta Free · बिना कुंजी

Named work from Muhūrta-cintāmaṇi (mūla) and Dharma-sindhu / Nirṇayasindhu (saṃskāra). Omit karya to receive the catalog. Each day includes a printed-rule citation — not an invented event.

karyaWork
griha_praveshaGṛha-praveśa (use kind=nava|jirna|both)
bhumi_pujanBhūmi-pūjan
vyavasayaTrade / shop
yatraYātrā (direction=east|south|west|north)
namakaranaNāmakaraṇa
vahanaVehicle
vidyarambhaVidyārambha
pujaPūjā
shalyaŚalya

days=1…31 for a short span, or span=year for a year scan. vivaha is listed in the catalog; wedding-place calculation is the route below.

GET /v1/vedic/karya-muhurta
GET /v1/vedic/karya-muhurta?karya=griha_pravesha&date=2026-08-22&place=Kushinagar&span=year&kind=nava
GET /v1/surya/karya-muhurta?karya=yatra&date=2026-08-22&place=Kushinagar&direction=east

GET /v1/vedic/vivaha-milan Any key

Wedding-place panchanga, tri-bala, lagna-śuddhi, and latta. Pair matching (Ashtakoot) is under Matching. कोई भी वैध कुंजी चलेगी — किसी विशेष योजना या इंजन की बाध्यता नहीं।

GET /v1/vedic/vivaha-milan?date=2026-11-20&place=Varanasi
GET /v1/surya/vivaha-milan?date=2026-11-20&place=Varanasi

Kundali

Birth date, time, and place. Same Lahiri longitudes as matching on the Drik paths. A route index is at GET /v1/vedic/janma-patra (no key).

GET /v1/vedic/kundali

Lagna and grahas: rāśi, aṃśa, nakṣatra, pada, avasthā, gati. Whole-sign D1. Aliases: /v1/vedic/planets, /v1/vedic/lagna-kundali, /v1/vedic/ascendant.

GET /v1/vedic/kundali?date=1990-05-15&time=14:30&place=Delhi

Charts and vargas

RouteReturns
/v1/vedic/bhava-chalitSripati bhāva-chalit — sandhi, madhya, house strength
/v1/vedic/chandra-kundaliMoon-counted D1
/v1/vedic/surya-kundaliSun-counted D1
/v1/vedic/divisional?chart=D9One varga from the varga Lagna
/v1/vedic/divisionalsD1–D4, D7, D9, D10, D12, D16, D20, D24, D27, D30, D40, D45, D60
/v1/vedic/varga-tulanaD1–D60 sign grid
/v1/vedic/kundali/fullCombined natal pack

Dasha, phala, year, and transit

RouteReturns
/v1/vedic/dashasVimśottarī maha, antar, pratyantra (120-year Moon timeline)
/v1/vedic/dasha-phalaBPHS mahā–antar for the next 10 years (dignity, bhāva, maitri)
/v1/vedic/yogini-dashasYogini maha and antar (36-year cycle, three cycles from birth)
/v1/vedic/yogini-phalaYogini-phala for the next 10 years
/v1/vedic/dasha-timelineCurrent plus 1 / 3 / 5 year slices and change windows
/v1/vedic/varshaphalTajika Nīlakaṇṭhī Sun-return, muntha, varṣeśa, mudda daśās
/v1/vedic/gochara-reportSlow grahas from Lagna and Moon, ingresses, BAV + SAV
/v1/vedic/transitsCurrent transit slice

Yogas, doṣa, strength, Jaimini

RouteReturns
/v1/vedic/yogasHarsha, Sarala, Vimala, Nīcabhaṅga, and listed Parāśari yogas
/v1/vedic/dosha/manglikKuja / Māṅgalika — Phaladeepika 10, bhaṅga
/v1/vedic/dosha/kaal-sarpaKāla-sarpa type and house
/v1/vedic/sade-satiSāḍhe-sātī, ḍhaiyā, Saturn gati, Phaladeepika 26
/v1/vedic/bhava-phalaBPHS 12–24 house / lord chain
/v1/vedic/shadbalaBPHS ṣaḍbala
/v1/vedic/ashtakavargaŚodhana, śodhya piṇḍa
/v1/vedic/ashtakavarga-phalaBPHS relative phala
/v1/vedic/jaiminiChara karakas, karakāṃśa, ārūḍha, rāśi dṛṣṭi
/v1/vedic/graha-drishtiParāśari graha dṛṣṭi
/v1/vedic/maitriPañcadhā maitri
/v1/vedic/janma-vivaranBirth sheet
/v1/vedic/avakahadaPāya, nāma akṣara

Life reports

BPHS house / lord / kāraka synthesis. Capacity, not a named event or diagnosis.

/v1/vedic/career-report · /v1/vedic/wealth-report · /v1/vedic/marriage-report · /v1/vedic/health-report · /v1/vedic/education-report · /v1/vedic/children-report

Related: /v1/vedic/ratna-nirnaya, /v1/vedic/arishta, /v1/vedic/graha-shanti, /v1/vedic/bala-dashboard, /v1/vedic/graha-garima, /v1/vedic/graha-saransh, /v1/vedic/bhava-saransh.

Kundali book and mobile pack Enterprise

White-label natal book. Pass birth data; optional name=. The pack returns HTML, natal JSON, and ready URLs for planets, dashas, and the life reports.

GET /v1/vedic/kundali-book.html?date=1990-05-15&time=14:30&place=Delhi&name=Devadatta
GET /v1/vedic/kundali-book.pdf?date=1990-05-15&time=14:30&place=Delhi&name=Devadatta
GET /v1/vedic/kundali-pack?date=1990-05-15&time=14:30&place=Delhi&name=Devadatta

Matching

Same longitudes as the kundali routes on that engine. No second ephemeris.

GET /v1/vedic/match/ashtakoot

Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Bhakoot, Nadi — total out of 36, Jyotirnibandha band, raw and effective Nadi. Muhūrta-cintāmaṇi Vivāha verses on each koot. Printed bhaṅga (2/12, 5/9, 6/8, eka-nāḍī, gaṇa) from Jyotirnibandha, Muhūrta-pradīpa, Kālaprakāśikā, Nārada-saṃhitā. Boy and girl Moon rāśi, nakṣatra, gaṇa, nāḍī, yoni.

GET /v1/vedic/match/ashtakoot?boy_date=1990-05-15&boy_time=10:15&boy_place=Delhi&girl_date=1992-11-03&girl_time=16:40&girl_place=Varanasi

GET /v1/vedic/match/manglik

Independent Kuja-doṣa on each chart, plus the printed pair-bhaṅga when both have raw doṣa. Same boy_* / girl_* fields.

GET /v1/vedic/match/manglik?boy_date=1990-05-15&boy_time=10:15&boy_place=Delhi&girl_date=1992-11-03&girl_time=16:40&girl_place=Varanasi

Festivals and grahaṇa

Paid keys. Year-nirṇaya from sunrise tithi. Festival JSON is not a CMS calendar.

GET /v1/vedic/festivals/{id}

List: GET /v1/vedic/festivals. Then:

deepavali · dhanteras · narakachaturdashi · govardhan · bhaidooj · holi · shivaratri · janmashtami · rakshabandhan · upakarma · ramnavami · ganeshchaturthi · navaratri · chaitra-navaratri · ashadha-navaratri · magha-navaratri · sankranti · makarsankranti · meshasankranti · karkasankranti · matsya-jayanti · lakshmi-panchami · vasant-panchami · kamada-ekadashi · akshaya-tritiya · parshuram-jayanti · vat-savitri · guru-purnima

GET /v1/vedic/festivals/deepavali?year=2026&place=Kushinagar
GET /v1/vedic/festivals/upakarma?year=2026&place=Kushinagar
GET /v1/vedic/grahan?year=2026&place=Kushinagar

Year-wide festival pack: /v1/parva-mool?year=2026&lat=&lon= (paid). Grahaṇa may also be called as /v1/ss-grahana (public Sūrya math).

Sūrya-siddhānta mathematics

Public reference routes for the classical engine. No NASA reduction. No key.

RouteReturns
/v1/ss-meanMadhyama graha
/v1/ss-sphutaSpaṣṭa graha
/v1/ss-surya-chakraSūrya-cakra over a day span
/v1/ss-triprashnaDik, deśa, kāla · chāyā · lagna
/v1/ss-shankuŚaṅku; suggest=1 for a field suggestion
/v1/ss-bhugolaBhūgola
/v1/ss-udayastaUdayāsta
/v1/ss-graha-yuti · /v1/ss-nakshatra-yutiYuti
/v1/ss-shringonnatiŚṛṅgonnati
/v1/ss-pataPāta
/v1/ss-ganitaGaṇitādhyāya digest
/v1/ss-ganakaJD, ahargaṇa, madhyama–spaṣṭa
/v1/ss-grahanaYear grahaṇa
/v1/geocode?q=Place lookup
GET /v1/ss-sphuta?date=2026-08-22&lat=30.3165&lon=78.0322&tz=5.5
GET /v1/ss-grahana?year=2026&lat=30.3165&lon=78.0322
GET /v1/geocode?q=Ujjain

Enterprise

Unlimited credits, named domains, ticket and phone support, and an SLA. From ₹1,20,000 / year.

RouteReturns
/v1/sanyogaसंयोग scanner
/v1/panchanga-varsha-*संवत् / year panchanga (Drik and Sūrya)
/v1/panchanga/rangeMulti-day range
/v1/panchanga-kalaKāla pack
/v1/panchanga/monthMonth grid
/v1/vedic/kundali-book.html · .pdf · kundali-packWhite-label natal book
/v1/surya/surya-chakraसूर्य-कालचक्रम् (ayanāṃśa, ऋतु, ayana)
/v1/surya/sky-chartआकाशदर्शन — graha with vikṣepa, madhya / mandocca / śīghrocca / pāta
/v1/surya/udaya-yantraउदय–मध्य–अस्त यन्त्रम्
/v1/surya/chandra-yantraचन्द्रकला–शृंग यन्त्रम् (Bṛhat-saṃhitā ch. 4)
/v1/surya/graha-astaशुक्रास्त–गुर्वस्त यन्त्रम् (Chapter 9 asta limits)
/v1/surya/bhugola-yantraभूगोल–कक्षा मण्डलम् (Chapter 12 bhūgola & kakṣā)
/v1/surya/dina-ratri-yantraचतुर्नगर-दिनरात्रि यन्त्रम् — four cities, kālāntara 6 h, sun’s diurnal arc
/v1/surya/ritu-ayana-yantraऋतुसम्पात–अयनचक्र यन्त्रम् — obliquity ε, declination, equinoxes/solstices, ayanāṃśa
/v1/surya/tithi-nirnaya-yantraतिथिनिर्णय–चन्द्रसूर्य यन्त्रम् — Sun–Moon elongation, tithi spans, sunrise/aruṇodaya/madhyāhna/pradoṣa/niśītha, pūrva/para-viddhā, karmakāla

उपकरण पृष्ठ (/yatra, /akasha, /surya-chakra, /udaya-yantra, /chandra-yantra, /graha-asta-yantra, /bhugola-yantra, /dina-ratri-yantra, /ritu-ayana-yantra, /tithi-nirnaya-yantra) सर्वत्र खुले हैं। पृष्ठ खुलते ही आज के दिन का फल बिना कुंजी दिखता है (तिथि अनुपस्थित = आज)। तिथि / स्थान / समय बदलने पर गणना के लिए Enterprise कुंजी चाहिए। /karya-muhurta पृष्ठ और उसका API सदा बिना कुंजी खुले हैं; /vivaha-milan के लिए कोई भी वैध कुंजी पर्याप्त है।

Write to info@tantragurukul.org for a grant. Terms: Drik-API License 1.0 · SSP-API License 1.0.

Response format

{
  "success": true,
  "engine": "drik",
  "ayanamsa": "Lahiri",
  "panchanga": { }
}

Sūrya replies use "engine": "surya_siddhanta" and that engine’s ayanamsa. Panchanga snapshots include limbs, rise/set, and spaṣṭa grahas. Kārya-muhūrta includes catalog, days[], and a printed-rule citation. A route that is not implemented returns "success": false with a short error — not a fabricated phala.

Other dasha systems and Dashakoot are not in this release. /v1/vedic/samvatsara is the panchanga saṃvatsara, not a Medinī year chart. Year-entry for a place is /v1/vedic/varsha-pravesh (Nārada-saṃhitā); Tajika year-phala is /v1/vedic/varshaphal.