Sidereal Astrology Aspects API

AstroAPI uses Western (tropical), geocentric astrology by default. Sidereal calculations are applied only when explicitly enabled using "zodiac": "sidereal" and an ayanamsa selection. This endpoint provides sidereal coordinate transforms only and does not implement full Vedic astrology systems.

Calculate angular relationships between planets using sidereal zodiac coordinates. Aspect geometry is invariant; only the underlying planetary longitudes are adjusted using the selected ayanamsa.

Endpoint

POST https://api.astroapi.io/api/astro/aspects

Include Authorization: Bearer <API_KEY>.

Example Request (Sidereal)

{
  "birth": {
    "date": "1990-01-01",
    "time": "12:00",
    "timezone": "UTC",
    "lat": 40.7128,
    "lon": -74.0060
  },
  "zodiac": "sidereal",
  "ayanamsa": "lahiri"
}

Example Response

This verified response is abbreviated and numerically rounded. The full chart remains nested under aspects.

{
  "type": "aspects",
  "input": {
    "birth": {
      "date": "1990-01-01",
      "time": "12:00",
      "timezone": "UTC",
      "lat": 40.7128,
      "lon": -74.0060
    },
    "zodiac": "sidereal",
    "ayanamsa": "lahiri"
  },
  "aspects": {
    "planets": {
      "Sun": { "lon": 257.0968, "tropical_lon": 280.8143, "sign": "Sagittarius" },
      "Mars": { "lon": 226.2827, "tropical_lon": 250.0001, "sign": "Scorpio" }
    },
    "houses": {
      "ascendant": 250.9253,
      "mc": 185.1933,
      "systems": {
        "whole_sign": { "houses": { "1": 240, "2": 270 } },
        "equal": { "houses": { "1": 250.9253, "2": 280.9253 } }
      }
    },
    "aspects": [
      { "p1": "Sun", "p2": "Mars", "type": "semisextile", "exact_angle": 30, "distance": 30.8141, "orb": 0.8141 }
    ],
    "nodes": { "mean": { "longitude": 294.7143, "sign": "Capricorn", "deg_in_sign": 24.7143 } },
    "metadata": { "note": "Geocentric positions using JPL DE421 ephemeris." }
  }
}

Quick Test / curl

Use this curl command to quickly test the Sidereal Aspects API endpoint:

curl -i https://api.astroapi.io/api/astro/aspects \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${ASTROAPI_KEY}" \
  -d '{
    "birth": {
      "date": "2000-01-01",
      "time": "12:00",
      "timezone": "America/New_York",
      "lat": 33.7488,
      "lon": -84.3877
    },
    "zodiac": "sidereal",
    "ayanamsa": "lahiri"
  }'

Common Uses

  • Sidereal natal chart analysis
  • Aspect geometry visualization
  • Comparative astrology research
  • Coordinate-system experimentation

This API does not perform interpretation, scoring, or compatibility analysis. Aspect meaning and interpretation are the responsibility of the client application.

Supported ayanamsas are lahiri, raman, and krishnamurti; omission defaults to Lahiri. Public dates are limited to 1900-01-01 through 2050-12-31.

// Node.js 22+ — server-side only
fetch("https://api.astroapi.io/api/astro/aspects", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.ASTROAPI_KEY}`
  },
  body: JSON.stringify({
    birth: {
      date: "1990-01-01",
      time: "12:00",
      timezone: "America/New_York",
      lat: 40.7128,
      lon: -74.0060
    },
    zodiac: "sidereal",
    ayanamsa: "lahiri"
  })
})
  .then(res => res.json())
  .then(data => console.log(data));
# Python — Sidereal Aspects API
import os
import requests

url = "https://api.astroapi.io/api/astro/aspects"

payload = {
  "birth": {
    "date": "1990-01-01",
    "time": "12:00",
    "timezone": "America/New_York",
    "lat": 40.7128,
    "lon": -74.0060
  },
  "zodiac": "sidereal",
  "ayanamsa": "lahiri"
}

headers = {
  "Content-Type": "application/json",
  "Authorization": f"Bearer {os.environ['ASTROAPI_KEY']}"
}

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