POST · WESTERN

House Cusps

Endpoint POST https://starsapi.com/api/v3/western/natal/houses

Overview

Returns the 12 house cusps plus Ascendant and Midheaven (MC) for any of the 25 Swiss Ephemeris house systems. The Ascendant and MC are astronomical points (horizon and meridian) — they remain identical across all house systems. What changes between systems is the intermediate cusps (houses 2, 3, 5, 6, 8, 9, 11, 12).

Each cusp includes absolute tropical longitude, sign, sign number, and degree within sign in both decimal and DMS formats.

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. All 25 systems accepted. See full list.
node_typestringNotrue, mean, or both. Default true.
compare_systemsarrayNoArray of additional house system names to compare. See below.

Comparing house systems

Pass compare_systems to compute cusps for multiple house systems in a single call:

{
  "house_system": "placidus",
  "compare_systems": ["koch", "whole_sign", "equal"]
}

The response includes a comparison object keyed by system name, each containing house_cusps, ascendant, and midheaven. Useful for apps that let users toggle between systems without re-calling the API.

Response shape

data.house_system

Human-readable name of the primary house system (e.g. "Placidus", "Whole Sign").

data.house_cusps.{1–12}

Each cusp object:

FieldTypeDescription
longitudenumberAbsolute tropical longitude (0–360).
longitude_dmsstringDMS notation.
signstringZodiac sign.
sign_numberinteger1–12.
sign_symbolstringUnicode zodiac symbol.
degree_in_signnumber0–29.99.
degree_in_sign_dmsstringDMS within sign.

data.comparison (optional)

Only present when compare_systems is sent. Object keyed by system name, each with house_cusps, ascendant, midheaven.

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.
500EPHEMERIS_ERRORSwiss Ephemeris computation failed.

See also