AstroNest Developer API

Guna Milan and kundli matching API

Send two birth charts; get the full Aṣṭakūṭa guna milan (all eight kūṭas and the 36-point total), Manglik status from the lagna, the Moon and Venus with mutual cancellation, and the nakṣatra and sign of each partner.

When a score alone is not enough, the compatibility endpoint returns the full reading: what governs the match, when it overrides the score, and when both charts' periods open together.

POST /v1/guna-milan · 2 credits

Guna Milan (36-point Aṣṭakūṭa) and Manglik

The classical Aṣṭakūṭa match for a pair (all eight kūṭas, with the Bhakoot and Nāḍī doṣas) and Manglik for both charts reckoned from the lagna, the Moon and Venus, with mutual cancellation. The same engine as /v1/compatibility, without the full reading: the score is one input, and /v1/compatibility reads each chart's marital promise, timing and doṣas on top of it. Deterministic, no language model.

Request (works as-is with a sandbox key):

curl -X POST https://www.astronest.ai/api/developer/v1/guna-milan \
  -H "Authorization: Bearer astro_sandbox_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209,"name":"A"},"b":{"date":"1991-11-03","time":"06:10","timezone":"Asia/Kolkata","latitude":19.076,"longitude":72.8777,"name":"B"}}'

Response (sandbox sample, long lists shortened):

{
  "requestId": "sandbox",
  "engineVersion": "astro-nest-v1-public",
  "timestamp": "2026-10-11T19:44:27.900Z",
  "domain": "guna_milan",
  "usage": {
    "units_charged": 0,
    "remaining_credits": 0
  },
  "disclaimer": "Symbolic interpretation only. Not medical, legal, financial, or psychological advice.",
  "partners": {
    "a": {
      "name": "A",
      "birth": "1990-05-12 · 14:35",
      "moonNakshatra": "Jyeshtha",
      "moonSign": "Scorpio"
    },
    "b": {
      "name": "B",
      "birth": "1991-11-03 · 06:10",
      "moonNakshatra": "Uttara Phalguni",
      "moonSign": "Virgo"
    }
  },
  "roles": {
    "groom": "a",
    "bride": "b",
    "basis": "No genders given: A is read as the groom and B as the bride (Varṇa is counted from the groom). Send gender to set it."
  },
  "gunaMilan": {
    "totalGunas": 17.5,
    "kutas": [
      {
        "name": "Varna",
        "score": 1,
        "max": 1,
        "note": "Moon signs by element — groom water, bride earth. The classical ordering is satisfied (1). This kūṭa grades the Moon signs by element; it says nothing about either person’s community, and must not be presented as if it did."
      },
      {
        "name": "Vashya",
        "score": 1,
        "max": 2,
        "note": "Keeta / Manava (whole-sign group approximation)."
      },
      {
        "name": "Tara",
        "score": 1.5,
        "max": 3,
        "note": "remainders 7/4 — one auspicious."
      },
      "… 5 more"
    ],
    "bhakootDosha": {
      "present": false,
      "cancelled": false,
      "reason": null
    },
    "nadiDosha": {
      "present": true,
      "cancelled": false,
      "reason": "Nāḍī dosha — both in Adi nāḍī (the gravest kūṭa; bears on progeny + health of the bond)."
    },
    "interpretation": "17.5/36 — a weak numerical match. This is ONE input (necessary, not sufficient): the promise, sustainability and happiness layers govern the final read and can override it. Nāḍī dosha stands — treat with weight."
  },
  "manglik": {
    "a": {
      "present": false,
      "strength": "none",
      "mitigations": [],
      "cancelledBy": [
        {
          "rule": "Mars in Aquarius does not create the doṣa",
          "sources": [
            "How to Judge a Horoscope Vol 2 (B V Raman)",
            "Marriage and Children Lessons"
          ]
        }
      ],
      "note": "NOT Manglik. Mars would carry the doṣa from Moon and Venus (reckoned from lagna 6th — clean; Moon 4th — carries; Venus 12th — carries), but it is cancelled: Mars in Aquarius does not create the doṣa (How to Judge a Horoscope Vol 2 (B V Rama…",
      "reckonings": [
        {
          "from": "lagna",
          "house": 6,
          "present": false,
          "strength": "none"
        },
        {
          "from": "Moon",
          "house": 4,
          "present": true,
          "strength": "strong"
        },
        {
          "from": "Venus",
          "house": 12,
          "present": true,
          "strength": "strong"
        }
      ]
    },
    "b": {
      "present": true,
      "strength": "strong",
      "mitigations": [],
      "cancelledBy": [],
      "note": "Mars carries the doṣa from lagna and Moon (Mars in Libra) — Manglik doṣa (reckoned from lagna 1st — carries; Moon 2nd — carries; Venus 3rd — clean). Softened, not cancelled: Jupiter aspects the 7th (Predictive Astrology Part I; Bhasin). Som…",
      "reckonings": [
        {
          "from": "lagna",
          "house": 1,
          "present": true,
          "strength": "strong"
        },
        {
          "from": "Moon",
          "house": 2,
          "present": true,
          "strength": "partial"
        },
        {
          "from": "Venus",
          "house": 3,
          "present": false,
          "strength": "none"
        }
      ]
    },
    "cancelled": false,
    "reason": "Chart B is Manglik and the partner is not — the dosha stands and must be weighed for the union's longevity.",
    "points": {
      "variation": 5.1,
      "balanced": false,
      "heavier": "B",
      "note": "Kuja points (Raman's table, Trivedi's method; from the lagna): A 25, B 152.5 — variation 510%; beyond 25%: unbalanced, Chart B carries more. A comparison to weigh, not a cancellation."
    },
    "pointsTotals": {
      "a": 25,
      "b": 152.5
    }
  },
  "note": "The 36-point score is one input, not the verdict. /v1/compatibility reads each chart's marital promise, timing and doshas on top of it."
}

Every field: /v1/guna-milan in the reference.

POST /v1/compatibility · 12 credits

Marriage compatibility: the full reading

Both charts read together for marriage. The 36-point Aṣṭakūṭa (guna milan) is one input: the verdict names the governing factor and says when it outweighs the score. Also returned: each chart's marital promise, sustainability and happiness, progeny, Manglik reckoned from the lagna, the Moon and Venus with mutual cancellation, a joint marriage-timing window, synastry, and caveats where an uncertain birth time would change the reading. Deterministic: no language model is called. Each partner is a BirthData object plus optional `name` and `gender`.

Request (works as-is with a sandbox key):

curl -X POST https://www.astronest.ai/api/developer/v1/compatibility \
  -H "Authorization: Bearer astro_sandbox_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209,"name":"A"},"b":{"date":"1991-11-03","time":"06:10","timezone":"Asia/Kolkata","latitude":19.076,"longitude":72.8777,"name":"B"}}'

Response (sandbox sample, long lists shortened):

{
  "requestId": "sandbox",
  "engineVersion": "astro-nest-v1-public",
  "timestamp": "2026-10-11T19:44:27.428Z",
  "domain": "compatibility",
  "usage": {
    "units_charged": 0,
    "remaining_credits": 0
  },
  "disclaimer": "Symbolic interpretation only. Not medical, legal, financial, or psychological advice.",
  "compatibility": {
    "generatedAtIso": "2026-10-11T19:44:26.034Z",
    "chartA": {
      "name": "A",
      "birth": "1990-05-12 · 14:35"
    },
    "chartB": {
      "name": "B",
      "birth": "1991-11-03 · 06:10"
    },
    "verdict": {
      "classification": "discussion_only",
      "plainLabel": "Serious reservations",
      "governingFactor": "Marital promise carries a denial/delay indicator: Venus at a critical (sandhi) degree — a serious marital-promise affliction the guna score cannot see",
      "scoreVsAnalysis": "aligned",
      "whereAligned": "The kūṭas that scored (Varna, Graha Maitri, Bhakoot) show genuine common ground.",
      "whereItTakesWork": "Marital promise carries a denial/delay indicator: Venus at a critical (sandhi) degree — a serious marital-promise affliction the guna score cannot see",
      "plainly": "Even at 17.5/36, the governing factor needs to be addressed before this is a clear yes: Marital promise carries a denial/delay indicator: Venus at a critical (sandhi) degree — a serious marital-promise affliction the guna score cannot see"
    },
    "gunaMilan": {
      "totalGunas": 17.5,
      "kutas": [
        {
          "name": "Varna",
          "score": 1,
          "max": 1,
          "note": "Moon signs by element — groom water, bride earth. The classical ordering is satisfied (1). This kūṭa grades the Moon signs by element; it says nothing about either person’s community, and must not be presented as if it did."
        },
        {
          "name": "Vashya",
          "score": 1,
          "max": 2,
          "note": "Keeta / Manava (whole-sign group approximation)."
        },
        {
          "name": "Tara",
          "score": 1.5,
          "max": 3,
          "note": "remainders 7/4 — one auspicious."
        },
        "… 5 more"
      ],
      "bhakootDosha": {
        "present": false,
        "cancelled": false,
        "reason": null
      },
      "nadiDosha": {
        "present": true,
        "cancelled": false,
        "reason": "Nāḍī dosha — both in Adi nāḍī (the gravest kūṭa; bears on progeny + health of the bond)."
      },
      "interpretation": "17.5/36 — a weak numerical match. This is ONE input (necessary, not sufficient): the promise, sustainability and happiness layers govern the final read and can override it. Nāḍī dosha stands — treat with weight."
    },
    "sustainability": [
      {
        "scope": "A",
        "kujaDosha": {
          "present": false,
          "cancelled": false,
          "reason": "NOT Manglik. Mars would carry the doṣa from Moon and Venus (reckoned from lagna 6th — clean; Moon 4th — carries; Venus 12th — carries), but it is cancelled: Mars in Aquarius does not create the doṣa (How to Judge a Horoscope Vol 2 (B V Rama…",
          "reckonings": [
            "{…}",
            "{…}",
            "{…}"
          ]
        },
        "longevityOfUnion": "No Kuja affliction to longevity from this chart; read the 7th-lord + 8th for staying power.",
        "valence": "favourable"
      },
      {
        "scope": "B",
        "kujaDosha": {
          "present": true,
          "cancelled": false,
          "reason": "Mars carries the doṣa from lagna and Moon (Mars in Libra) — Manglik doṣa (reckoned from lagna 1st — carries; Moon 2nd — carries; Venus 3rd — clean). Softened, not cancelled: Jupiter aspects the 7th (Predictive Astrology Part I; Bhasin). Som…",
          "reckonings": [
            "{…}",
            "{…}",
            "{…}"
          ]
        },
        "longevityOfUnion": "Mars carries the doṣa from lagna and Moon (Mars in Libra) — Manglik doṣa (reckoned from lagna 1st — carries; Moon 2nd — carries; Venus 3rd — clean). Softened, not cancelled: Jupiter aspects the 7th (Predictive Astrology Part I; Bhasin). Som…",
        "valence": "challenge"
      },
      {
        "scope": "combined",
        "kujaDosha": {
          "present": true,
          "cancelled": false,
          "reason": "Chart B is Manglik and the partner is not — the dosha stands and must be weighed for the union's longevity."
        },
        "longevityOfUnion": "Chart B is Manglik and the partner is not — the dosha stands and must be weighed for the union's longevity. Kuja points (Raman's table, Trivedi's method; from the lagna): A 25, B 152.5 — variation 510%; beyond 25%: unbalanced, Chart B carri…",
        "valence": "challenge"
      }
    ],
    "happiness": [
      {
        "scope": "A",
        "domesticPeace": "4th house Sagittarius; lord Jupiter in Gemini (house 10), enemy — domestic sukha.",
        "emotionalHarmony": "Moon in Scorpio (debilitated), Jyeshtha; Venus in Pisces (exalted) — love + emotional register.",
        "romanceAffection": "Venus (romance kāraka) house 7 — well-disposed for affection.",
        "valence": "caution"
      },
      {
        "scope": "B",
        "domesticPeace": "4th house Capricorn; lord Saturn in Capricorn (house 4), own — domestic sukha.",
        "emotionalHarmony": "Moon in Virgo (friend), Uttara Phalguni; Venus in Leo (enemy) — love + emotional register.",
        "romanceAffection": "Venus (romance kāraka) house 11.",
        "valence": "caution"
      }
    ],
    "promise": [
      {
        "chart": "A",
        "strength": "moderate",
        "seventhHouseAndLord": "7th house Pisces; lord Jupiter in Gemini (house 10), enemy.",
        "navamshaAssessment": "7th-lord Jupiter in D9 Aquarius; kāraka Venus in D9 Scorpio. Navāṁśa (D9) mixed: The D1 and the D9 give a mixed read — Venus is neither clearly strong nor weak across the two. Workable, not decisive.",
        "karaka": "Venus (kāraka) in Pisces, house 7, exalted.",
        "denialOrDelay": null
      },
      {
        "chart": "B",
        "strength": "strong",
        "seventhHouseAndLord": "7th house Aries; lord Mars in Libra (house 1), neutral.",
        "navamshaAssessment": "7th-lord Mars in D9 Pisces; kāraka Venus in D9 Sagittarius. Navāṁśa (D9) mixed: The D1 and the D9 give a mixed read — Venus is neither clearly strong nor weak across the two. Workable, not decisive.",
        "karaka": "Venus (kāraka) in Leo, house 11, enemy.",
        "denialOrDelay": "Venus at a critical (sandhi) degree — a serious marital-promise affliction the guna score cannot see"
      }
    ],
    "progeny": [
      {
        "chart": "A",
        "strength": "tentative",
        "fifthHouseAndLord": "5th house Capricorn; lord Saturn in Capricorn (house 5), own.",
        "saptamshaAssessment": "5th-lord Saturn in D7 Cancer; kāraka Jupiter in D7 Virgo. Saptāṁśa (D7) converging: Both the D1 and the D7 read this as strained — Jupiter is weak in both. The difficulty is confirmed across the charts.",
        "karaka": "Jupiter (progeny kāraka) in Gemini, house 10, enemy.",
        "denialOrDelay": null,
        "putraKaraka": {
          "planet": "Mercury",
          "sign": "Aries",
          "house": 8,
          "dignity": "neutral"
        }
      },
      {
        "chart": "B",
        "strength": "tentative",
        "fifthHouseAndLord": "5th house Aquarius; lord Saturn in Capricorn (house 4), own.",
        "saptamshaAssessment": "5th-lord Saturn in D7 Leo; kāraka Jupiter in D7 Scorpio. Saptāṁśa (D7) converging: The D1 promise is sound and the D7 CONFIRMS it — Jupiter holds up in the D7 too. A well-founded reading, not a D1 artefact.",
        "karaka": "Jupiter (progeny kāraka) in Leo, house 11, friend.",
        "denialOrDelay": null,
        "putraKaraka": {
          "planet": "Saturn",
          "sign": "Capricorn",
          "house": 4,
          "dignity": "own"
        }
      }
    ],
    "timing": {
      "supportsMarriageWindow": true,
      "bothBandsOpen": null,
      "jointHorizonIso": "2027-04-10T15:43:15.954Z",
      "notComputedBecause": null,
      "breakingYogaRisk": "Kuja affliction stands — avoid forcing a window before it is addressed.",
      "windowsComputed": [
        {
          "chart": "A",
          "summary": "Inside the Sun mahādaśā, relationship is run by its own significators from 2027-07-10 onward — it runs past the end of this reading's horizon (2027-10-12), closing 2027-11-15 — the WIDEST such band (antar, Ketu — occupies the 11th), and the…",
          "opensIso": "2027-07-10T04:54:50.304Z",
          "lord": "Ketu",
          "bandFromIso": "2027-07-10T04:54:50.304Z",
          "bandToIso": "2027-11-15T00:57:03.504Z"
        },
        {
          "chart": "B",
          "summary": "Inside the Rahu mahādaśā, relationship is run by its own significators from 2025-12-22 (already running when this reading opens) to 2026-11-16 — the WIDEST such band (antar, Sun — lord of the 11th), and the window to plan inside. The finest…",
          "opensIso": "2026-10-11T19:44:26.037Z",
          "lord": "Sun",
          "bandFromIso": "2025-12-22T17:11:53.644Z",
          "bandToIso": "2026-11-16T10:26:10.444Z"
        }
      ],
      "concurrences": [
        {
          "fromIso": "2026-10-16T17:31:04.074Z",
          "toIso": "2026-11-03T20:09:22.944Z",
          "days": 18,
          "lordA": "Ketu",
          "lordB": "Venus",
          "runningNow": false
        },
        {
          "fromIso": "2026-11-03T20:09:22.944Z",
          "toIso": "2026-11-16T10:26:10.444Z",
          "days": 13,
          "lordA": "Venus",
          "lordB": "Venus",
          "runningNow": false
        },
        {
          "fromIso": "2027-01-10T02:31:41.604Z",
          "toIso": "2027-02-02T01:10:22.744Z",
          "days": 23,
          "lordA": "Moon",
          "lordB": "Mars",
          "runningNow": false
        }
      ],
      "window": null
    },
    "synastryOverlay": [
      {
        "housesOf": "A",
        "grahasOf": "B",
        "fromLagnaSign": "Virgo",
        "placements": [
          "{…}",
          "{…}",
          "{…}",
          "… 6 more"
        ],
        "contacts": [
          "B's Moon falls in A's 1st — the emotional register meeting the self, the home, or the bond."
        ]
      },
      {
        "housesOf": "B",
        "grahasOf": "A",
        "fromLagnaSign": "Libra",
        "placements": [
          "{…}",
          "{…}",
          "{…}",
          "… 6 more"
        ],
        "contacts": [
          "Sun, Mercury of A fall in B's 7th — Sun is a natural malefic on the house of marriage."
        ]
      }
    ],
    "synastryCrossTriggers": [
      {
        "from": "B",
        "onto": "A",
        "label": "Kuja dosha",
        "reason": "Mars carries the doṣa from lagna and Moon (Mars in Libra) — Manglik doṣa (reckoned from lagna 1st — carries; Moon 2nd — carries; Venus 3rd — clean). Softened, not cancelled: Jupiter aspects the 7th (Predictive Astrology Part I; Bhasin). Som…",
        "valence": "challenge"
      },
      {
        "from": "A",
        "onto": "B",
        "label": "Nāḍī dosha",
        "reason": "Nāḍī dosha — both in Adi nāḍī (the gravest kūṭa; bears on progeny + health of the bond).",
        "valence": "challenge"
      },
      {
        "from": "A",
        "onto": "B",
        "label": "Deep marital affliction",
        "reason": "Chart B: Venus at a critical (sandhi) degree",
        "valence": "challenge"
      }
    ],
    "jaimini": [
      {
        "chart": "A",
        "upapada": {
          "sign": "Sagittarius",
          "inHouse": 4,
          "throughLord": "Sun",
          "exceptionApplied": false
        },
        "daraKaraka": {
          "planet": "Saturn",
          "sign": "Capricorn",
          "house": 5,
          "dignity": "own"
        },
        "note": "Upapada in Sagittarius (4th house), carried by Sun; dārakāraka Saturn in Capricorn, 5th house (own)."
      },
      {
        "chart": "B",
        "upapada": {
          "sign": "Capricorn",
          "inHouse": 4,
          "throughLord": "Mercury",
          "exceptionApplied": false
        },
        "daraKaraka": {
          "planet": "Mercury",
          "sign": "Scorpio",
          "house": 2,
          "dignity": "neutral"
        },
        "note": "Upapada in Capricorn (4th house), carried by Mercury; dārakāraka Mercury in Scorpio, 2nd house (neutral)."
      }
    ],
    "birthTimeCaveats": [
      {
        "name": "A",
        "lagna": {
          "stable": false,
          "severity": "high",
          "statedSign": "Virgo",
          "uncertaintyMinutes": 5,
          "candidates": [
            "Leo",
            "Virgo"
          ],
          "note": "The lagna sits 0.40° from a sign boundary. On the time as recorded — Virgo 0.40° — the ascendant is Virgo, and that is what every house below assumes. But the record is precise only to the minute, and about 2 minutes earlier it becomes Leo.…"
        }
      },
      {
        "name": "B",
        "lagna": {
          "stable": true,
          "severity": "none",
          "statedSign": "Libra",
          "uncertaintyMinutes": 5,
          "candidates": [
            "Libra"
          ],
          "note": "The lagna is settled as Libra 8.77° across the recorded ±5 minutes of birth-time uncertainty."
        }
      }
    ],
    "method": {
      "houseSystem": "whole-sign",
      "ayanamsa": "Lahiri (sidereal)",
      "kpCaveat": "KP cuspal sub-lords are computed on a true KP frame — Placidus cusps in the Krishnamurti ayanāṁśa — validated against printed KP charts (5 KP-software charts within 1.7′, 14 hand-cast charts to a 3.7′ median, 176 horary charts ≥ 99% of lord…",
      "divisionals": [
        "D1",
        "D2",
        "D3",
        "… 15 more"
      ],
      "note": "Every verdict is the deterministic engine’s reading of the chart, re-derived and reconciled across independent routes; where one route dissents, or where a verdict rests on nothing, the page says so rather than settling it quietly. Factors …",
      "computationBasis": {
        "coordinates": "28.613900°N, 77.209000°E",
        "timezone": "Asia/Kolkata, UTC+05:30",
        "ayanamsaValue": "Lahiri 23.7224°",
        "ephemeris": "Swiss Ephemeris"
      }
    },
    "corpusResolution": {
      "a": {
        "positions": [
          "{…}",
          "{…}",
          "{…}",
          "… 9 more"
        ],
        "coverage": [
          "{…}",
          "{…}"
        ],
        "withheldCount": 0
      },
      "b": {
        "positions": [
          "{…}",
          "{…}",
          "{…}",
          "… 9 more"
        ],
        "coverage": [
          "{…}",
          "{…}"
        ],
        "withheldCount": 0
      }
    }
  }
}

Every field: /v1/compatibility in the reference.

Why AstroNest

Compatibility beyond the guna score

The 36-point Aṣṭakūṭa is one input. The verdict weighs each chart's marital promise and doṣas, names the governing factor, and says when it overrides the score.

Manglik from the lagna, the Moon and Venus

All three classical reckonings, with mutual cancellation. A chart clean from the lagna can carry the doṣa from the Moon or Venus, and the response shows which.

Joint marriage timing

Compatibility finds when both charts' periods open together, not only whether the two match.

Birth-time sensitivity, stated

Where an uncertain birth time would change the reading, the compatibility response says so.

Pricing

Sandbox keys are free, with no time limit, and return the samples above. A live key starts with 100 free credits; after that you buy credit packs. Each endpoint's cost in credits is shown above. Pricing

Questions

Does it return each kūṭa, or only the total?
Each of the eight kūṭas with its points, plus the total out of 36.
Is a language model involved?
No. Guna milan and the compatibility reading are computed without a language model.
Is it suitable for a dating app?
Yes. Responses describe the dynamics of a match, not a verdict on a person.

Readings are symbolic interpretation, not medical, legal, financial or psychological advice.

More from the API