Synastry API
Aspects between two charts, and each person's planets in the other's houses
POST/v1/western/synastry
3 credits · Secret key (test or live) · getWesternSynastry
Request body
person_aBirth requireddatestring (date) requirede.g.
"1990-08-13"timestringpattern
^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$· e.g."06:30"time_accuracystringWith "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.
one of
exact,approximate,unknown· default"exact"placeCoordinates or object or object requiredCoordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.
One of:
- Coordinates
Fields
latitudenumber required≥ -90 · ≤ 90
longitudenumber required≥ -180 · ≤ 180
No other fields are accepted.
- object
Fields
place_idstring required
No other fields are accepted.
- object
Fields
querystring requiredat least 2 characters · at most 120 characters
No other fields are accepted.
- Coordinates
timezonestring"auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".
default
"auto"
No other fields are accepted.
person_bBirth requireddatestring (date) requirede.g.
"1990-08-13"timestringpattern
^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$· e.g."06:30"time_accuracystringWith "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.
one of
exact,approximate,unknown· default"exact"placeCoordinates or object or object requiredCoordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.
One of:
- Coordinates
Fields
latitudenumber required≥ -90 · ≤ 90
longitudenumber required≥ -180 · ≤ 180
No other fields are accepted.
- object
Fields
place_idstring required
No other fields are accepted.
- object
Fields
querystring requiredat least 2 characters · at most 120 characters
No other fields are accepted.
- Coordinates
timezonestring"auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".
default
"auto"
No other fields are accepted.
house_systemstringone of
placidus,equal,whole_sign,porphyry· default"placidus"aspectsarray of stringorbsobjectYour own orb in degrees for any aspect, replacing the default and the extra for the Sun and Moon.
conjunctionnumber≥ 0 · ≤ 15
oppositionnumber≥ 0 · ≤ 15
trinenumber≥ 0 · ≤ 15
squarenumber≥ 0 · ≤ 15
sextilenumber≥ 0 · ≤ 15
quincunxnumber≥ 0 · ≤ 15
semisextilenumber≥ 0 · ≤ 15
semisquarenumber≥ 0 · ≤ 15
sesquiquadratenumber≥ 0 · ≤ 15
quintilenumber≥ 0 · ≤ 15
biquintilenumber≥ 0 · ≤ 15
No other fields are accepted.
optionsobjectlangstring requiredone of
en,hi· default"en"
No other fields are accepted.
No other fields are accepted.
Response
JSON { data, meta, warnings }, where data is:
framestring requiredcountinteger requiredaspectsarray of object requiredastring requiredbstring requiredaspectstring requiredone of
conjunction,opposition,trine,square,sextile,quincunx,semisextile,semisquare,sesquiquadrate,quintile,biquintileanglenumber requiredorbnumber requiredapplyingboolean required
a_in_b_housesarray of object or null requiredOne of:
- array of object
Fields
planetstring requiredhouseinteger required
- null
- array of object
b_in_a_housesarray of object or null requiredOne of:
- array of object
Fields
planetstring requiredhouseinteger required
- null
- array of object
Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.
Example request
curl -X POST 'https://api.astrologics.in/v1/western/synastry' \
-H 'Authorization: Bearer al_test_YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"person_a":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"person_b":{"date":"1992-03-02","time":"14:10","place":{"latitude":19.076,"longitude":72.8777}}}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/western/synastry", {
method: "POST",
headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"person_a": {
"date": "1990-08-13",
"time": "06:30",
"place": {
"latitude": 28.6139,
"longitude": 77.209
}
},
"person_b": {
"date": "1992-03-02",
"time": "14:10",
"place": {
"latitude": 19.076,
"longitude": 72.8777
}
}
}),
});
console.log(JSON.stringify(await res.json(), null, 2));Python
import json
import urllib.error
import urllib.request
body = {
"person_a": {
"date": "1990-08-13",
"time": "06:30",
"place": {
"latitude": 28.6139,
"longitude": 77.209,
},
},
"person_b": {
"date": "1992-03-02",
"time": "14:10",
"place": {
"latitude": 19.076,
"longitude": 72.8777,
},
},
}
req = urllib.request.Request(
"https://api.astrologics.in/v1/western/synastry",
method="POST",
headers={"Authorization": "Bearer al_test_YOUR_KEY", "Content-Type": "application/json"},
data=json.dumps(body).encode(),
)
try:
with urllib.request.urlopen(req) as res:
print(json.dumps(json.load(res), indent=2, ensure_ascii=False))
except urllib.error.HTTPError as err:
print(err.code, err.read().decode())PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/western/synastry');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"person_a":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"person_b":{"date":"1992-03-02","time":"14:10","place":{"latitude":19.076,"longitude":72.8777}}}',
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;Example response
200 OK · 11,618 characters
{
"data": {
"frame": "tropical",
"count": 62,
"aspects": [
{
"a": "moon",
"b": "sun",
"aspect": "sextile",
"angle": 60,
"orb": 0.2,
"applying": true
},
{
"a": "neptune",
"b": "sun",
"aspect": "sextile",
"angle": 60,
"orb": 0.22,
"applying": true
},
{
"a": "mercury",
"b": "uranus",
"aspect": "trine",
"angle": 120,
"orb": 0.41,
"applying": false
},
{
"a": "pluto",
"b": "venus",
"aspect": "square",
"angle": 90,
"orb": 0.57,
"applying": false
},
{
"a": "mercury",
"b": "neptune",
"aspect": "trine",
"angle": 120,
"orb": 0.94,
"applying": true
},
{
"a": "moon",
"b": "ascendant",
"aspect": "sextile",
"angle": 60,
"orb": 1.06,
"applying": false
},
{
"a": "moon",
"b": "saturn",
"aspect": "square",
"angle": 90,
"orb": 1.19,
"applying": true
},
{
"a": "jupiter",
"b": "mercury",
"aspect": "trine",
"angle": 120,
"orb": 1.36,
"applying": true
},
{
"a": "venus",
"b": "mercury",
"aspect": "trine",
"angle": 120,
"orb": 1.42,
"applying": true
},
{
"a": "neptune",
"b": "ascendant",
"aspect": "opposition",
"angle": 180,
"orb": 1.47,
"applying": true
},
{
"a": "mars",
"b": "neptune",
"aspect": "trine",
"angle": 120,
"orb": 1.65,
"applying": false
},
{
"a": "saturn",
"b": "neptune",
"aspect": "conjunction",
"angle": 0,
"orb": 1.69,
"applying": true
},
{
"a": "moon",
"b": "mars",
"aspect": "square",
"angle": 90,
"orb": 1.72,
"applying": false
},
{
"a": "midheaven",
"b": "mercury",
"aspect": "sextile",
"angle": 60,
"orb": 1.76,
"applying": false
},
{
"a": "uranus",
"b": "north_node",
"aspect": "conjunction",
"angle": 0,
"orb": 1.87,
"applying": true
},
{
"a": "pluto",
"b": "uranus",
"aspect": "sextile",
"angle": 60,
"orb": 1.9,
"applying": false
},
{
"a": "pluto",
"b": "saturn",
"aspect": "square",
"angle": 90,
"orb": 2.05,
"applying": true
},
{
"a": "mars",
"b": "moon",
"aspect": "square",
"angle": 90,
"orb": 2.17,
"applying": true
},
{
"a": "sun",
"b": "moon",
"aspect": "opposition",
"angle": 180,
"orb": 2.26,
"applying": true
},
{
"a": "moon",
"b": "jupiter",
"aspect": "trine",
"angle": 120,
"orb": 2.45,
"applying": false
},
{
"a": "uranus",
"b": "midheaven",
"aspect": "square",
"angle": 90,
"orb": 2.47,
"applying": true
},
{
"a": "pluto",
"b": "moon",
"aspect": "square",
"angle": 90,
"orb": 2.73,
"applying": false
},
{
"a": "midheaven",
"b": "pluto",
"aspect": "opposition",
"angle": 180,
"orb": 2.81,
"applying": false
},
{
"a": "neptune",
"b": "jupiter",
"aspect": "trine",
"angle": 120,
"orb": 2.87,
"applying": false
},
{
"a": "north_node",
"b": "mars",
"aspect": "conjunction",
"angle": 0,
"orb": 2.89,
"applying": false
},
{
"a": "sun",
"b": "pluto",
"aspect": "square",
"angle": 90,
"orb": 2.9,
"applying": true
},
{
"a": "saturn",
"b": "pluto",
"aspect": "sextile",
"angle": 60,
"orb": 2.94,
"applying": false
},
{
"a": "mars",
"b": "pluto",
"aspect": "opposition",
"angle": 180,
"orb": 2.99,
"applying": true
},
{
"a": "mars",
"b": "uranus",
"aspect": "trine",
"angle": 120,
"orb": 3,
"applying": false
},
{
"a": "saturn",
"b": "uranus",
"aspect": "conjunction",
"angle": 0,
"orb": 3.04,
"applying": true
},
{
"a": "pluto",
"b": "sun",
"aspect": "trine",
"angle": 120,
"orb": 3.04,
"applying": true
},
{
"a": "pluto",
"b": "neptune",
"aspect": "sextile",
"angle": 60,
"orb": 3.25,
"applying": false
},
{
"a": "uranus",
"b": "jupiter",
"aspect": "trine",
"angle": 120,
"orb": 3.34,
"applying": true
},
{
"a": "north_node",
"b": "midheaven",
"aspect": "sextile",
"angle": 60,
"orb": 3.66,
"applying": true
},
{
"a": "moon",
"b": "venus",
"aspect": "square",
"angle": 90,
"orb": 3.81,
"applying": true
},
{
"a": "moon",
"b": "north_node",
"aspect": "trine",
"angle": 120,
"orb": 3.93,
"applying": false
},
{
"a": "pluto",
"b": "ascendant",
"aspect": "trine",
"angle": 120,
"orb": 4.29,
"applying": false
},
{
"a": "mars",
"b": "venus",
"aspect": "square",
"angle": 90,
"orb": 4.33,
"applying": true
},
{
"a": "neptune",
"b": "north_node",
"aspect": "conjunction",
"angle": 0,
"orb": 4.34,
"applying": false
},
{
"a": "sun",
"b": "venus",
"aspect": "opposition",
"angle": 180,
"orb": 4.41,
"applying": true
},
{
"a": "venus",
"b": "midheaven",
"aspect": "trine",
"angle": 120,
"orb": 4.63,
"applying": true
},
{
"a": "jupiter",
"b": "midheaven",
"aspect": "trine",
"angle": 120,
"orb": 4.69,
"applying": true
},
{
"a": "neptune",
"b": "uranus",
"aspect": "conjunction",
"angle": 0,
"orb": 4.72,
"applying": false
},
{
"a": "uranus",
"b": "ascendant",
"aspect": "opposition",
"angle": 180,
"orb": 4.74,
"applying": false
},
{
"a": "pluto",
"b": "mars",
"aspect": "square",
"angle": 90,
"orb": 4.95,
"applying": true
},
{
"a": "ascendant",
"b": "pluto",
"aspect": "square",
"angle": 90,
"orb": 5.06,
"applying": false
},
{
"a": "moon",
"b": "uranus",
"aspect": "trine",
"angle": 120,
"orb": 5.13,
"applying": true
},
{
"a": "mercury",
"b": "sun",
"aspect": "opposition",
"angle": 180,
"orb": 5.34,
"applying": true
},
{
"a": "north_node",
"b": "saturn",
"aspect": "conjunction",
"angle": 0,
"orb": 5.79,
"applying": false
},
{
"a": "jupiter",
"b": "pluto",
"aspect": "trine",
"angle": 120,
"orb": 5.93,
"applying": false
},
{
"a": "moon",
"b": "moon",
"aspect": "square",
"angle": 90,
"orb": 5.96,
"applying": true
},
{
"a": "venus",
"b": "pluto",
"aspect": "trine",
"angle": 120,
"orb": 5.98,
"applying": false
},
{
"a": "uranus",
"b": "sun",
"aspect": "sextile",
"angle": 60,
"orb": 6,
"applying": false
},
{
"a": "neptune",
"b": "neptune",
"aspect": "conjunction",
"angle": 0,
"orb": 6.07,
"applying": false
},
{
"a": "moon",
"b": "neptune",
"aspect": "trine",
"angle": 120,
"orb": 6.48,
"applying": true
},
{
"a": "mars",
"b": "saturn",
"aspect": "square",
"angle": 90,
"orb": 6.94,
"applying": false
},
{
"a": "sun",
"b": "saturn",
"aspect": "opposition",
"angle": 180,
"orb": 7.03,
"applying": false
},
{
"a": "midheaven",
"b": "neptune",
"aspect": "trine",
"angle": 120,
"orb": 7.44,
"applying": true
},
{
"a": "pluto",
"b": "pluto",
"aspect": "conjunction",
"angle": 0,
"orb": 7.88,
"applying": true
},
{
"a": "midheaven",
"b": "moon",
"aspect": "square",
"angle": 90,
"orb": 7.96,
"applying": true
},
{
"a": "mercury",
"b": "jupiter",
"aspect": "conjunction",
"angle": 0,
"orb": 7.99,
"applying": false
},
{
"a": "sun",
"b": "mars",
"aspect": "opposition",
"angle": 180,
"orb": 9.93,
"applying": false
}
],
"a_in_b_houses": [
{
"planet": "sun",
"house": 2
},
{
"planet": "moon",
"house": 11
},
{
"planet": "mercury",
"house": 3
},
{
"planet": "venus",
"house": 1
},
{
"planet": "mars",
"house": 11
},
{
"planet": "jupiter",
"house": 1
},
{
"planet": "saturn",
"house": 7
},
{
"planet": "uranus",
"house": 6
},
{
"planet": "neptune",
"house": 7
},
{
"planet": "pluto",
"house": 5
},
{
"planet": "north_node",
"house": 8
}
],
"b_in_a_houses": [
{
"planet": "sun",
"house": 7
},
{
"planet": "moon",
"house": 6
},
{
"planet": "mercury",
"house": 8
},
{
"planet": "venus",
"house": 6
},
{
"planet": "mars",
"house": 6
},
{
"planet": "jupiter",
"house": 1
},
{
"planet": "saturn",
"house": 6
},
{
"planet": "uranus",
"house": 5
},
{
"planet": "neptune",
"house": 5
},
{
"planet": "pluto",
"house": 3
},
{
"planet": "north_node",
"house": 5
}
]
},
"meta": {
"request_id": "req_example",
"api_version": "v1",
"engine_version": "2026.10.10",
"mode": "live",
"credits_charged": 3
},
"warnings": []
}Try it
More in Western
- Western Natal Chart API: A tropical birth chart: planets, angles, Placidus or other houses, dignities and element balance
- Natal Chart Wheel SVG API: The chart drawn as a wheel in SVG, with the ascendant on the left
- Natal Aspects API: Natal aspects with their orbs, and whether each is applying
- Composite Chart API: A midpoint composite chart for two people
- Western Transits API: Exact transits to a birth chart, sign ingresses and stations over a range
- Secondary Progressions API: A secondary progressed chart for a date, with solar arc angles
- Western Solar Return API: The tropical solar return chart for a year, at the birth place or another
- Lunar Return API: The next tropical lunar return chart after a date