Astrology Aspects API (Natal & Synastry)
The Aspects API computes angular relationships between planets within a single chart (natal) or between two charts (synastry). This endpoint returns structured aspect objects including aspect type, orb, exact degree, and planet-to-planet relationships.
Aspects API Endpoint
POST https://api.astroapi.io/v1/aspects
What Are Astrology Aspects?
Aspects describe specific angular relationships between planets. They represent harmony, tension, flow, friction, or emphasis between planetary energies.
Major supported aspects include:
conjunction(0°)sextile(60°)square(90°)trine(120°)opposition(180°)
Aspects API Request Body
Send one or two charts using birth data or precomputed planetary positions.
| Field | Type | Required | Description |
|---|---|---|---|
chart |
object | Yes | Main chart using birth data or positions. |
chart2 |
object | No | Second chart for synastry comparison. |
orb |
number | No | Maximum allowed deviation in degrees (default: 5°). |
include_minor |
boolean | No | Enable minor aspects based on plan tier. |
Example Aspects API Response
{
"chart_type": "natal",
"aspects": [
{
"from_body": "Sun",
"to_body": "Moon",
"aspect": "square",
"orb": 2.1,
"exact_degree": 90.8
},
{
"from_body": "Venus",
"to_body": "Mars",
"aspect": "trine",
"orb": 0.7,
"exact_degree": 120.4
}
]
}
Common Uses for Aspect Data
- Automated chart readings and AI interpretations
- Synastry and relationship compatibility scoring
- Personality, purpose, and energy summaries
- Predictive systems using transit-to-natal triggers
- Chart wheels with dynamic aspect lines
- Daily, weekly, and monthly horoscope engines
AstroAPI delivers precise, normalized JSON. Your application controls interpretation, scoring, and presentation.
// JavaScript — Natal Aspects API Example
fetch("https://api.astroapi.io/v1/aspects", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({
chart: {
date: "1995-11-08",
time: "14:22",
lat: 34.05,
lon: -118.24,
tz: "America/Los_Angeles"
},
orb: 5
})
})
.then(res => res.json())
.then(data => console.log("Aspects:", data.aspects));
# Python — Synastry Aspects API Example
import requests
url = "https://api.astroapi.io/v1/aspects"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"chart": {
"date": "1995-11-08",
"time": "14:22",
"lat": 34.05,
"lon": -118.24,
"tz": "America/Los_Angeles"
},
"chart2": {
"date": "1992-04-15",
"time": "09:10",
"lat": 40.71,
"lon": -74.00,
"tz": "America/New_York"
},
"orb": 4
}
resp = requests.post(url, json=payload, headers=headers)
print(resp.json())