API reference · v1

Vedic Astrology

Lahiri sidereal calculations with sub-arc-second precision: divisional varga charts, Ashtakavarga strength, porutham and guna milan marriage matching, dosha analysis, panchangam, varshphal solar returns, KP astrology and auspicious baby-name syllables.

9 endpoints · 1 credit per call
Endpoints

Every vedic astrology endpoint

Parameters, copy-paste examples in three languages, and response shapes.

POST/api/v1/vedic/varga-charts

Varga charts

Compute divisional (varga) charts from a birth chart. Pass a single varga number or "all" for the standard 16-varga set (1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60).

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley
vargainteger | "all"bodyoptionalVarga number (1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60) or "all" (default)

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/varga-charts" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri",
  "varga": 9
}'

Example response

JSON
{
  "varga": 9,
  "charts": {
    "9": {
      "ascendant": {
        "sign": "Mesha",
        "degree": 12.44
      },
      "planets": [
        {
          "name": "Surya",
          "sign": "Vrishabha",
          "degree": 21.08,
          "house": 2
        }
      ]
    }
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/ashtakvarga

Ashtakavarga

Sarvashtakavarga and Bhinnashtakavarga strength summary — planetary and house-wise bindu totals that reveal where a chart concentrates its power.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/ashtakvarga" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri"
}'

Example response

JSON
{
  "result": {
    "sarvashtakavarga": {
      "Mesha": 28,
      "Vrishabha": 31,
      "Mithuna": 25
    },
    "bhinnashtakavarga": {
      "Surya": {
        "Mesha": 4,
        "Vrishabha": 5
      }
    },
    "strongest_house": 10
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/porutham

Porutham matching

South-Indian porutham (10-point) marriage compatibility between two birth stars (nakshatras) and rasis (Moon signs).

1 credit per call

Parameters

NameTypeInRequiredDescription
bride_starstringbodyrequiredBride's birth nakshatra, e.g. Rohini
groom_starstringbodyrequiredGroom's birth nakshatra, e.g. Mrigashira
bride_rasistringbodyrequiredBride's Moon sign, e.g. Vrishabha
groom_rasistringbodyrequiredGroom's Moon sign, e.g. Vrishabha

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/porutham" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "bride_star": "Rohini",
  "groom_star": "Mrigashira",
  "bride_rasi": "Vrishabha",
  "groom_rasi": "Vrishabha"
}'

Example response

JSON
{
  "result": {
    "matched": 8,
    "total": 10,
    "verdict": "Excellent match",
    "poruthams": [
      {
        "name": "Dina",
        "matched": true
      },
      {
        "name": "Gana",
        "matched": true
      }
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/guna-milan

Guna milan

North-Indian guna milan (36-guna Ashtakoota) marriage compatibility — the eight kootas scored out of 36 with a detailed breakdown.

1 credit per call

Parameters

NameTypeInRequiredDescription
bride_starstringbodyrequiredBride's birth nakshatra, e.g. Rohini
groom_starstringbodyrequiredGroom's birth nakshatra, e.g. Mrigashira
bride_rasistringbodyrequiredBride's Moon sign, e.g. Vrishabha
groom_rasistringbodyrequiredGroom's Moon sign, e.g. Vrishabha

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/guna-milan" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "bride_star": "Rohini",
  "groom_star": "Mrigashira",
  "bride_rasi": "Vrishabha",
  "groom_rasi": "Vrishabha"
}'

Example response

JSON
{
  "result": {
    "total_gunas": 28,
    "max_gunas": 36,
    "verdict": "Very good match",
    "kootas": [
      {
        "name": "Varna",
        "score": 1,
        "max": 1
      },
      {
        "name": "Vashya",
        "score": 2,
        "max": 2
      }
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/dosha

Dosha analysis

Detect Mangal dosha, Kaal Sarp dosha, Pitra dosha and other afflictions in a birth chart, with cancellation (bhanga) checks.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley
current_datestringbodyoptionalReference date for transit-based doshas, YYYY-MM-DD (default today)

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/dosha" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri",
  "current_date": "2026-10-15"
}'

Example response

JSON
{
  "result": {
    "mangal_dosha": {
      "present": false,
      "houses": []
    },
    "kaal_sarp_dosha": {
      "present": false
    },
    "pitra_dosha": {
      "present": true,
      "severity": "mild"
    },
    "remedies": [
      "Offer water to the rising Sun on Sundays"
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/vedic/panchangam?date=2026-10-15&lat=9.9312&lon=76.2673&tz=Asia/Kolkata

Panchangam

Daily Hindu almanac for any date and location: tithi, nakshatra, yoga, karana, vara and auspicious muhurta windows.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringqueryrequiredDate, YYYY-MM-DD
latnumberqueryrequiredLatitude, −90 to 90
lonnumberqueryrequiredLongitude, −180 to 180
tzstringqueryoptionalIANA timezone (default Asia/Kolkata)

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/vedic/panchangam?date=2026-10-15&lat=9.9312&lon=76.2673&tz=Asia/Kolkata" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
{
  "result": {
    "date": "2026-10-15",
    "tithi": "Shashthi",
    "nakshatra": "Rohini",
    "yoga": "Saubhagya",
    "karana": "Gara",
    "vara": "Thursday",
    "muhurta": [
      {
        "name": "Abhijit",
        "start": "11:48",
        "end": "12:36"
      }
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/varshphal

Varshphal

Annual (solar-return) varshphal chart for a target year — the Tajik-system year chart with muntha, sahams and yearly dasha timing.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley
target_yearintegerbodyrequiredSolar-return year, e.g. 2027

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/varshphal" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri",
  "target_year": 2027
}'

Example response

JSON
{
  "result": {
    "target_year": 2027,
    "solar_return": "2027-05-14T21:02:00+05:30",
    "muntha": {
      "sign": "Kanya",
      "house": 5
    },
    "sahams": [
      {
        "name": "Punya",
        "sign": "Simha",
        "degree": 8.2
      }
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/kp-chart

KP chart

Krishnamurti Paddhati chart: sub-lords for every cusp, planetary star/sub lords and ruling planets for precise event timing.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/kp-chart" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri"
}'

Example response

JSON
{
  "result": {
    "cusps": [
      {
        "cusp": 1,
        "sign": "Mesha",
        "degree": 12.44,
        "star_lord": "Ketu",
        "sub_lord": "Shukra"
      }
    ],
    "ruling_planets": [
      "Guru",
      "Shukra",
      "Chandra"
    ],
    "ayanamsa_used": "krishnamurti"
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/vedic/baby-names?nakshatra=Rohini&pada=2

Baby-name syllables

Auspicious baby-name starting syllables for a birth nakshatra and pada — the traditional namakarana lookup.

1 credit per call

Parameters

NameTypeInRequiredDescription
nakshatrastringqueryrequiredBirth nakshatra name, e.g. Rohini
padaintegerqueryrequiredNakshatra pada, 1–4

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/vedic/baby-names?nakshatra=Rohini&pada=2" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
{
  "result": {
    "nakshatra": "Rohini",
    "pada": 2,
    "syllables": [
      "O",
      "Va",
      "Vi",
      "Vu"
    ],
    "sample_names": [
      "Om",
      "Vaibhav",
      "Vivaan"
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

Need a key?

Create one from your dashboard and paste it into any example above — every snippet is ready to run.