Compatibility (Guna Milan) - Vedic match-making
Guna Milan is the traditional Vedic compatibility check between two natal charts before marriage. The most common form (Ashtakoot, 8 sections × 36 points) plus several regional variants. AstroWay covers 6 compatibility endpoints.
What we compute
Section titled “What we compute”- Ashtakoot (8-fold Guna Milan): the most common North-Indian method, 36 points across 8 kutas (Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Bhakoot, Nadi).
- Dashakoota (10-fold): South-Indian (Tamil/Malayalam) method, 10 kutas, different category weights.
- Manglik check: both partners scanned for Manglik dosha + cancellation rules (Manglik + Manglik can neutralize).
- Mangal match: detailed strength-of-Mars matching between charts (deeper than presence/absence).
- Bhrigu match: Bhrigu-Bindu technique (subtle compatibility via the midpoint between Moon and Rahu).
- Full: combined report: Ashtakoot (total, threshold, doshas) + Manglik for both partners + the full per-kuta breakdown. Bhrigu-Bindu stays a separate endpoint.
Endpoints
Section titled “Endpoints”| Endpoint | Credits | Description |
|---|---|---|
/v1/vedic/compatibility/ashtakoot | 50 | 8-fold Guna Milan with full breakdown |
/v1/vedic/compatibility/dashakoota | 50 | 10-fold (South India) |
/v1/vedic/compatibility/manglik-check | 20 | Manglik diagnostic for both partners + cancellation |
/v1/vedic/compatibility/mangal-match | 50 | Strength-of-Mars match between charts |
/v1/vedic/compatibility/bhrigu-match | 50 | Bhrigu-Bindu compatibility |
/v1/vedic/compatibility/full | 50 | All methods + aggregate score |
Example
Section titled “Example”curl -X POST https://api.astroway.info/v1/vedic/compatibility/ashtakoot \ -H "X-Api-Key: aw_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "chart1": { "date": "1990-07-14", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.4501, "longitude": 30.5234 }, "chart2": { "date": "1992-03-22", "time": "08:15:00", "timezoneOffset": 3, "latitude": 49.8397, "longitude": 24.0297 }, "ayanamsa": "lahiri" }'const r = await fetch('https://api.astroway.info/v1/vedic/compatibility/full', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY!, 'Content-Type': 'application/json', }, body: JSON.stringify({ chart1: { date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234 }, chart2: { date: '1992-03-22', time: '08:15:00', timezoneOffset: 3, latitude: 49.8397, longitude: 24.0297 }, ayanamsa: 'lahiri', }),});const { data } = await r.json();console.log(`Ashtakoot: ${data.ashtakoot.total}/36 (${data.ashtakoot.threshold})`);console.log(`Manglik p1: ${data.manglik.partner1}, p2: ${data.manglik.partner2}`);console.log(`Verdict: ${data.manglik.verdict}`);import os, requests
r = requests.post( 'https://api.astroway.info/v1/vedic/compatibility/full', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY']}, json={ 'chart1': {'date': '1990-07-14', 'time': '14:30:00', 'timezoneOffset': 3, 'latitude': 50.4501, 'longitude': 30.5234}, 'chart2': {'date': '1992-03-22', 'time': '08:15:00', 'timezoneOffset': 3, 'latitude': 49.8397, 'longitude': 24.0297}, 'ayanamsa': 'lahiri', },)data = r.json()['data']print(f"Ashtakoot: {data['ashtakoot']['total']}/36")print(f"Recommendation: {data['recommendation']}")Both charts go in as chart1 and chart2, not person1/person2.
manglik-check takes one chart; the other five take two.
The /ashtakoot response for the pair above, verbatim:
{ "ok": true, "data": { "method": "ashtakoot", "school": "parashara", "boy": { "moonLongitude": 345.3326285547798, "nakshatra": 26 }, "girl": { "moonLongitude": 203.1845691474199, "nakshatra": 16 }, "total": 13.5, "max": 36, "threshold": "rejected", "points": { "varna": { "score": 1, "max": 1, "boy": "brahmin", "girl": "shudra", "rule": "boy varna >= girl varna → 1pt" }, "vashya": { "score": 1.5, "max": 2, "boyGroup": "jalachara", "girlGroup": "manava" }, "tara": { "score": 1.5, "max": 3, "fromBoyToGirl": 8, "fromGirlToBoy": 1 }, "yoni": { "score": 0, "max": 4, "boyYoni": "cow", "girlYoni": "tigress", "relationship": "bitter-enemy" }, "grahaMaitri": { "score": 0.5, "max": 5, "boyRuler": "Jupiter", "girlRuler": "Venus", "relationship": "E-N" }, "gana": { "score": 1, "max": 6, "boyGana": "manushya", "girlGana": "rakshasa" }, "bhakoot": { "score": 0, "max": 7, "fromBoyToGirl": 8, "fromGirlToBoy": 6, "dosha": "8-6" }, "nadi": { "score": 8, "max": 8, "boyNadi": "madhya", "girlNadi": "antya", "dosha": null, "cancelled": null } }, "doshas": ["Bhakoot Dosha: 8-6"], "recommendation": "rejected (13.5/36), note: Bhakoot Dosha: 8-6; cancellation rules may apply (same-Moon-sign or same-nakshatra exempts Nadi)." }}Accuracy and sources
Section titled “Accuracy and sources”- Ashtakoot: algorithm follows the classical formulation (Northern Indian standard), referenced against Muhurta Chintamani (Ramadayalu Bhattacharya, 16th c.) and modern compendia (B.V. Raman, Hindu Predictive Astrology).
- Dashakoota: South-Indian variant, 10 kutas (adds Rasi-kuta, Stree-Deergha-kuta, etc.). Reference: Jataka Tattva (Mahadeva).
- Bhrigu-Bindu: Bhrigu Pratyantar technique (midpoint of Moon-Rahu axis), popularised by K.N. Rao and his school.
- Manglik cancellation: we use 12 classical cancellation rules (e.g. Mars in Scorpio in 4th cancels; Mars in Cancer in 1st cancels). Full rule list is in docs.
- Sidereal zodiac: Lahiri by default. Raman, Krishnamurti, Fagan-Bradley, Yukteshwar also supported.
- Status: Ashtakoot GREEN (cross-verified against JagannathaHora-3 and Maitreya implementations). Bhrigu-Bindu - YELLOW (school-specific, limited public reference). Full breakdown -
docs/AUDIT-TRAIL.md.
Related
Section titled “Related” Was this helpful?
Thanks for the feedback.