Professional astrology calculation API powered by Swiss Ephemeris. Natal charts, transits, progressions, and solar/lunar returns with arc-second precision across 10 house systems.
Free and open source under AGPL-3.0.
- Swiss Ephemeris precision (arc-second accuracy)
- 10 house systems (Placidus, Whole Sign, Koch, Equal, and 6 more)
- 28+ celestial bodies (planets, nodes, asteroids, calculated points)
- 11 aspect types with configurable orbs
- 7 aspect patterns (Grand Trine, T-Square, Yod, Stellium, etc.)
- Automatic timezone resolution from coordinates
- Fixed stars with conjunction detection
- Export as JSON, Markdown, or AI-optimized prompt
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000Or with Docker:
docker compose up -d| Method | Endpoint | Description |
|---|---|---|
| POST | /natal-chart |
Natal chart (accepts local datetime) |
| POST | /transits |
Transits to natal chart |
| POST | /progressions |
Secondary progressions |
| POST | /solar-return |
Solar return chart |
| POST | /lunar-return |
Lunar return chart |
| POST | /fixed-stars |
Fixed stars and conjunctions |
| POST | /export |
Export chart (JSON/Markdown/AI) |
| GET | /config |
Available configuration |
| GET | /health |
Health check |
curl -X POST http://localhost:8000/natal-chart \
-H "Content-Type: application/json" \
-d '{
"local_datetime": "1990-06-15T14:30:00",
"latitude": 41.0082,
"longitude": 28.9784,
"location_name": "Istanbul, Turkey"
}'The API accepts local datetime and resolves the timezone from coordinates automatically.
Full API documentation: llms-full.txt | Interactive docs: /docs (Swagger UI)
- Python 3.11+ / FastAPI
- Swiss Ephemeris via pyswisseph
- Pydantic for validation
- TimezoneFinder for timezone resolution
- Docker for deployment
This project uses the Swiss Ephemeris library by Astrodienst AG, which is dual-licensed under AGPL-3.0 and the Swiss Ephemeris Professional License. This project uses Swiss Ephemeris under AGPL-3.0. See astro.com/swisseph for details.