POST · WESTERN

Natal Aspects

Endpoint POST https://starsapi.com/api/v3/western/predictions/aspects

Computes the tropical natal chart and finds all major aspects (conjunction, sextile, square, trine, opposition) between every pair of bodies in the chart — 10 planets, Chiron, Lilith (Black Moon), Part of Fortune, Ascendant, and Midheaven. Each in-orb aspect is returned with its geometry (exact angle, actual angle in decimal and DMS, orb deviation), an applying/separating flag, a one-word nature label for UI colour-coding, and a prewritten interpretation of roughly 100 words.

Orbs follow standard Western defaults but can be overridden per aspect type via the optional orbs object.

Nature labels — each aspect carries a one-word nature field for instant UI mapping:
  • Fusion — conjunction (0°)
  • Smooth — sextile (60°)
  • Friction — square (90°)
  • Lucky — trine (120°)
  • Tense — opposition (180°)

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 (24-hour).
minuteintegerYesBirth minute, 0–59.
secondintegerNoBirth second, default 0.
latitudenumberYesDecimal degrees, −90 to 90.
longitudenumberYesDecimal degrees, −180 to 180.
timezonestringYesIANA timezone (e.g. Asia/Kolkata).
languagestringNoLanguage code. Supported: en, es (Spanish), fr (French), pt (Portuguese), it (Italian), de (German), ru (Russian). Default en. Falls back to English when the requested language has no entry.
house_systemstringNoAny of 23 supported systems. Default placidus. See house systems.
node_typestringNoOne of true, mean, both. Default true.
orbsobjectNoOverride default orbs per aspect type. Keys: conjunction, sextile, square, trine, opposition. Values in degrees (0.5–15). Omitted keys use defaults.

Default orbs

AspectAngleGeneral orbSun/Moon orb
Conjunction10°
Sextile60°
Square90°10°
Trine120°10°
Opposition180°10°

When custom orbs are supplied via the orbs object, the provided value replaces both general and Sun/Moon orbs for that aspect type. Luminaries do not receive a widened orb in custom mode.

Custom orbs example

{
  "year": 1990, "month": 5, "day": 20,
  "hour": 14, "minute": 30, "second": 0,
  "latitude": 28.6139, "longitude": 77.2090,
  "timezone": "Asia/Kolkata",
  "orbs": {
    "conjunction": 6,
    "sextile": 3,
    "square": 5,
    "trine": 5,
    "opposition": 6
  }
}

Supported house systems

ValueSystem
placidusPlacidus (default)
kochKoch
porphyryPorphyry
regiomontanusRegiomontanus
campanusCampanus
equalEqual (Ascendant)
whole_signWhole Sign
meridian / axialMeridian / Axial Rotation
morinusMorinus
alcabitiusAlcabitius
topocentricTopocentric (Polich-Page)
vehlow_equalVehlow Equal
krusinskiKrusinski-Pisa
equal_mcEqual (MC)
equal_ariesEqual (1=Aries)
sripatiSripati
horizontal / azimuthalHorizontal / Azimuthal
gauquelinGauquelin Sectors
apcAPC Houses
pullen_sdPullen Sinusoidal Delta
pullen_srPullen Sinusoidal Ratio
sunshineSunshine
carterCarter Poli-Equatorial

Bodies included

Aspects are computed between all unique pairs of the following 15 bodies:

CategoryBodies
PlanetsSun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto
Minor bodiesChiron, Lilith (Mean Black Moon)
Calculated pointsPart of Fortune (Asc + Moon − Sun)
Chart anglesAscendant (Asc), Midheaven (MC)

Response shape

FieldTypeDescription
languagestringLanguage served.
aspects[]arrayOne entry per in-orb aspect found. Only active (in-orb) aspects are returned; pairs with no aspect in orb are omitted.
.planet_1stringFirst body name.
.planet_2stringSecond body name.
.aspectstringOne of conjunction, sextile, square, trine, opposition.
.naturestringUI label: Fusion, Smooth, Friction, Lucky, or Tense.
.exact_angleintegerThe theoretical angle (0, 60, 90, 120, 180).
.actual_anglenumberActual angular separation in decimal degrees.
.actual_angle_dmsstringActual separation in degrees°minutes′seconds″ format.
.orb_deviationnumberDeviation from exact, in decimal degrees.
.orb_deviation_dmsstringDeviation in DMS format.
.applyingbooleantrue if the aspect is tightening (getting closer to exact), false if separating.
.predictionobject|null{"title":…, "text":…} when a prewritten entry exists; null when no content is available for that combination.

Errors

HTTPCodeCause
400MISSING_FIELDRequired field absent.
400INVALID_DATEBad calendar date or year out of range.
400INVALID_PARAMBad language or node_type value.
400INVALID_TIMEZONENon-IANA timezone.
400INVALID_COORDINATELat/lon out of range.
405METHOD_NOT_ALLOWEDNon-POST request.
500COMPUTE_ERRORChart computation failed.

See also