POST · WESTERN

Natal Aspects

Endpoint 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

MethodExample
Header (recommended)X-Api-Key: am_live_xxxxxxxxxxxx
BearerAuthorization: Bearer am_live_xxxxxxxxxxxx
Query?api_key=am_live_xxxxxxxxxxxx

Request body

FieldTypeRequiredDescription
yearintegerYesBirth year (1800–2400).
monthintegerYesBirth month (1–12).
dayintegerYesBirth day.
hourintegerYesBirth hour (0–23).
minuteintegerYesBirth minute (0–59).
secondintegerNoDefault 0.
latitudenumberYesDecimal degrees (−90 to 90).
longitudenumberYesDecimal degrees (−180 to 180).
timezonestringYesIANA timezone.
house_systemstringNoDefault placidus. See house systems.
node_typestringNotrue, mean, or both. Default true.
include_minor_aspectsbooleanNoInclude minor aspects. Default true.
custom_orbsobjectNoOverride 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:

AspectDefault orbType
ConjunctionMajor
OppositionMajor
TrineMajor
SquareMajor
SextileMajor
QuincunxMinor
Semi-sextileMinor
Semi-squareMinor
SesquiquadrateMinor
QuintileMinor
Bi-quintileMinor

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):

FieldTypeDescription
planet1stringFirst planet name.
planet1_longitudenumberAbsolute tropical longitude (0–360). Plottable on a 360° chart circle.
planet1_signstringZodiac sign.
planet1_sign_degreenumberNumeric degree within sign (0–29.99). Sortable.
planet1_degreestringDMS degree within sign (display).
planet2stringSecond planet name.
planet2_longitudenumberAbsolute longitude.
planet2_signstringSign.
planet2_sign_degreenumberNumeric degree within sign.
planet2_degreestringDMS display.
aspectstringDisplay name (e.g. "Trine").
aspect_keystringProgrammatic key (e.g. "trine").
symbolstringUnicode aspect symbol.
angleintegerExact aspect angle in degrees (e.g. 120).
orbnumberActual deviation from exact in degrees.
max_orbnumberMaximum allowed orb (after luminary adjustments).
exactness_percentnumberHow close to exact (100 = partile, 0 = edge of orb).
phasestring"applying" (tightening), "separating" (loosening), or "exact" (orb < 0.01°).
naturestring"harmonious", "challenging", "variable", "stressful", "mild", or "creative".
is_majorbooleanTrue for the 5 major aspects.
descriptionstringBrief 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

KeyNameAngleSymbolNatureCategory
conjunctionConjunctionvariableMajor
oppositionOpposition180°challengingMajor
trineTrine120°harmoniousMajor
squareSquare90°challengingMajor
sextileSextile60°harmoniousMajor
quincunxQuincunx150°stressfulMinor
semi_sextileSemi-sextile30°mildMinor
semi_squareSemi-square45°challengingMinor
sesquiquadrateSesquiquadrate135°challengingMinor
quintileQuintile72°QcreativeMinor
bi_quintileBi-quintile144°bQcreativeMinor

Errors

HTTPCodeCause
400MISSING_FIELDA required field is absent.
400INVALID_DATEInvalid calendar date or year outside range.
400INVALID_TIMEHour/minute/second outside valid range.
400INVALID_TIMEZONENot a valid IANA identifier.
400INVALID_COORDINATELatitude or longitude out of range.
400INVALID_PARAMInvalid house_system, or custom_orbs with unknown aspect key or value outside 0–15.
500EPHEMERIS_ERRORSwiss Ephemeris computation failed.

See also