API Reference / Vedic Astrology / Matchmaking (Milan)
/v1/milan/summary
Couple matching data in one call: Ashtakoota with every koota, navamsa compatibility, Mangal dosha of both, 7th-house facts of both (D1, D9, D7), and 10 years of Sade Sati windows for both. include=kundli_facts adds both full charts.
What this tells you
The matchmaking data a compatibility screen needs, in one call and with numbers identical to the separate routes: Ashtakoota with every koota, navamsa compatibility, Mangal dosha of both partners and their pair status, the 7th-house picture of both (D1, D9 7th and D7 5th), and 10 years of Sade Sati windows for both. include=kundli_facts adds both full charts. Ashtakoota and navamsa-compat read each partner's Moon with the ayanamsa of that partner's own birth moment, as every /v1/milan/* route does. Ids only, no localized text: planet ids sun, moon, mars, mercury, jupiter, venus, saturn, rahu, ketu; sign_index is 0-based (0 = Aries … 11 = Pisces); house is the 1-based whole-sign house from the lagna; nakshatra index is 0-based (0 = Ashwini … 26 = Revati).
Request
All requests require an Authorization header with your dv_live_* API key.
curl "https://api.lifeastroapi.com/v1/milan/summary?boy.date=1990-01-15&boy.tz=Asia%2FKolkata&boy.lat=19.076&boy.lon=72.8777&girl.date=1992-03-20&girl.tz=Asia%2FKolkata&girl.lat=28.6139&girl.lon=77.209&boy.time=10%3A30&girl.time=08%3A15&from=2027-01-15" \
-H "Authorization: Bearer YOUR_API_KEY"Query parameters
Checked against the API: a parameter is marked required when the request fails without it.
| Name | Required | Example | Description |
|---|---|---|---|
boy.date | yes | 1990-01-15 | Boy's birth date (YYYY-MM-DD). |
boy.tz | yes | Asia/Kolkata | Boy's birth place timezone: IANA name (Asia/Kolkata) or UTC offset (+05:30). |
boy.lat | yes | 19.076 | Boy's birth place latitude in decimal degrees. |
boy.lon | yes | 72.8777 | Boy's birth place longitude in decimal degrees. |
girl.date | yes | 1992-03-20 | Girl's birth date (YYYY-MM-DD). |
girl.tz | yes | Asia/Kolkata | Girl's birth place timezone: IANA name (Asia/Kolkata) or UTC offset (+05:30). |
girl.lat | yes | 28.6139 | Girl's birth place latitude in decimal degrees. |
girl.lon | yes | 77.209 | Girl's birth place longitude in decimal degrees. |
boy.time | no | 10:30 | Boy's birth time (HH:MM, 24-hour, local). Defaults to 12:00. |
girl.time | no | 08:15 | Girl's birth time (HH:MM, 24-hour, local). Defaults to 12:00. |
from | no | 2027-01-15 | Start of the 10-year Sade Sati range, YYYY-MM-DD (local midnight). Defaults to now. |
include | no | — | Optional: kundli_facts embeds both partners' /v1/chart/kundli-facts. |
ayanamsa | no | — | Ayanamsa (sidereal offset) to use. Defaults to lahiri. |
Response (200 OK)
The real response to the example request above, generated from the API itself. Long arrays are trimmed to their first two items. Field names are stable across versions.
{
"ayanamsa": "lahiri",
"conventions": {
"charts": "each partner's chart uses the ayanamsa value of that partner's birth moment, as /v1/chart/*",
"house": "1-based whole-sign house",
"nakshatra_index": "0-based, Ashwini=0 ... Revati=26",
"partners": "boy = groom (boy.* params), girl = bride (girl.* params)",
"planet_ids": "sun, moon, mars, mercury, jupiter, venus, saturn, rahu, ketu",
"sign_index": "0-based, Aries=0 ... Pisces=11"
},
"boy": {
"lagna_sign_index": 10,
"lagna_lord": "saturn",
"moon_sign_index": 4,
"moon_nakshatra_index": 10,
"moon_pada": 3
},
"girl": {
"lagna_sign_index": 0,
"lagna_lord": "mars",
"moon_sign_index": 5,
"moon_nakshatra_index": 13,
"moon_pada": 1
},
"ashtakoota": {
"total": 8.5,
"max": 36,
"kootas": {
"bhakoot": {
"score": 0,
"max": 7,
"details": {
"distance": 2,
"dosha": true
}
},
"gana": {
"score": 0,
"max": 6,
"details": {
"boy": "Manushya",
"girl": "Rakshasa"
}
},
"graha_maitri": {
"score": 4,
"max": 5,
"details": {
"boy_lord": "Sun",
"girl_lord": "Mercury",
"relationship": "neutral",
"relationship_girl_to_boy": "friend"
}
},
"nadi": {
"score": 0,
"max": 8,
"details": {
"boy": "Madhya",
"dosha": true,
"girl": "Madhya"
}
},
"tara": {
"score": 1.5,
"max": 3,
"details": {
"cycle_position": 4,
"cycle_position_girl_to_boy": 7,
"distance_nakshatras": 3,
"distance_nakshatras_girl_to_boy": 24
}
},
"varna": {
"score": 1,
"max": 1,
"details": {
"boy": "Kshatriya",
"girl": "Vaishya"
}
},
"vashya": {
"score": 0,
"max": 2,
"details": {
"boy": "Vanchar",
"girl": "Manushya"
}
},
"yoni": {
"score": 2,
"max": 4,
"details": {
"boy": "Mushaka",
"girl": "Vyaghra"
}
}
},
"verdict": "poor"
},
"navamsa_compat": {
"boy_navamsa_sign": "Libra",
"girl_navamsa_sign": "Leo",
"boy_navamsa_lord": "Venus",
"girl_navamsa_lord": "Sun",
"compatible": false,
"note": "Lord relationship: enemy"
},
"mangal_dosha": {
"boy": {
"id": "mangal",
"kind": "dosha",
"category": "dosha",
"present": false,
"planets": [
"mars"
],
"houses": [
10
],
"cancelled": true,
"cancel_reasons": [
"mars_own_or_exalted_sign"
],
"sub_ids": [
"mangal.cancelled_by_own_exaltation"
],
"source": "BPHS Ch.80 v.47; Phaladeepika 6.5",
"details": {
"bphs_strict": false,
"from_lagna": {
"hit": false,
"house": 10
},
"from_moon": {
"hit": false,
"house": 4
},
"from_venus": {
"hit": false,
"house": 11,
"informational": true
},
"modern_north": false
}
},
"girl": {
"id": "mangal",
"kind": "dosha",
"category": "dosha",
"present": false,
"planets": [
"mars"
],
"houses": [
11
],
"cancelled": false,
"cancel_reasons": [],
"source": "BPHS Ch.80 v.47; Phaladeepika 6.5",
"details": {
"bphs_strict": false,
"from_lagna": {
"hit": false,
"house": 11
},
"from_moon": {
"hit": false,
"house": 6
},
"from_venus": {
"hit": true,
"house": 1,
"informational": true
},
"modern_north": false
}
},
"pair": {
"boy_effective": false,
"girl_effective": false,
"status": "none"
}
},
"seventh_house": {
"boy": {
"sign_index": 4,
"occupants": [
"moon"
],
"seventh_lord": {
"planet": "sun",
"sign_index": 9,
"house": 12,
"dignity": "enemy",
"is_combust": false,
"is_retro": false
},
"venus": {
"planet": "venus",
"sign_index": 9,
"house": 12,
"dignity": "friend",
"is_combust": true,
"is_retro": true
},
"jupiter": {
"planet": "jupiter",
"sign_index": 2,
"house": 5,
"dignity": "enemy",
"is_combust": false,
"is_retro": true
},
"d9_seventh": {
"varga": "D9",
"lagna_sign_index": 1,
"house": 7,
"sign_index": 7,
"lord": "mars",
"occupants": [
"saturn"
]
},
"d7_fifth": {
"varga": "D7",
"lagna_sign_index": 4,
"house": 5,
"sign_index": 8,
"lord": "jupiter",
"occupants": [
"moon",
"rahu"
]
}
},
"girl": {
"sign_index": 6,
"occupants": [],
"seventh_lord": {
"planet": "venus",
"sign_index": 10,
"house": 11,
"dignity": "friend",
"is_combust": false,
"is_retro": false
},
"venus": {
"planet": "venus",
"sign_index": 10,
"house": 11,
"dignity": "friend",
"is_combust": false,
"is_retro": false
},
"jupiter": {
"planet": "jupiter",
"sign_index": 4,
"house": 5,
"dignity": "friend",
"is_combust": false,
"is_retro": true
},
"d9_seventh": {
"varga": "D9",
"lagna_sign_index": 3,
"house": 7,
"sign_index": 9,
"lord": "saturn",
"occupants": [
"ketu"
]
},
"d7_fifth": {
"varga": "D7",
"lagna_sign_index": 2,
"house": 5,
"sign_index": 6,
"lord": "venus",
"occupants": [
"sun"
]
}
}
},
"sade_sati": {
"boy": {
"birth_moon_sign_index": 4,
"ayanamsa": "lahiri",
"tz": "Asia/Kolkata",
"from_local": "2027-01-15T00:00:00+05:30",
"from_jd": 2461420.270833,
"to_local": "2037-01-15T00:00:00+05:30",
"to_jd": 2465073.270833,
"include_past": false,
"at_from": {
"saturn_sign_index": 11,
"house_from_moon": 8,
"kind": "dhaiya_8",
"phase": "ashtama"
},
"intervals": [
{
"kind": "dhaiya_8",
"phase": "ashtama",
"saturn_sign_index": 11,
"start_local": "2025-03-29T21:43:25+05:30",
"end_local": "2027-06-03T04:43:30+05:30",
"start_jd": 2460764.175983,
"end_jd": 2461559.467708,
"retro_reentry": false
},
{
"kind": "dhaiya_8",
"phase": "ashtama",
"saturn_sign_index": 11,
"start_local": "2027-10-20T08:13:25+05:30",
"end_local": "2028-02-23T18:17:41+05:30",
"start_jd": 2461698.61348,
"end_jd": 2461825.03311,
"retro_reentry": true
}
],
"cycles": [
{
"kind": "dhaiya_8",
"start_local": "2025-03-29T21:43:25+05:30",
"end_local": "2028-02-23T18:17:41+05:30",
"start_jd": 2460764.175983,
"end_jd": 2461825.03311,
"interval_indexes": [
0,
1
]
},
{
"kind": "sade_sati",
"start_local": "2034-07-13T04:23:26+05:30",
"end_local": "2041-09-26T06:59:33+05:30",
"start_jd": 2464156.453772,
"end_jd": 2466788.562183,
"phases": [
{
"phase": "rising",
"start_local": "2034-07-13T04:23:26+05:30",
"end_local": "2036-08-27T21:12:20+05:30",
"start_jd": 2464156.453772,
"end_jd": 2464933.154401
},
{
"phase": "peak",
"start_local": "2036-08-27T21:12:20+05:30",
"end_local": "2039-07-13T03:23:55+05:30",
"start_jd": 2464933.154401,
"end_jd": 2465982.412445
}
],
"interval_indexes": [
2,
3
]
}
]
},
"girl": {
"birth_moon_sign_index": 5,
"ayanamsa": "lahiri",
"tz": "Asia/Kolkata",
"from_local": "2027-01-15T00:00:00+05:30",
"from_jd": 2461420.270833,
"to_local": "2037-01-15T00:00:00+05:30",
"to_jd": 2465073.270833,
"include_past": false,
"at_from": {
"saturn_sign_index": 11,
"house_from_moon": 7,
"kind": "none",
"phase": ""
},
"intervals": [
{
"kind": "dhaiya_8",
"phase": "ashtama",
"saturn_sign_index": 0,
"start_local": "2027-06-03T04:43:30+05:30",
"end_local": "2027-10-20T08:13:25+05:30",
"start_jd": 2461559.467708,
"end_jd": 2461698.61348,
"retro_reentry": false
},
{
"kind": "dhaiya_8",
"phase": "ashtama",
"saturn_sign_index": 0,
"start_local": "2028-02-23T18:17:41+05:30",
"end_local": "2029-08-08T10:04:21+05:30",
"start_jd": 2461825.03311,
"end_jd": 2462356.690518,
"retro_reentry": true
}
],
"cycles": [
{
"kind": "dhaiya_8",
"start_local": "2027-06-03T04:43:30+05:30",
"end_local": "2030-04-17T08:14:54+05:30",
"start_jd": 2461559.467708,
"end_jd": 2462608.614517,
"interval_indexes": [
0,
1
]
},
{
"kind": "sade_sati",
"start_local": "2036-08-27T21:12:20+05:30",
"end_local": "2044-08-30T06:12:48+05:30",
"start_jd": 2464933.154401,
"end_jd": 2467857.529719,
"phases": [
{
"phase": "rising",
"start_local": "2036-08-27T21:12:20+05:30",
"end_local": "2039-07-13T03:23:55+05:30",
"start_jd": 2464933.154401,
"end_jd": 2465982.412445
},
{
"phase": "peak",
"start_local": "2038-10-22T18:01:48+05:30",
"end_local": "2041-09-26T06:59:33+05:30",
"start_jd": 2465719.02208,
"end_jd": 2466788.562183
}
],
"interval_indexes": [
3
]
}
]
}
},
"skipped": {}
}Field reference
Every field in the response, with its type, a real example, and what it means.
| Field | Type | Meaning |
|---|---|---|
| ayanamsa, conventions | string, object | Index conventions spelled out in the response. Each partner's chart uses the ayanamsa value of their own birth moment. example: "lahiri", { "charts": "each partner's chart uses the ayanamsa value of that partner's birth moment, as /v1/chart/*", … } |
| boy, girl | object | Lagna, lagna lord and Moon of each partner. boy = groom (boy.* params), girl = bride (girl.* params). example: { "lagna_sign_index": 10, "lagna_lord": "saturn", "moon_sign_index": 4, "moon_nakshatra_index": 10, "moon_pada": 3 } |
| ashtakoota | object | Identical to /v1/milan/ashtakoota, with every koota's score and details. example: { "total": 8.5, "max": 36, "kootas": { … }, "verdict": "poor" } |
| navamsa_compat | object | Identical to /v1/milan/navamsa-compat. example: { "boy_navamsa_sign": "Libra", "girl_navamsa_sign": "Leo", "compatible": false, … } |
| mangal_dosha.boy, mangal_dosha.girl | object | The mangal item of /v1/chart/doshas for each partner, with the lagna, Moon and Venus frames; returned as present:false with the frames when the dosha is absent. example: { "id": "mangal", "present": false, "cancelled": true, "cancel_reasons": ["mars_own_or_exalted_sign"], "details": { … } } |
| mangal_dosha.pair | object | *_effective = present and not cancelled; status none, both, boy_only or girl_only. Data only, no verdict. example: { "boy_effective": false, "girl_effective": false, "status": "none" } |
| seventh_house.<partner> | object | 7th sign and occupants; placement of the 7th lord, Venus and Jupiter (house, sign_index, dignity, is_combust, is_retro). example: { "sign_index": 4, "occupants": ["moon"], "seventh_lord": { "planet": "sun", "house": 12, "dignity": "enemy", … }, "venus": { … }, "jupiter": { … }, … } |
| seventh_house.<partner>.d9_seventh, d7_fifth | object | 7th house of the D9 (marriage) and 5th house of the D7 (children), as /v1/chart/divisional/D9 and D7. example: { "varga": "D9", "lagna_sign_index": 1, "house": 7, "sign_index": 7, "lord": "mars", "occupants": ["saturn"] } |
| sade_sati.boy, sade_sati.girl | object | /v1/transit/sade-sati/windows with years=10 for each partner, from `from` (default now); tz defaults to each partner's birth tz. example: { "birth_moon_sign_index": 4, "at_from": { … }, "intervals": [ … ], "cycles": [ … ], … } |
| kundli_facts.boy, kundli_facts.girl | object (optional) | With include=kundli_facts: /v1/chart/kundli-facts for each partner with default params. example: { "lagna": { … }, "planets": [ … ], … } |
| skipped | object | Fields that could not be computed, as {field: reason}. example: {} |
Usage tips
How to use it
- Cost60 credits replaces about 270 credits of separate calls (ashtakoota, navamsa-compat, doshas, dignity, combustion, house-occupants, D9, D7 and Sade Sati windows for both); with include=kundli_facts about 370.
- Your own verdictThe response carries no verdict beyond Ashtakoota's own. Combine the score, the mangal pair status and the 7th-house facts with your own rules, or show them side by side.
- Pick the range`from` sets the start of the 10-year Sade Sati range (default now); `tz` sets the zone of those *_local values.
Errors
Every error follows the same envelope. Use the error.code field (not the message) for conditional logic in your integration.
401 Unauthorized
{
"error": {
"code": "unauthorized",
"message": "missing or invalid API key",
"request_id": "req_01hqy7k8c3e7m1n"
}
}402 Payment Required
{
"error": {
"code": "trial_exhausted",
"message": "your free trial credits are exhausted — pick a plan to continue",
"top_up_url": "https://lifeastroapi.com/pricing",
"request_id": "req_01hqy7k8c3e7m1n"
}
}429 Too Many Requests
{
"error": {
"code": "rate_limited",
"message": "rate limit exceeded; retry after 12 seconds",
"request_id": "req_01hqy7k8c3e7m1n"
}
}Try it
Get a dv_live_* key from your dashboard and paste into the cURL snippet above. New accounts get 7,500 welcome credits plus 1,500 free credits a month. Sign up.