LifeAstroAPILifeAstroAPI

API Reference / Vedic Astrology / Matchmaking (Milan)

GET
20 credits

/v1/milan/overlay

Couple chart overlay as data: each partner's grahas in the other's whole-sign houses, same-sign and same-nakshatra pairs, Moon sign relation (e.g. 2/12) and each lagna lord in the other's chart.

What this tells you

A couple's two charts laid over each other, as data: where each partner's grahas fall in the other's houses, which grahas share a sign or a nakshatra, how the two Moon signs relate, and where each lagna lord sits in the other's chart. It replaces planets, ascendant and dignity calls for both partners. 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).

Both births in full: `boy.date`, `boy.time`, `boy.tz`, `boy.lat`, `boy.lon` and the same with `girl.` (time defaults to 12:00).

Request

All requests require an Authorization header with your dv_live_* API key.

example request
curl "https://api.lifeastroapi.com/v1/milan/overlay?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" \
  -H "Authorization: Bearer YOUR_API_KEY"

Query parameters

Checked against the API: a parameter is marked required when the request fails without it.

NameRequiredExampleDescription
boy.dateyes1990-01-15Boy's birth date (YYYY-MM-DD).
boy.tzyesAsia/KolkataBoy's birth place timezone: IANA name (Asia/Kolkata) or UTC offset (+05:30).
boy.latyes19.076Boy's birth place latitude in decimal degrees.
boy.lonyes72.8777Boy's birth place longitude in decimal degrees.
girl.dateyes1992-03-20Girl's birth date (YYYY-MM-DD).
girl.tzyesAsia/KolkataGirl's birth place timezone: IANA name (Asia/Kolkata) or UTC offset (+05:30).
girl.latyes28.6139Girl's birth place latitude in decimal degrees.
girl.lonyes77.209Girl's birth place longitude in decimal degrees.
boy.timeno10:30Boy's birth time (HH:MM, 24-hour, local). Defaults to 12:00.
girl.timeno08:15Girl's birth time (HH:MM, 24-hour, local). Defaults to 12:00.
ayanamsano—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.

200 response
{
  "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
  },
  "boy_in_girl": [
    {
      "planet": "sun",
      "sign_index": 9,
      "house": 10,
      "conjunct": [
        "saturn"
      ]
    },
    {
      "planet": "moon",
      "sign_index": 4,
      "house": 5,
      "conjunct": [
        "jupiter"
      ]
    }
  ],
  "girl_in_boy": [
    {
      "planet": "sun",
      "sign_index": 11,
      "house": 2,
      "conjunct": []
    },
    {
      "planet": "moon",
      "sign_index": 5,
      "house": 8,
      "conjunct": []
    }
  ],
  "same_sign": [
    {
      "boy_planet": "sun",
      "girl_planet": "saturn",
      "sign_index": 9
    },
    {
      "boy_planet": "moon",
      "girl_planet": "jupiter",
      "sign_index": 4
    }
  ],
  "same_nakshatra": [
    {
      "boy_planet": "moon",
      "girl_planet": "jupiter",
      "nakshatra_index": 10
    },
    {
      "boy_planet": "jupiter",
      "girl_planet": "ketu",
      "nakshatra_index": 5
    }
  ],
  "moon_sign_relation": {
    "boy_to_girl": 2,
    "girl_to_boy": 12,
    "relation": "2/12"
  },
  "lagna_lord_cross": {
    "boy_lagna_lord_in_girl": {
      "planet": "saturn",
      "sign_index": 9,
      "house": 10,
      "dignity": "own_sign",
      "is_combust": false,
      "is_retro": false
    },
    "girl_lagna_lord_in_boy": {
      "planet": "mars",
      "sign_index": 7,
      "house": 10,
      "dignity": "own_sign",
      "is_combust": false,
      "is_retro": false
    }
  },
  "skipped": {}
}

Field reference

Every field in the response, with its type, a real example, and what it means.

FieldTypeMeaning
ayanamsa, conventionsstring, 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, girlobject
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 }
boy_in_girl[], girl_in_boy[]array (9 items each)
Every graha of one partner with its sign, the house it falls in counted from the other partner's lagna sign, and the other partner's grahas in the same sign.
example: [{ "planet": "sun", "sign_index": 9, "house": 10, "conjunct": ["saturn"] }, …]
same_sign[]array
Every (boy graha, girl graha) pair in the same sign.
example: [{ "boy_planet": "sun", "girl_planet": "saturn", "sign_index": 9 }, …]
same_nakshatra[]array
Every (boy graha, girl graha) pair in the same nakshatra.
example: [{ "boy_planet": "moon", "girl_planet": "jupiter", "nakshatra_index": 10 }, …]
moon_sign_relationobject
The girl's Moon sign counted from the boy's (1–12), the reverse, and both as "a/b" ("1/1" = same sign).
example: { "boy_to_girl": 2, "girl_to_boy": 12, "relation": "2/12" }
Jyotish: 2/12, 6/8 and 9/5 are the Bhakoot pairs of Ashtakoota; 6/8 and 2/12 are the ones usually read as Bhakoot dosha.
lagna_lord_crossobject
The girl's own natal placement of the boy's lagna lord (sign, house in her chart, dignity, combustion, retrograde), and the reverse.
example: { "boy_lagna_lord_in_girl": { "planet": "saturn", "sign_index": 9, "house": 10, "dignity": "own_sign", "is_combust": false, "is_retro": false }, … }
skippedobject
Fields that could not be computed, as {field: reason}.
example: {}

Usage tips

How to use it

  • Synastry screens
    boy_in_girl and girl_in_boy are enough to draw "his planets in your chart" and the reverse. Map ids and sign_index to names in your app.
  • Beyond Ashtakoota
    Use moon_sign_relation and same_nakshatra next to the Ashtakoota score from /v1/milan/ashtakoota, or take everything in one call with /v1/milan/summary.

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.