Natal Aspects
POST https://starsapi.com/api/v3/western/natal/aspects
Overview
Computes all natal aspects between the 15 celestial bodies. Each aspect includes both planets’ absolute tropical longitude, sign degree, orb, exactness percentage, phase (applying, separating, or exact), nature, and a description. Results are sorted by exactness (tightest first).
Supports custom orbs per aspect type (0–15°), and toggle for minor aspects. Luminaries (Sun and Moon) automatically receive wider orbs than the base values.
Authentication
| Method | Example |
|---|---|
| Header (recommended) | X-Api-Key: am_live_xxxxxxxxxxxx |
| Bearer | Authorization: Bearer am_live_xxxxxxxxxxxx |
| Query | ?api_key=am_live_xxxxxxxxxxxx |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
year | integer | Yes | Birth year (1800–2400). |
month | integer | Yes | Birth month (1–12). |
day | integer | Yes | Birth day. |
hour | integer | Yes | Birth hour (0–23). |
minute | integer | Yes | Birth minute (0–59). |
second | integer | No | Default 0. |
latitude | number | Yes | Decimal degrees (−90 to 90). |
longitude | number | Yes | Decimal degrees (−180 to 180). |
timezone | string | Yes | IANA timezone. |
house_system | string | No | Default placidus. See house systems. |
node_type | string | No | true, mean, or both. Default true. |
include_minor_aspects | boolean | No | Include minor aspects. Default true. |
custom_orbs | object | No | Override default orbs per aspect type. See below. |
Custom orbs
Pass custom_orbs to override the default orb for any aspect type. Values must be between 0 and 15 degrees. Invalid aspect names or out-of-range values return a 400 INVALID_PARAM error.
{
"custom_orbs": {
"conjunction": 10,
"trine": 6,
"square": 5,
"sextile": 4,
"quincunx": 2
}
}
Default orbs:
| Aspect | Default orb | Type |
|---|---|---|
| Conjunction | 8° | Major |
| Opposition | 8° | Major |
| Trine | 8° | Major |
| Square | 7° | Major |
| Sextile | 6° | Major |
| Quincunx | 3° | Minor |
| Semi-sextile | 2° | Minor |
| Semi-square | 2° | Minor |
| Sesquiquadrate | 2° | Minor |
| Quintile | 2° | Minor |
| Bi-quintile | 2° | Minor |
Sun and Moon automatically receive wider orbs (luminary adjustment) above these base values.
Valid custom_orbs keys: conjunction, opposition, trine, square, sextile, quincunx, semi_sextile, semi_square, sesquiquadrate, quintile, bi_quintile.
Response shape
data.aspects[]
Array of aspect objects sorted by orb (tightest first):
| Field | Type | Description |
|---|---|---|
planet1 | string | First planet name. |
planet1_longitude | number | Absolute tropical longitude (0–360). Plottable on a 360° chart circle. |
planet1_sign | string | Zodiac sign. |
planet1_sign_degree | number | Numeric degree within sign (0–29.99). Sortable. |
planet1_degree | string | DMS degree within sign (display). |
planet2 | string | Second planet name. |
planet2_longitude | number | Absolute longitude. |
planet2_sign | string | Sign. |
planet2_sign_degree | number | Numeric degree within sign. |
planet2_degree | string | DMS display. |
aspect | string | Display name (e.g. "Trine"). |
aspect_key | string | Programmatic key (e.g. "trine"). |
symbol | string | Unicode aspect symbol. |
angle | integer | Exact aspect angle in degrees (e.g. 120). |
orb | number | Actual deviation from exact in degrees. |
max_orb | number | Maximum allowed orb (after luminary adjustments). |
exactness_percent | number | How close to exact (100 = partile, 0 = edge of orb). |
phase | string | "applying" (tightening), "separating" (loosening), or "exact" (orb < 0.01°). |
nature | string | "harmonious", "challenging", "variable", "stressful", "mild", or "creative". |
is_major | boolean | True for the 5 major aspects. |
description | string | Brief interpretation of the aspect type. |
data.aspects_by_planet
Same aspects grouped by planet name, for quick lookup of all aspects involving a specific body.
data.aspect_summary
Object counting aspects by type (e.g. {"conjunction": 3, "trine": 5, "square": 4}).
Aspect types reference
| Key | Name | Angle | Symbol | Nature | Category |
|---|---|---|---|---|---|
conjunction | Conjunction | 0° | ☌ | variable | Major |
opposition | Opposition | 180° | ☍ | challenging | Major |
trine | Trine | 120° | △ | harmonious | Major |
square | Square | 90° | □ | challenging | Major |
sextile | Sextile | 60° | ⚹ | harmonious | Major |
quincunx | Quincunx | 150° | ⚻ | stressful | Minor |
semi_sextile | Semi-sextile | 30° | ⚺ | mild | Minor |
semi_square | Semi-square | 45° | ∠ | challenging | Minor |
sesquiquadrate | Sesquiquadrate | 135° | ⚼ | challenging | Minor |
quintile | Quintile | 72° | Q | creative | Minor |
bi_quintile | Bi-quintile | 144° | bQ | creative | Minor |
Errors
| HTTP | Code | Cause |
|---|---|---|
| 400 | MISSING_FIELD | A required field is absent. |
| 400 | INVALID_DATE | Invalid calendar date or year outside range. |
| 400 | INVALID_TIME | Hour/minute/second outside valid range. |
| 400 | INVALID_TIMEZONE | Not a valid IANA identifier. |
| 400 | INVALID_COORDINATE | Latitude or longitude out of range. |
| 400 | INVALID_PARAM | Invalid house_system, or custom_orbs with unknown aspect key or value outside 0–15. |
| 500 | EPHEMERIS_ERROR | Swiss Ephemeris computation failed. |
See also
- Planets — positions for all 15 bodies
- Planets Advanced — dignities, sect, combust
- Chart — signed chart image URL