Back to Docs

Natal Chart (Western)

POST/api/v1/natal/calculate

Generate a professional Western Natal Chart with support for multiple house systems, precise planetary speeds, station detection, and extra bodies (Asteroids & Nodes).

Full URL

https://astro-api-1qnc.onrender.com/api/v1/natal/calculate

Request Body Parameters

ParameterTypeRequiredDescription
namestringNoSubject name (for display purposes)
yearintegerYesBirth year (e.g., 1990)
monthintegerYesBirth month (1-12)
dayintegerYesBirth day (1-31)
hourintegerYesBirth hour (0-23, 24-hour format)
minuteintegerYesBirth minute (0-59)
citystringYesCity name (used for coordinate lookup via /geo/search)
latfloatNoLatitude (-90 to 90). Optional: auto-resolved from city if not provided
lngfloatNoLongitude (-180 to 180). Optional: auto-resolved from city if not provided
tz_strstringNoTimezone string (e.g. 'Europe/Paris' or 'AUTO'). Default: AUTO
house_systemstringNoplacidus (default), whole_sign, equal, koch, regiomontanus, porphyry, campanus
zodiac_typestringNotropical (default) or sidereal. Sidereal uses the specified ayanamsa.
sidereal_ayanamsastringNolahiri (default), raman, kp, fagan_bradley, yukteshwar. Only used when zodiac_type=sidereal.
include_speedbooleanNoIf true, returns daily speed (deg/day) and stationary flag. Default: false
include_featuresarray[str]NoList of extra bodies: chiron, lilith, true_node, mean_node, etc.
orb_settingsobjectNoCustom orb overrides, e.g. {'Conjunction': 10.0}

Advanced Features v1.6

House Systems

  • Placidus (default)
  • Whole Sign
  • Equal House
  • Regiomontanus
  • Koch
  • Porphyry
  • Campanus
  • Topocentric

Extra Bodies

Pass name in include_features list:

chironlilithtrue_nodemean_nodepholuscerespallasjunovesta

Orbs & Settings

You can override default orb settings for any aspect. For example, to make square aspects strictly 2 degrees:

"orb_settings": { "Square": 2.0 }

Default Aspects

Major Aspects

Conjunction
Default Orb:
Opposition
180°
Default Orb:
Trine
120°
Default Orb:
Square
90°
Default Orb:
Sextile
60°
Default Orb:

Minor Aspects

Quincunx
150°
Default Orb:
Semi-sextile
30°
Default Orb:
Semi-square
45°
Default Orb:
Sesquiquadrate
135°
Default Orb:
Quintile
72°
Default Orb:

Sample Code

import requests
import json

url = "https://astro-api-1qnc.onrender.com/api/v1/natal/calculate"

payload = {
    "name": "John Doe",
    "year": 1990,
    "month": 5,
    "day": 15,
    "hour": 14,
    "minute": 30,
    "city": "New York",
    "lat": 40.7128,
    "lng": -74.006,
    "tz_str": "AUTO",       # "AUTO" will resolve based on lat/lng and date
    "house_system": "placidus", # "whole_sign", "equal", "koch", etc.
    "zodiac_type": "tropical",  # "tropical" (default) or "sidereal"
    # "sidereal_ayanamsa": "lahiri",  # Only used when zodiac_type="sidereal"
    "include_speed": True,      # Adds speed (deg/day) and stationary flag
    "include_features": ["chiron", "lilith", "true_node"],
    "orb_settings": {
        "Conjunction": 8.0,
        "Opposition": 8.0,
        "Trine": 8.0,
        "Square": 8.0,
        "Sextile": 6.0
    }
}

headers = {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

Response Data

{
  "subject": {
    "name": "John Doe",
    "city": "New York",
    "...": "...",
    "settings": {
      "house_system": "placidus",
      "julian_day": 2448032.27083,
      "zodiac_type": "Tropical"
    }
  },
  
  "planets": [
    {
      "id": "sun",
      "name": "Sun",
      "sign": "Tau",
      "pos": 24.72,
      "abs_pos": 54.72,
      "house": 9,
      "retrograde": false,
      "speed": 0.96,
      "is_stationary": false
    },
    {
      "id": "moon",
      "name": "Moon",
      "sign": "Aqu",
      "pos": 14.23,
      "abs_pos": 314.23,
      "house": 5,
      "retrograde": false,
      "speed": 12.45,
      "is_stationary": false
    },
    {
      "id": "chiron",
      "name": "Chiron",
      "sign": "Can",
      "pos": 12.34,
      "abs_pos": 102.34,
      "house": 11,
      "retrograde": false,
      "speed": 0.05,
      "is_stationary": false
    },
    {
      "id": "asc",
      "name": "Ascendant",
      "sign": "Vir",
      "pos": 18.5,
      "abs_pos": 168.5,
      "house": 1,
      "retrograde": false
    }
  ],
  
  "houses": [
    { "house": 1, "name": "1", "sign": "Vir", "pos": 18.5, "abs_pos": 168.5 },
    { "house": 2, "name": "2", "sign": "Lib", "pos": 15.2, "abs_pos": 195.2 }
    // ... 12 houses
  ],
  
  "aspects": [
    {
      "p1": "Sun",
      "p2": "Moon",
      "type": "Square",
      "orb": 5.51,
      "deg": 90.0,
      "is_major": true
    }
  ]
}

Related Endpoints