Sidereal Astrology API Documentation
Sidereal birth charts, houses, transits, synastry, and Moon nakshatra data for astrologers and developers using Lahiri, Raman, Krishnamurti, Fagan–Bradley, Yukteshwar, Sassanian, True Chitra, True Revati, True Pushya, Galactic Center at 0 Sagittarius, or Galactic Alignment/Mardyks ayanamsa.
Cosmic Ephemeris supports sidereal astrology as an explicit opt-in mode. When enabled, planetary longitudes are adjusted using a date-aware ayanamsa offset. Tropical remains the default for chart endpoints. The separate nakshatra timeline is always sidereal.
Sidereal mode provides coordinate transforms only. It does not implement full Vedic astrology systems or Panchanga logic.
Sidereal Mode: Capabilities & Limitations
What Sidereal Mode CAN Do
- Convert tropical planetary longitudes to sidereal using date-aware ayanamsa offsets
- Support explicit opt-in via
"zodiac": "sidereal" - Apply Lahiri, Raman, Krishnamurti, Fagan–Bradley, Yukteshwar, Sassanian, True Chitra, True Revati, True Pushya, Galactic Center at 0 Sagittarius, or Galactic Alignment/Mardyks ayanamsa for sidereal longitude calculations
- Generate sidereal planetary positions using JPL DE421 ephemeris data
- Calculate sidereal birth charts, aspects, houses, transits, and synastry
- Compute Moon Nakshatra and pada from sidereal longitude
- Preserve deterministic, interpretation-free calculation output
- Return raw data suitable for research, analytics, and custom logic
What Sidereal Mode CANNOT Do
- Does not implement full Vedic astrology systems
- No Panchang fields are added by the sidereal flag; use the separate instant Panchang beta for tithi, nakshatra, yoga, karana and bounded sunrise-based vara. Muhurta election remains unsupported.
- No Vedic sunrise/sunset day-boundary rules
- No dashas added to the birth-chart response; use the separate Vimshottari beta for major/subperiods and optional fixed third/fourth levels
- No interpretive planetary yoga combinations or predictive certainty
- No interpretive or religious astrology logic
- No regional or tradition-specific calendar alignment
- Does not attempt to match every third-party Vedic API output
Differences between Cosmic Ephemeris sidereal results and Vedic-only astrology platforms are expected. Those systems often embed additional cultural, calendrical, or interpretive rules that Cosmic Ephemeris intentionally does not apply.
-
🔐 Authentication
API keys are used for server-side calculation access. A protected cookie session is used for the dashboard.
-
🌙 Sidereal Birth Chart API
Generate natal charts using sidereal planetary positions with ayanamsa offsets. Moon nakshatras included.
-
🪐 Sidereal Transits API
Calculate natal-to-transit relationships using date-aware sidereal longitudes. Cross-date separations can differ slightly from tropical mode.
-
✨ Sidereal Aspects API
Aspect calculations using sidereal positions. Angular relationships are unchanged.
-
🏠 Sidereal Houses API
House systems computed using sidereal zodiac offsets. No Panchanga day logic applied.
-
💞 Sidereal Synastry API
Relationship comparison using sidereal planetary coordinates for both charts.
Sidereal chart requests require "zodiac": "sidereal". Supported ayanamsas
are lahiri, raman, krishnamurti, fagan_bradley, yukteshwar, sassanian, true_chitra, true_revati, true_pushya, galactic_center_0_sagittarius, and galactic_alignment_mardyks; omitted
ayanamsa defaults to lahiri. The public date window is
1900-01-01 through 2050-12-31.
The timeline uses a separate request shape and requires an explicit ayanamsa.
// Node.js 22+ — server-side only
fetch("https://api.cosmicephemeris.com/api/astro/birth-chart", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${process.env.COSMICEPHEMERIS_KEY}`
},
body: JSON.stringify({
date: "2000-01-01",
time: "12:00",
timezone: "UTC",
lat: 0.0,
lon: 0.0,
zodiac: "sidereal",
ayanamsa: "lahiri"
})
})
.then(res => res.json())
.then(data => console.log(data));
# Python — Sidereal Birth Chart Example
import os
import requests
url = "https://api.cosmicephemeris.com/api/astro/birth-chart"
payload = {
"date": "2000-01-01",
"time": "12:00",
"timezone": "UTC",
"lat": 0.0,
"lon": 0.0,
"zodiac": "sidereal",
"ayanamsa": "lahiri"
}
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.environ['COSMICEPHEMERIS_KEY']}"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())