API Documentation

Welcome to the AstroSaaS API documentation. This platform provides highly accurate Vedic and Western astrological calculations based on NASA JPL ephemeris via the astronomy-engine.

Live API Runner

Paste your API Key here to run any endpoint directly from the docs.

Authentication

All API endpoints require authentication via an API Key. You must include your API Key in the headers of every request.

x-api-key: your_api_key_here

You can generate an API key by creating an account on the Dashboard.

POST /api/astro

Calculates Sayana, Nirayana (using Lahiri Ayanamsa), and Vedic astrological details (Rashi, Nakshatra, Bhav) for 12 celestial bodies.

Request Parameters

Parameter Type Required Description
year, month, day Integer Yes Date of birth.
hour, minute Integer No Time of birth (defaults to 12:00).
timezoneOffset Float No Timezone offset in hours (e.g., 5.5 for IST).
latitude, longitude Float Yes Coordinates of birth place.

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "julianDay": 2447893.0004068285,
  "ayanamsa": {
    "name": "Lahiri",
    "value": 23.71358700018593
  },
  "planets": {
    "lagna": {
      "name": "लग्न",
      "sayana": 143.5309604453243,
      "nirayana": 119.33990823020002,
      "rashi": 4,
      "rashiName": "कर्क",
      "nakshatra": 9,
      "nakshatraName": "आश्लेषा",
      "nakshatra_swami": "बुध",
      "bhav": 1
    },
    "sun": {
      "name": "सूर्य",
      "sayana": 280.7226017004455,
      "nirayana": 257.0090147002596,
      "latitude": 0.00030501865955113915,
      "rashi": 9,
      "rashiName": "धनु",
      "nakshatra": 20,
      "nakshatraName": "पूर्वाषाढ़ा",
      "nakshatra_swami": "शुक्र",
      "bhav": 6
    },
    ...
  }
}
            

POST /api/dasha

Calculates a precise 5-level Vimshottari Dasha tree. Supports filtering by a target date to only expand active periods.

Request Parameters

Same as /api/astro, plus the following optional parameters:

Parameter Type Description
targetDate String (ISO) If provided, the 5-level deep calculation will ONLY be performed for the period encompassing this date, massively improving performance.
currentMahadashaOnly Boolean If true, filters the root array to only return the Mahadasha that is currently active for the targetDate.

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "birthDate": "1990-01-01T05:00:00.000Z",
  "moonNirayana": 321.45,
  "startingNakshatra": 25,
  "dashas": [
    {
      "lord": "गुरु",
      "start": "1983-05-12T12:00:00.000Z",
      "end": "1999-05-12T12:00:00.000Z",
      "isActive": false
    },
    ...
  ]
}
            

POST /api/gochar

Calculates planetary transits (Gochar) relative to the Natal Lagna and Natal Moon.

Request Parameters

Same as /api/astro, plus the following optional parameter:

Parameter Type Description
targetDate String (ISO) The date to calculate transits for. Defaults to current time.

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "natalDate": "1990-01-01T05:00:00.000Z",
  "transitDate": "2024-03-15T00:00:00.000Z",
  "natalLagnaRashi": 9,
  "natalMoonRashi": 11,
  "gochar": {
    "sun": {
      "name": "सूर्य",
      "transitNirayana": 331.45,
      "transitRashi": 12,
      "transitRashiName": "मीन",
      "transitNakshatra": 25,
      "transitNakshatraName": "पूर्वा भाद्रपद",
      "transitNakshatraSwami": "गुरु",
      "bhavFromLagna": 4,
      "bhavFromMoon": 2
    },
    ...
  }
}
            

POST /api/varga

Calculates all 16 standard Parashari divisional charts (Shodashvarga).

Request Parameters

Same as /api/astro, plus the following optional parameter:

Parameter Type Description
method String Calculation method. Defaults to "parashari".

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "D1": {
    "vargaName": "राशि (D1)",
    "vargaNum": 1,
    "planets": {
      "Ascendant": { "name": "लग्न", "rashiNum": 9, "rashiName": "धनु", "rashiLord": "गुरु" },
      "Sun": { "name": "सूर्य", "rashiNum": 9, "rashiName": "धनु", "rashiLord": "गुरु" },
      ...
    }
  },
  "D9": {
    "vargaName": "नवांश (D9)",
    "vargaNum": 9,
    "planets": {
      "Ascendant": { "name": "लग्न", "rashiNum": 1, "rashiName": "मेष", "rashiLord": "मंगल" },
      "Sun": { "name": "सूर्य", "rashiNum": 4, "rashiName": "कर्क", "rashiLord": "चंद्र" },
      ...
    }
  },
  ...
}
            

POST /api/ashtakvarga

Calculates Bhinna Ashtakvarga (BAV) for the 7 planets and the total Sarva Ashtakvarga (SAV) points for all 12 Rashis based on Parashari principles.

Request Parameters

Same as /api/astro (Birth details).

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "lagna": "Karka (कर्क)",
    "sarvashtakvarga": {
      "Mesha (मेष)": {
        "points": 30,
        "interpretation": "अत्यंत शुभ (28 से अधिक बिंदु)"
      },
      "Vrishabha (वृषभ)": {
        "points": 31,
        "interpretation": "अत्यंत शुभ (28 से अधिक बिंदु)"
      }
      // ... all 12 signs
    },
    "bhinnaAshtakvarga": {
      "Sun": {
        "Mesha (मेष)": 3,
        "Vrishabha (वृषभ)": 4
        // ... all 12 signs
      },
      "Moon": {
        "Mesha (मेष)": 4,
        "Vrishabha (वृषभ)": 5
      }
      // ... all 7 planets
    }
  }
}
            

POST /api/panchang

Calculates the 5 limbs of time (Panchang): Tithi, Vaar, Nakshatra, Yoga, and Karana, along with their exact end times (samapti) and local daily timings (Sunrise, Sunset, Moonrise, Moonset).

Request Parameters: Same as /api/astro

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "tithi": { "index": 1, "name": "प्रतिपदा", "paksha": "शुक्ल पक्ष", "endTime": "2024-10-02T10:15:00.000Z" },
    "nakshatra": { "index": 22, "name": "श्रवण", "percentage": "45.20%", "endTime": "2024-10-02T14:30:00.000Z" },
    "yoga": { "index": 17, "name": "व्यतीपात", "endTime": "2024-10-02T18:45:00.000Z" },
    "karana": { "index": 2, "name": "बालव", "endTime": "2024-10-02T05:10:00.000Z" },
    "vaar": { "index": 1, "name": "सोमवार" },
    "dailyTiming": {
      "sunrise": "2024-10-02T06:12:00.000Z",
      "sunset": "2024-10-02T18:05:00.000Z",
      "moonrise": "2024-10-02T08:30:00.000Z",
      "moonset": "2024-10-02T20:15:00.000Z"
    }
  }
}
            

POST /api/ephemeris

Provides detailed astronomical positions, distances, speeds, and retrograde (vakri) status for all major celestial bodies.

Request Parameters: Same as /api/astro

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "sun": {
      "name": "सूर्य",
      "rightAscension": 18.71,
      "declination": -23.01,
      "eclipticLongitude": 280.72,
      "eclipticLatitude": 0.0003,
      "distanceAU": 0.983,
      "dailySpeedDegrees": 1.019,
      "isRetrograde": false,
      "motionType": "मार्गी (Direct)"
    },
    ...
  }
}
            

POST /api/ai

Returns a hyper-compressed, token-optimized JSON payload designed specifically for AI/LLM consumption. Reduces brackets and nested objects by using comma-separated strings. Contains Lagna details (L), Planetary Details (P), Active 5-Level Dasha (D), and Sarva Ashtakvarga points per Rashi (A).

Request Parameters: Same as /api/astro

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "lagna": "degree: 312.14°, rashi: कुंभ, nakshatra: शतभिषा, charan: 2, navamsha_d9_rashi: मकर",
  "planets": [
    "name: सूर्य, degree: 256.67°, rashi: धनु, bhav: 11, chalit_bhav: 11, rashi_awastha: मित्र, nakshatra: पूर्वाषाढ़ा, charan: 2, motion: मार्गी, gochar_rashi: मीन, gochar_bhav_lagna: 2, gochar_bhav_moon: 2, navamsha_d9_rashi: कन्या, navamsha_d9_awastha: सम",
    "name: चंद्र, degree: 306.11°, rashi: कुंभ, bhav: 1, chalit_bhav: 1, rashi_awastha: सम, nakshatra: धनिष्ठा, charan: 4, motion: मार्गी, gochar_rashi: मेष, gochar_bhav_lagna: 3, gochar_bhav_moon: 3, navamsha_d9_rashi: वृश्चिक, navamsha_d9_awastha: नीच"
    // ...other planets
  ],
  "dasha": "mahadasha: शनि (ends: 2030-01-01), antardasha: शनि (ends: 2025-05-10), pratyantar: चंद्र (ends: 2024-03-20), sukshma: केतु (ends: 2024-03-25), pran: शनि (ends: 2024-03-21)",
  "ashtakvarga": "मेष: 31, वृषभ: 31, मिथुन: 27, कर्क: 29, सिंह: 21, कन्या: 31, तुला: 29, वृश्चिक: 33, धनु: 33, मकर: 19, कुंभ: 24, मीन: 28"
}
            

POST /api/shadbala

Calculates the 6-fold strength (Shadbala) of the 7 main planets, returning points in Virupas and standard Rupas (out of 60).

Request Parameters: Same as /api/astro

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "sun": {
      "name": "सूर्य",
      "sthana_bala": 30,
      "dig_bala": 50,
      "kala_bala": 60,
      "cheshta_bala": 30,
      "naisargika_bala": 60,
      "drik_bala": 30,
      "total_virupas": 260,
      "total_rupas": 4.33
    }
  }
}
            

POST /api/dasha/ashtottari

Calculates the 108-year Ashtottari Dasha system using the 28 Nakshatra scheme. Returns up to 5 levels of Dasha chains based on targetDate.

Request Parameters: Same as /api/dasha

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "dashaSystem": "Ashtottari Dasha (108 Years)",
    "moonNirayana": 306.11,
    "startingNakshatra28": 24,
    "dashas": [
      {
        "lord": "गुरु",
        "start": "1990-01-01T05:00:00.000Z",
        "end": "2009-01-01T05:00:00.000Z",
        "isActive": false
      }
      // ... more active dashas
    ]
  }
}
            

POST /api/dasha/yogini

Calculates the 36-year Yogini Dasha system. Returns the active Yoginis (Mangla, Pingla, Dhanya, etc.) and their respective planetary lords.

Request Parameters: Same as /api/dasha

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "dashaSystem": "Yogini Dasha (36 Years)",
    "moonNirayana": 306.11,
    "startingNakshatra": 23,
    "dashas": [
      {
        "yogini": "सिद्धा",
        "lord": "शुक्र",
        "start": "1990-01-01T05:00:00.000Z",
        "end": "1997-01-01T05:00:00.000Z",
        "isActive": false
      }
      // ... more active dashas
    ]
  }
}
            

POST /api/bhavachalit

Calculates the Bhava Chalit chart using the Sri Pati (Porphyry) house system based on the exact degree of the Ascendant (1st house) and Midheaven (10th house).

Request Parameters: Same as /api/astro

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}

Example Response (200 OK)

{
  "status": "success",
  "data": [
    {
      "house": 1,
      "start": 305.12,
      "cusp": 312.14,
      "end": 319.16,
      "planets": [
        { "name": "चंद्र", "degree": 306.11 }
      ]
    }
    // ... 11 more houses
  ]
}
            

POST /api/chart/svg

Generates High-Definition SVG charts in North Indian or South Indian format for any Varga.

Additional Parameters

style: "north" or "south" (Defaults to "north")

varga: "D1", "D9", "D10", etc. (Defaults to "D1")

Response

Returns: Content-Type: image/svg+xml

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" ...>
   <style>...</style>
   <rect width="600" height="600" class="bg" />
   <text x="300" y="260" class="text-planet">सूर्य</text>
   ...
</svg>
            

POST /api/lalkitab

Calculates the Lal Kitab Kundli where Lagna is always considered Aries (1st house) and planets are placed in their respective birth houses relative to the natal Lagna.

Request Parameters: Same as /api/astro

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 1,
  "hour": 12,
  "minute": 0,
  "latitude": 28.6139,
  "longitude": 77.2090,
  "timezoneOffset": 5.5
}
                

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "lagna": { "house": 1, "rashi": 1 },
    "planets": {
      "sun": {
        "name": "सूर्य",
        "house": 6,
        "rashi": 6
      }
      // ... other planets
    }
  }
}
            

POST /api/numerology

Calculates key numerological values including Radical Number (Moolank), Destiny Number (Bhagyank), and Name Number (Namank) using Chaldean numerology.

Request Parameters: Same as /api/astro, plus an optional name string.

Code Examples

{
  "year": 1990,
  "month": 1,
  "day": 15,
  "name": "Jane Doe"
}
                

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "radicalNumber": 6,
    "destinyNumber": 8,
    "nameNumber": 2,
    "details": {
      "moolank": 6,
      "bhagyank": 8,
      "namank": 2
    }
  }
}
            

POST /api/reverse

Reverse Astrology Engine (Nashta Jataka): Finds matching Date/Time periods when a specific set of planetary placements occurred within a given year range. Supports all 9 planets (sun, moon, mars, mercury, jupiter, venus, saturn, rahu, ketu) and Ascendant (lagna).

You must provide either targetDegrees, targetRashis (1-12), or targetNakshatras (1-27). Optional parameter margin (Float) defines the allowed variance for exact degree matching (Defaults to 1.0). If searching for Lagna, latitude and longitude are required.

Code Examples

{
  "targetDegrees": {
    "sun": 256.96,
    "moon": 308.89,
    "jupiter": 71.30,
    "saturn": 261.81
  },
  "startYear": 1980,
  "endYear": 2000,
  "margin": 0.5
}
                

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "matches": [
      {
        "matchedDate": "1990-01-01T00:00:00.000Z",
        "accuracy": "Exact Rashi match started"
      }
    ],
    "totalFound": 1
  }
}
            

POST /api/sankranti

Dynamic Sankranti Engine: Finds the exact moment (down to the second) when the Sun enters a specific Rashi (Zodiac sign), utilizing a highly optimized algorithm.

You must provide year (Integer) and rashiIndex (Integer, 0 to 11). 0 corresponds to Aries/Mesh, 9 corresponds to Capricorn/Makar.

Code Examples

{
  "year": 2026,
  "rashiIndex": 9
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "year": 2026,
    "month": 1,
    "date": 14,
    "hour": 9,
    "minute": 24,
    "second": 38,
    "rashiName": "Capricorn (Makar)",
    "targetDegree": 270,
    "actualLongitude": 270.00000986757135,
    "timestampUTC": "2026-01-14T09:24:38.000Z"
  }
}
            

POST /api/transit/nakshatra

Finds the exact IST time (down to the second) when a specified planet enters a target Nakshatra. Uses dynamic Topocentric elevation for exact precision.

Parameters: planet (String: sun, moon, mars, mercury, jupiter, venus, saturn), nakshatraIndex (Integer: 0 to 26), startYear, startMonth, startDay (IST time), lat, lon.

Code Examples

{
  "planet": "moon",
  "nakshatraIndex": 3,
  "startYear": 2024,
  "startMonth": 5,
  "startDay": 1,
  "lat": 28.6139,
  "lon": 77.2090
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "planet": "moon",
    "nakshatraName": "Rohini",
    "targetDegree": 40,
    "actualLongitude": 40.0000001,
    "observer": {
      "lat": 28.6139,
      "lon": 77.209,
      "elevation": 218
    },
    "timestampUTC": "2024-05-09T06:21:10.000Z",
    "timestampIST": "09/05/2024, 11:51:10 am"
  }
}
            

POST /api/transit/rashi

Finds the exact IST time (down to the second) when a specified planet enters a target Rashi (Zodiac Sign). Uses dynamic Topocentric elevation for exact precision.

Parameters: planet (String: sun, moon, mars, mercury, jupiter, venus, saturn), rashiIndex (Integer: 0 to 11), startYear, startMonth, startDay (IST time), lat, lon.

Code Examples

{
  "planet": "jupiter",
  "rashiIndex": 1,
  "startYear": 2024,
  "startMonth": 1,
  "startDay": 1,
  "lat": 19.0760,
  "lon": 72.8777
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "planet": "jupiter",
    "rashiName": "Taurus (Vrishabha)",
    "targetDegree": 30,
    "actualLongitude": 30.0000001,
    "observer": {
      "lat": 19.076,
      "lon": 72.8777,
      "elevation": 14
    },
    "timestampUTC": "2024-05-01T08:24:00.000Z",
    "timestampIST": "01/05/2024, 01:54:00 pm"
  }
}
            

POST /api/weather/saptnadi

Sapt Nadi Chakra Microservice: Calculates the exact Sidereal Longitudes for all 9 planets using the 28 Nakshatra system (including Abhijit). Maps each planet to the 7 Nadis (Chanda, Vata, Bhairavi, Somya, Neera, Jala, Amrita) and implements the "Nadi Lord" amplification rule. Returns fluent Hindi effects based on whether the planet occupies its own Nadi.

Parameters: dateIST (String: exactly "DD/MM/YYYY, HH:MM:SS AM/PM").

Code Examples

{
  "dateIST": "25/06/2026, 12:00:00 PM"
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "dateIST": "25/06/2026, 12:00:00 PM",
    "planets": [
      {
        "planet": "Moon (चन्द्रमा)",
        "longitude": 125.5,
        "nakshatra": "Magha (मघा)",
        "nadi": "Amrita (अमृत)",
        "isLordInOwnNadi": true,
        "effect": "अमृत नाड़ी का स्वामी चन्द्रमा अपनी ही नाड़ी में स्थित है। यह 'स्वग्रही' प्रभाव उत्पन्न कर रहा है, जिसके फलस्वरूप अत्यंत भारी वर्षा और जलभराव की प्रबल संभावना है।"
      }
    ]
  }
}
            

POST /api/weather/rain

Advanced Medini Jyotish (Astro-Meteorology) Engine: Predicts the probability of rain (0 to 100%) based on highly mathematical rules from the "Prachin Varsha Vigyan" (Brihat Samhita). It evaluates the 195-day Megh Garbha theory, local Topocentric 4th House (Weather House) jalansh, Sapt Nadi Chakra (28 Nakshatras), Planetary Ecliptic Latitudes (Shar), and Ardra Pravesh.

Parameters: dateIST (String), lat (Float), lon (Float).

Code Examples

{
  "dateIST": "25/06/2026, 12:00:00 PM",
  "lat": 28.6139,
  "lon": 77.2090
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "location": {
      "lat": 28.6139,
      "lon": 77.209
    },
    "dateIST": "25/06/2026, 12:00:00 PM",
    "rainProbabilityPercentage": 85,
    "contributingFactors": [
      "मेघ गर्भ सिद्धान्त: आज से 195 दिन पूर्व जल तत्व के ग्रहों की स्थिति अनुकूल थी, जो आज वर्षा का प्रबल सूचक है।",
      "स्थानीय मौसम भाव: आपके शहर के चतुर्थ भाव में पूर्ण जलीय राशि है।",
      "ग्रह प्रभाव: मौसम भाव में पूर्ण जलीय ग्रह स्थित हैं।",
      "ग्रह अक्षांश (शर): शुक्र या चन्द्रमा का अक्षांश उत्तर दिशा में है, जो वर्षा लाने में सहायक है।",
      "आर्द्रा प्रवेश: सूर्य आर्द्रा नक्षत्र में है जो मानसून सक्रिय होने का सूचक है।"
    ]
  }
}
            

POST /api/matchmaking/ashtakoot

Ultra-Advanced Ashtakoot Milan Engine: Calculates the standard 36-point Kundli Matchmaking score while strictly implementing the complex Dosha Parihara (Cancellation Rules) for Bhakoot (evaluating Rashi lords/mutual friends) and Nadi (evaluating same Nakshatra/different Pada or same Rashi/different Nakshatra). Returns comprehensive point breakdowns, Parihara logic, and detailed Hindi astrological descriptions.

Parameters: boyProfile and girlProfile objects containing dateIST, lat, and lon.

Code Examples

{
  "boyProfile": {
    "dateIST": "15/08/1990, 10:30:00 AM",
    "lat": 28.6139,
    "lon": 77.2090
  },
  "girlProfile": {
    "dateIST": "20/11/1992, 02:45:00 PM",
    "lat": 19.0760,
    "lon": 72.8777
  }
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "profiles": {
      "boy": {
        "rashi": "Vrishabha (वृषभ)",
        "nakshatra": "Rohini (रोहिणी)",
        "longitude": 48.25
      },
      "girl": {
        "moonSign": "कन्या",
        "nakshatra": "हस्त",
        "pada": 1
      }
    },
    "ashtakootScore": {
      "varna": {
        "score": 1,
        "max": 1,
        "hasDosha": false,
        "pariharaApplied": false,
        "note": "लड़के का वर्ण लड़की के वर्ण के समान या उच्च है, अतः यह शुभ है।"
      },
      "bhakoot": {
        "score": 7,
        "max": 7,
        "hasDosha": false,
        "pariharaApplied": true,
        "note": "अशुभ नवपंचम (9-5) भकूट होने के बावजूद, राशि स्वामियों (शुक्र व बुध) में गहरी मित्रता होने के कारण भकूट दोष का परिहार (Cancellation) हो गया है। पूरे ७ अंक।"
      },
      "nadi": {
        "score": 0,
        "max": 8,
        "hasDosha": true,
        "pariharaApplied": false,
        "note": "दोनों की नाड़ी एक समान है, जो महा नाड़ी दोष (० अंक) उत्पन्न करता है। यह स्वास्थ्य और आनुवंशिक दृष्टि से हानिकारक माना जाता है, तथा इसका कोई परिहार लागू नहीं हो रहा है।"
      }
      // ... include all 8 kootas
    },
    "totalScore": 24,
    "finalConclusion": "कुल अंक (24) पर्याप्त हैं, परंतु नाड़ी दोष उपस्थित होने के कारण यह एक मध्यम मिलान है। किसी विद्वान ज्योतिषी से सूक्ष्म कुण्डली विश्लेषण आवश्यक है।"
  }
}
          

POST /api/milan-ai

Milan-AI Engine: Designed specifically for AI/LLM consumption, this endpoint provides ultra-compressed, token-optimized Astrological profiles for both the Boy and Girl. It combines Natal planetary details (D1 & D9), real-time Gochar (transit) data, Vimshottari Dasha chains, and Sarvashtakvarga (SAV) points, superimposed with the Advanced Ashtakoot Matchmaking (with Dosha Parihara) scores into a single payload.

Parameters: boyProfile and girlProfile objects containing dateIST, lat, and lon.

Code Examples

{
  "boyProfile": {
    "dateIST": "15/05/1990, 10:30:00 AM",
    "lat": 28.6139,
    "lon": 77.2090
  },
  "girlProfile": {
    "dateIST": "20/08/1992, 04:45:00 PM",
    "lat": 19.0760,
    "lon": 72.8777
  }
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "boyProfile": {
      "lagna": "rashi: कर्क, nakshatra: पुष्य, charan: 2, navamsha_d9_rashi: कन्या",
      "planets": [
        "name: सूर्य, rashi: वृषभ, bhav: 11, chalit_bhav: 11, rashi_awastha: शत्रु, navamsha_d9_rashi: मकर, navamsha_d9_awastha: शत्रु, gochar_rashi: मीन, gochar_bhav_lagna: 9, gochar_bhav_moon: 4, motion: मार्गी"
        // ... all planets
      ],
      "dasha": "mahadasha: राहु (ends: 2030-05-20), antardasha: शुक्र (ends: 2026-12-07), pratyantar: शनि (ends: 2026-05-02)",
      "ashtakvarga": "मेष: 30, वृषभ: 31, मिथुन: 22, कर्क: 23, सिंह: 27, कन्या: 28, तुला: 31, वृश्चिक: 29, धनु: 31, मकर: 25, कुंभ: 30, मीन: 29"
    },
    "girlProfile": {
      "lagna": "rashi: धनु, nakshatra: उत्तराषाढ़ा, charan: 1, navamsha_d9_rashi: धनु",
      "planets": [
        "name: सूर्य, rashi: सिंह, bhav: 9, chalit_bhav: 8, rashi_awastha: मूलत्रिकोण, navamsha_d9_rashi: वृषभ, navamsha_d9_awastha: शत्रु, gochar_rashi: मीन, gochar_bhav_lagna: 4, gochar_bhav_moon: 12, motion: मार्गी"
        // ... all planets
      ],
      "dasha": "mahadasha: राहु (ends: 2040-06-12), antardasha: गुरु (ends: 2027-07-19)",
      "ashtakvarga": "मेष: 23, वृषभ: 36, मिथुन: 36, कर्क: 22, सिंह: 20, कन्या: 30, तुला: 25, वृश्चिक: 27, धनु: 27, मकर: 26, कुंभ: 30, मीन: 34"
    },
    "matchmaking": {
      "totalScore": 34,
      "outOf": 36,
      "finalConclusion": "विवाह के लिए यह मिलान अत्यंत शुभ है। यद्यपि प्रारंभिक दोष थे, परंतु भकूट दोष का परिहार होने के कारण वैवाहिक जीवन में तालमेल और सुख उत्तम रहेगा।",
      "kootDetails": {
        "varna": {
          "score": 1,
          "max": 1,
          "hasDosha": false,
          "pariharaApplied": false,
          "note": "लड़के का वर्ण लड़की के वर्ण के समान या उच्च है, अतः यह शुभ है।"
        },
        "bhakoot": {
          "score": 7,
          "max": 7,
          "hasDosha": false,
          "pariharaApplied": true,
          "note": "अशुभ नवपंचम (9-5) भकूट होने के बावजूद, राशि स्वामियों (गुरु व मंगल) में गहरी मित्रता होने के कारण भकूट दोष का परिहार (Cancellation) हो गया है। पूरे ७ अंक।"
        }
        // ... other koots
      }
    }
  }
}
            

POST /api/matchmaking/synastry

Advanced Matchmaking Engine: Goes beyond 36-point Ashtakoot by implementing Deep Synastry (Superimposition) and Navamsha (D9) matching. Calculates Sidereal Lagna, identifies the 7th Lord, and checks the exact house placements of each partner's 7th Lord in the other's Kundali.

Parameters: boyProfile and girlProfile objects containing dateIST (String: "DD/MM/YYYY, HH:MM:SS AM/PM"), lat (Float), and lon (Float).

Code Examples

{
  "boyProfile": {
    "dateIST": "15/05/1990, 10:30:00 AM",
    "lat": 28.6139,
    "lon": 77.2090
  },
  "girlProfile": {
    "dateIST": "20/08/1992, 04:45:00 PM",
    "lat": 19.0760,
    "lon": 72.8777
  }
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "advancedCompatibilityScore": 65,
    "specialYogas": [
      "Boy's Saptamesh (saturn) is in Girl's 10th House (Auspicious).",
      "Girl's Saptamesh (moon) is in Boy's 11th House (Auspicious)."
    ],
    "boyDetails": {
      "lagnaRashi": "Cancer",
      "lagnaNavamsha": "Scorpio",
      "saptameshLord": "saturn",
      "saptameshRashi": "Capricorn",
      "saptameshNavamsha": "Taurus",
      "venusNavamsha": "Pisces"
    },
    "girlDetails": {
      "lagnaRashi": "Capricorn",
      "lagnaNavamsha": "Aries",
      "saptameshLord": "moon",
      "saptameshRashi": "Taurus",
      "saptameshNavamsha": "Virgo",
      "venusNavamsha": "Leo"
    },
    "synastryMapping": {
      "boyLordInGirlChartHouse": 10,
      "girlLordInBoyChartHouse": 11
    }
  }
}
            

POST /api/bnn/yogas

Bhrigu Nandi Nadi (BNN) Yogas Engine: Calculates the Nirayana (Sidereal) Rashi positions of the 9 core planets (without Lagna dependence) and evaluates classic BNN Yogas based on planetary Conjunctions, Trines (1-5-9 rule), and 2-12/7th relationships. Returns results with fluent Hindi predictions.

Parameters: dateString (String: "YYYY-MM-DD" or "YYYY-MM-DDTHH:mm:ss").

Code Examples

{
  "dateString": "1990-01-01"
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "planetaryPositions": {
      "Sun": "धनु",
      "Moon": "मकर",
      "Mars": "वृश्चिक",
      "Mercury": "मकर",
      "Jupiter": "मिथुन",
      "Venus": "मकर",
      "Saturn": "धनु",
      "Rahu": "मकर",
      "Ketu": "कर्क"
    },
    "bhriguYogas": [
      {
        "planetsInvolved": "बुध (Mercury) और शुक्र (Venus)",
        "relationship": "युति (Conjunction)",
        "yogaName": "वाणिज्य-धन योग",
        "prediction": "व्यापार और वाणिज्य में अपार सफलता प्राप्त होगी। संचार और कला के क्षेत्र से लाभ होगा।"
      }
    ]
  }
}
            

POST /api/bnn/timing

Bhrigu Nandi Nadi (BNN) Timing Engine: Implements the Jupiter Progression (Jiva Karaka) methodology. Calculates which sign the Progressed Jupiter occupies at a specific age (progressing 1 sign per year) and evaluates transiting planetary influences (Conjunctions/Trines) for yearly predictions.

Parameters: dateString (String) and targetAge (Integer).

Code Examples

{
  "dateString": "1990-01-01",
  "targetAge": 30
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "targetAge": 30,
    "progressedJupiterSign": "धनु",
    "impactingPlanets": [
      {
        "planet": "सूर्य (Sun)",
        "relationship": "युति (Conjunction)",
        "effect": "मान-सम्मान में वृद्धि, सरकारी या पिता से जुड़े कार्यों में लाभ"
      },
      {
        "planet": "शनि (Saturn)",
        "relationship": "युति (Conjunction)",
        "effect": "कर्म क्षेत्र में नई ज़िम्मेदारी, कार्य में मेहनत और स्थिरता"
      }
    ],
    "prediction": "आयु 30 वर्ष में प्रोग्रेस्ड गुरु (Jiva Karaka) धनु राशि में गोचर करेगा। इस वर्ष निम्न ग्रहों का प्रभाव जीवन पर रहेगा: सूर्य (Sun) (युति (Conjunction)), शनि (Saturn) (युति (Conjunction))। परिणामस्वरूप: मान-सम्मान में वृद्धि, सरकारी या पिता से जुड़े कार्यों में लाभ तथा कर्म क्षेत्र में नई ज़िम्मेदारी, कार्य में मेहनत और स्थिरता।"
  }
}
            

POST /api/bnn/career-marriage

Bhrigu Nandi Nadi (BNN) Career & Marriage Engine: Determines Career trajectory via Saturn's (Karma Karaka) trines and conjunctions. Determines Marriage outcomes and partner characteristics via Venus (for males) or Mars (for females) and their respective trines/conjunctions.

Parameters: dateString (String) and gender (String: 'male' or 'female').

Code Examples

{
  "dateString": "1990-01-01",
  "gender": "male"
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "career": {
      "karaka": "शनि (Saturn)",
      "impactingPlanets": [
        {
          "planet": "सूर्य (Sun)",
          "relationship": "युति (Conjunction)",
          "effect": "सरकारी नौकरी या उच्च पद पर आसीन होने की प्रबल संभावना"
        }
      ],
      "prediction": "कर्म कारक शनि गोचर और युति के आधार पर: आपके कर्म भाव पर सूर्य (Sun) का प्रभाव है। परिणामस्वरूप: सरकारी नौकरी या उच्च पद पर आसीन होने की प्रबल संभावना।"
    },
    "marriage": {
      "karaka": "शुक्र (Venus)",
      "impactingPlanets": [
        {
          "planet": "चंद्र (Moon)",
          "relationship": "युति (Conjunction)",
          "effect": "जीवनसाथी भावुक, संवेदनशील और सुंदर होगा"
        },
        {
          "planet": "बुध (Mercury)",
          "relationship": "युति (Conjunction)",
          "effect": "जीवनसाथी युवा, हंसमुख और बुद्धिमान होगा"
        },
        {
          "planet": "राहु (Rahu)",
          "relationship": "युति (Conjunction)",
          "effect": "विवाह में गैर-पारंपरिक या अलग पृष्ठभूमि से जुड़ाव हो सकता है"
        }
      ],
      "prediction": "विवाह कारक शुक्र गोचर और युति के आधार पर: विवाह भाव पर चंद्र (Moon), बुध (Mercury), राहु (Rahu) का प्रभाव है। परिणामस्वरूप: जीवनसाथी भावुक, संवेदनशील और सुंदर होगा तथा जीवनसाथी युवा, हंसमुख और बुद्धिमान होगा तथा विवाह में गैर-पारंपरिक या अलग पृष्ठभूमि से जुड़ाव हो सकता है।"
    }
  }
}
            

POST /api/mandochch

3D Space Planetary State Engine: Calculates the true Mandochch (Apogee/Aphelion) and Mandneech (Perigee/Perihelion) states of the 7 main planets based on their exact Distance (Radius Vector in AU) and Velocity. Planets that are extremely slow and far away (Mandochch) give deep, long-lasting effects, while fast and close planets (Mandneech) give sudden, fast-acting results.

Parameters: dateString (String: "YYYY-MM-DD" or "YYYY-MM-DDTHH:mm:ss").

Code Examples

{
  "dateString": "2024-03-20"
}
                        

Example Response (200 OK)

{
  "status": "success",
  "data": {
    "sun": {
      "name": "सूर्य",
      "distanceAU": 0.99577,
      "speedDegreesPerDay": 0.99409,
      "latitudeDegrees": 0.00131,
      "astronomicalState": "सामान्य स्थिति (Normal State)",
      "astrologicalEffect": "ग्रह की गति और दूरी सामान्य है। इसका प्रभाव संतुलित रहेगा।"
    },
    "mercury": {
      "name": "बुध",
      "distanceAU": 1.03691,
      "speedDegreesPerDay": 1.52356,
      "latitudeDegrees": 1.4039,
      "astronomicalState": "मन्दोच्च (Mandochcha / Apogee)",
      "astrologicalEffect": "वर्तमान में बुध पृथ्वी से अत्यंत दूर (मन्दोच्च) है और इसकी गति धीमी है। इसका प्रभाव आपके जीवन में बहुत गहरा, स्थायी और लंबे समय तक चलने वाला होगा।"
    }
  }
}