Astrology Houses API
AstroAPI uses Western (tropical), geocentric astrology by default. Sidereal or Vedic-style calculations are not applied unless explicitly enabled and documented.
The Houses API calculates astrological house systems and chart angles using precise astronomical calculations. In addition to house cusps, this endpoint returns full chart context required for accurate rendering and analysis. All access uses API key authentication.
Endpoint
POST https://api.astroapi.io/api/astro/houses
Include Authorization: Bearer <API_KEY>.
Supported House Systems
placidus(default)wholeequalkoch(available when enabled)campanus(available when enabled)porphyry(available when enabled)
Example Request
{
"birth": {
"date": "1990-01-01",
"time": "12:00",
"lat": 40.7128,
"lon": -74.0060
},
"system": "placidus"
}
Example Response
{
"type": "houses",
"house_system": "placidus",
"status": "ok",
"planets": {
"Sun": { "lon": 0, "sign": "Aries" },
"Moon": { "lon": 1.47, "sign": "Aries" }
},
"houses": {
"ascendant": 94.64,
"mc": 208.91,
"systems": {
"whole_sign": {
"name": "Whole sign",
"houses": { "1": 90, "2": 120 }
},
"equal": {
"name": "Equal",
"houses": { "1": 94.64, "2": 124.64 }
},
"placidus": {
"name": "Placidus",
"houses": { "1": 94.64, "2": 132.89 }
}
}
},
"aspects": [
{
"p1": "Sun",
"p2": "Moon",
"type": "conjunction",
"distance": 1.47,
"orb": 1.47
}
],
"nodes": {
"mean": {
"sign": "Cancer",
"deg_in_sign": 19.53
}
},
"metadata": {
"note": "DE421 ephemeris; raw calculation output"
},
"input": {
"date": "1990-01-01",
"time": "12:00",
"lat": 40.7128,
"lon": -74.0060
}
}
Quick Test / curl
Use this curl command to quickly test the Houses API endpoint with your API key:
curl -i https://api.astroapi.io/api/astro/houses \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-d '{
"birth": {
"date": "2000-01-01",
"time": "12:00",
"lat": 33.7488,
"lon": -84.3877
}
}'
Common Uses
- Chart wheel rendering
- Natal interpretations
- Synastry overlays
- Life-area analytics
- Astrology dashboards
This API provides raw calculation data only; interpretation, scoring, and compatibility logic are handled client-side.
// JavaScript — Houses API
fetch("https://api.astroapi.io/api/astro/houses", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({
birth: {
date: "1990-01-01",
time: "12:00",
lat: 40.7128,
lon: -74.0060
},
system: "placidus"
})
})
.then(res => res.json())
.then(data => console.log(data));
# Python — Houses API
import requests
url = "https://api.astroapi.io/api/astro/houses"
payload = {
"birth": {
"date": "1990-01-01",
"time": "12:00",
"lat": 40.7128,
"lon": -74.0060
},
"system": "placidus"
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())