Skip to main content
POST/v1/western/compatibility

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.

Request parameters​

person1required
object
person1.locationoptional
string | null
City name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
person1.nameoptional
string
Person name associated with the birth record
person1.daterequired
string
Birth date in YYYY-MM-DD format
person1.timeoptional
string | null
Birth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
person1.latitudeoptional
number | null
Latitude. Required if location not provided.
person1.longitudeoptional
number | null
Longitude. Required if location not provided.
person1.timezoneoptional
string | null
IANA timezone. Required if location not provided (unless utc_offset is given). For dates before the zone adopted a standard time, the birthplace's local mean time (longitude / 15 hours) is used.
person1.utc_offsetoptional
string | null
Optional explicit UTC offset of the birth time, as ±HH:MM or ±HH:MM:SS (e.g. '+04:51:31' for Bombay mean time). Overrides the offset timezone would give. Use it when the birth record states the offset, or for historical local times the IANA database cannot represent.
person1.ayanamsaoptional
string
Sidereal ayanamsa mode used in calculations
person2required
object
person2.locationoptional
string | null
City name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
person2.nameoptional
string
Person name associated with the birth record
person2.daterequired
string
Birth date in YYYY-MM-DD format
person2.timeoptional
string | null
Birth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
person2.latitudeoptional
number | null
Latitude. Required if location not provided.
person2.longitudeoptional
number | null
Longitude. Required if location not provided.
person2.timezoneoptional
string | null
IANA timezone. Required if location not provided (unless utc_offset is given). For dates before the zone adopted a standard time, the birthplace's local mean time (longitude / 15 hours) is used.
person2.utc_offsetoptional
string | null
Optional explicit UTC offset of the birth time, as ±HH:MM or ±HH:MM:SS (e.g. '+04:51:31' for Bombay mean time). Overrides the offset timezone would give. Use it when the birth record states the offset, or for historical local times the IANA database cannot represent.
person2.ayanamsaoptional
string
Sidereal ayanamsa mode used in calculations

Response fields​

success
boolean
True if the request succeeded
message
string
Human-readable status message
data
object
data.birth_time_provided
boolean
True only when both people supplied a birth time. See person1_birth_time_provided and person2_birth_time_provided.
data.person1_birth_time_provided
boolean
True when person 1 supplied a birth time.
data.person2_birth_time_provided
boolean
True when person 2 supplied a birth time.
data.overall_score
integer
data.element_score
integer
data.aspect_score
integer
data.sun_sign_affinity
string
data.moon_sign_affinity
string
data.rising_sign_affinity
string
data.person1_sun
string
data.person2_sun
string
data.person1_moon
string
data.person2_moon
string
data.key_aspects
array[object]
data.key_aspects[].person1_planet
string
data.key_aspects[].person2_planet
string
data.key_aspects[].type
string
data.key_aspects[].exact_angle
number
data.key_aspects[].orb
number

Errors​

Invalid API key format.
API key is missing. Include it in the Authorization header as 'Bearer YOUR_KEY'.
The provided API key was not found. Verify the key in your Asterwise dashboard.
This API key has been revoked.
Too many requests per minute. Please slow down.
Something went wrong on our end. Please try again, or contact [email protected] if the problem persists. Include your request_id when contacting support.
Request body is missing or malformed.
Too many requests from this IP address. Please slow down.
Monthly API call limit reached. Upgrade your plan to continue.
Request body exceeds maximum allowed size of 64KB.
Your subscription has expired. Please renew at asterwise.com/dashboard to continue.
The request couldn't be processed. See the 'details' field for specific field-level issues.