Birth Chart API
AstroAPI uses Western (tropical), geocentric astrology by default. Sidereal or Vedic-style calculations are not applied unless explicitly enabled and documented.
Generate natal astrology charts using API key authentication. Designed for passive, server-to-server usage.
Endpoint
POST https://api.astroapi.io/api/astro/birth-chart
Include Authorization: Bearer <API_KEY>.
Required Request Fields
date— ISO date (YYYY-MM-DD)time— 24-hour time (HH:MM)lat— latitude (decimal)lon— longitude (decimal)
Returns
- Planetary positions (Sun through Pluto)
- Ascendant and Midheaven (
mc) - Multiple house systems (Placidus, Whole Sign, Equal)
- Aspects, lunar nodes, and metadata
All calculation results are returned inside the chart object.
Example Response
{
"type": "birth-chart",
"input": {
"date": "1995-11-08",
"time": "14:22",
"lat": 34.05,
"lon": -118.24,
"timezone": "UTC"
},
"chart": {
"status": "ok",
"planets": {
"Sun": { "lon": 225.4, "sign": "Scorpio" },
"Moon": { "lon": 12.3, "sign": "Aries" }
},
"houses": {
"ascendant": 212.9,
"mc": 106.4,
"systems": {
"placidus": {
"houses": {
"1": 212.9,
"2": 240.3,
"3": 267.0,
"4": 295.7,
"5": 323.5,
"6": 351.8,
"7": 23.4,
"8": 50.7,
"9": 78.2,
"10": 106.4,
"11": 134.1,
"12": 162.0
}
}
}
}
}
}
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/birth-chart \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-d '{
"date": "2000-01-01",
"time": "12:00",
"lat": 33.7488,
"lon": -84.3877
}'
Common Uses
- Chart visualization
- User profiles
- Compatibility systems
- Astrology dashboards
All calculation results are returned as raw data. Interpretation, weighting, and scoring are the responsibility of the client application or downstream services.
// JavaScript — Birth Chart API
fetch("https://api.astroapi.io/api/astro/birth-chart", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({
date: "1995-11-08",
time: "14:22",
lat: 34.05,
lon: -118.24
})
})
.then(res => res.json())
.then(data => console.log(data));
# Python — Birth Chart API
import requests
url = "https://api.astroapi.io/api/astro/birth-chart"
payload = {
"date": "1995-11-08",
"time": "14:22",
"lat": 34.05,
"lon": -118.24
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())