Endpoint
Natal
Tropical or sidereal natal chart with houses, aspects, and pattern analysis.
POST
/api/v1/natal
POST
/api/v1/natal/svg
SVG wheel
GET
/api/v1/natal/svg
same auth header; not embeddable as <img>
Parameters
| Field | Required | Notes |
|---|---|---|
| year, month, day | yes | Birth date |
| hour, minute | no | Default 12:00 if omitted |
| latitude, longitude | one of | Or location string (geocoded) |
| house_system | no | placidus, koch, equal, whole_sign, regiomontanus, campanus, morinus, porphyry |
| zodiac_type | no | tropical (default) or sidereal |
| ayanamsa | no | lahiri, raman, kp, fagan_bradley, deluce, j2000 — used when sidereal |
| include_asteroids | no | Default false |
- The optional IANA timezone controls the birth instant. Omitted timezone means UTC; coordinates determine the chart location.
- SVG themes and size are query/body options on the svg actions. Fetch from your backend.
Request
{
"day": 15,
"hour": 14,
"house_system": "placidus",
"include_asteroids": false,
"latitude": 40.7128,
"longitude": -74.006,
"minute": 30,
"month": 5,
"year": 1990,
"zodiac_type": "tropical"
}
Response (truncated)
{
"calculated_at": "2026-01-15T12:00:00Z",
"input": {
"birth_date": "1990-05-15",
"birth_time": "14:30:00",
"coordinates": {
"latitude": 40.7128,
"longitude": -74.006
}
},
"request_id": "a1b2c3d4e5f6",
"result": {
"ascendant": {
"degree": 12.45,
"sign": "Virgo"
},
"midheaven": {
"degree": 18.32,
"sign": "Gemini"
},
"patterns": {
"chart_shape": "Bundle",
"dominant_element": "Earth",
"dominant_modality": "Fixed",
"hemisphere_emphasis": "Eastern"
},
"planets": [
{
"degree": 24.32,
"house": 9,
"longitude": 54.32,
"name": "Sun",
"retrograde": false,
"sign": "Taurus"
}
],
"zodiac_type": "tropical"
},
"usage": {
"daily_limit": 500,
"monthly_limit": 10000,
"requests_this_day": 12,
"requests_this_month": 140,
"scope": "account_plan"
}
}