Skip to main content

Western Compatibility Score

Overall compatibility score (0-100) between two natal charts. Scores element affinity, synastry aspects between personal planets (Sun, Moon, Venus, Mars), and Sun/Moon/rising sign comparisons.

Endpoint

POST /v1/western/compatibility

Request parameters

FieldTypeRequiredDescription
person1objectYes
person1.locationstring | nullNoCity name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
person1.namestringNoPerson name associated with the birth record
person1.datestringYesBirth date in YYYY-MM-DD format
person1.timestring | nullNoBirth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
person1.latitudenumber | nullNoLatitude. Required if location not provided.
person1.longitudenumber | nullNoLongitude. Required if location not provided.
person1.timezonestring | nullNoIANA timezone. Required if location not provided.
person1.ayanamsastringNoSidereal ayanamsa mode used in calculations
person2objectYes
person2.locationstring | nullNoCity name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
person2.namestringNoPerson name associated with the birth record
person2.datestringYesBirth date in YYYY-MM-DD format
person2.timestring | nullNoBirth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
person2.latitudenumber | nullNoLatitude. Required if location not provided.
person2.longitudenumber | nullNoLongitude. Required if location not provided.
person2.timezonestring | nullNoIANA timezone. Required if location not provided.
person2.ayanamsastringNoSidereal ayanamsa mode used in calculations

Example request

curl -X POST "https://api.asterwise.com/v1/western/compatibility" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"person1":{"name":"Arjun Mehta","date":"1985-11-12","time":"06:45","latitude":19.076,"longitude":72.8777,"timezone":"Asia/Kolkata"},"person2":{"name":"Sofia Shah","date":"1988-03-24","time":"14:30","latitude":28.6139,"longitude":77.209,"timezone":"Asia/Kolkata"}}'

Example response

{
"success": true,
"message": "success",
"data": {
"overall_score": 52,
"element_score": 43,
"aspect_score": 62,
"sun_sign_affinity": "challenging",
"moon_sign_affinity": "challenging",
"rising_sign_affinity": "challenging",
"person1_sun": "Scorpio",
"person2_sun": "Aries",
"person1_moon": "Scorpio",
"person2_moon": "Gemini",
"key_aspects": [
{
"person1_planet": "Sun",
"person2_planet": "Sun",
"type": "sesquiquadrate",
"exact_angle": 134.3467,
"orb": 0.6533
},
{
"person1_planet": "Sun",
"person2_planet": "Venus",
"type": "opposition",
"exact_angle": 179.9187,
"orb": 0.0813
},
"... and 2 more items"
]
}
}

Response fields

FieldTypeDescription
successbooleanTrue if the request succeeded
messagestringHuman-readable status message
dataobject
data.overall_scoreinteger
data.element_scoreinteger
data.aspect_scoreinteger
data.sun_sign_affinitystring
data.moon_sign_affinitystring
data.rising_sign_affinitystring
data.person1_sunstring
data.person2_sunstring
data.person1_moonstring
data.person2_moonstring
data.key_aspectsarray[object]
data.key_aspects[].person1_planetstring
data.key_aspects[].person2_planetstring
data.key_aspects[].typestring
data.key_aspects[].exact_anglenumber
data.key_aspects[].orbnumber

Errors

CodeDescriptionReference
authentication_failedMissing or invalid API key.authentication_failed
ephemeris_unavailableUpstream ephemeris service error.ephemeris_unavailable
insufficient_tierAPI key tier does not include this endpoint.insufficient_tier
internal_errorUnexpected server error.internal_error
ip_rate_limit_exceededToo many requests in a short window.ip_rate_limit_exceeded
payload_too_largeRequest body exceeds the size limit.payload_too_large
resource_not_foundReferenced resource was not found.resource_not_found
validation_errorRequest body failed schema validation.validation_error