We store your preferences (language, theme, chart settings) locally on your device. No tracking cookies, no ads, no third-party analytics.
In compliance with GDPR (EU) and CCPA (California), we want you to know exactly what data is stored locally on your device. Your birth data never leaves your browser — all calculations run client-side. Cookie Policy
Swiss Ephemeris powered astrology calculations via REST API. Natal charts, synastry, transits, progressions, planetary hours, retrograde periods and more.
https://api-calc.astroway.info/api/v1X-Api-Key: your_key{ "ok": true, "data": {...} }All endpoints (except /health) require an API key in the X-Api-Key header.
Plans:
Rate limit exceeded returns 429 with Retry-After header.
date — birth date YYYY-MM-DDtime — birth time HH:mm:sstimezoneOffset — hours from UTC (e.g. 3 for UTC+3)latitude, longitude — required for houses, aspects, progressions, returns. Not needed for /planets/void-of-course → /moon-voc · /harmonic → /harmonics
Get Moon sign for a birth date in 3 lines:
curl -X POST https://api-calc.astroway.info/api/v1/planets \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3}'Response includes Moon longitude (e.g. 296.9° = Capricorn), plus all other planets with positions, speeds, declinations and retrograde status.
Full natal chart with houses and aspects:
curl -X POST https://api-calc.astroway.info/api/v1/chart \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3,
"latitude": 50.45, "longitude": 30.52, "houseSystem": "P"}'Mercury retrograde periods for 2026:
curl -X POST https://api-calc.astroway.info/api/v1/retrograde-periods \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"startDate": "2026-01-01", "endDate": "2026-12-31", "planetIds": [2]}'Every API key has a personal usage dashboard. Open it in a browser to see a visual stats page, or fetch JSON programmatically.
https://api-calc.astroway.info/api/v1/status?key=YOUR_API_KEYhttps://api-calc.astroway.info/api/v1/status?key=YOUR_API_KEY&format=jsonhttps://api-calc.astroway.info/api/v1/status?key=YOUR_API_KEY&format=htmlThe dashboard shows: requests today / 7 days / 30 days, rate limits with usage bars, daily chart, top endpoints by usage, key metadata (plan, rate limit, creation date). No authentication header needed — the key in the URL is the auth.
Use the section parameter to get only the data you need:
| Parameter | Returns | Example |
|---|---|---|
section=limits | Plan, rate limit, daily/monthly capacity, usage % | { "plan": "free", "requestsPerMinute": 60, "usagePercent": { "today": 5 } } |
section=usage | Request counts: today, 7 days, 30 days | { "today": 42, "week": 285, "month": 1250 } |
section=endpoints | Top endpoints by usage (30 days) | [{ "endpoint": "planets", "total": 800 }] |
section=daily | Daily request counts (30 days) | [{ "date": "2026-03-19", "count": 42 }] |
section=key | Key metadata (name, plan, created, last used) | { "name": "My App", "plan": "free", ... } |
# Get only rate limits curl "https://api-calc.astroway.info/api/v1/status?key=YOUR_API_KEY§ion=limits" # Get only usage counters curl "https://api-calc.astroway.info/api/v1/status?key=YOUR_API_KEY§ion=usage"
| HTTP | Code | Description |
|---|---|---|
| 400 | MISSING_FIELDS | Required fields missing |
| 400 | INVALID_INPUT | Invalid date/time format |
| 401 | MISSING_API_KEY | No X-Api-Key header |
| 401 | INVALID_API_KEY | Key not found or inactive |
| 429 | RATE_LIMIT | Too many requests |
| 500 | INTERNAL_ERROR | Server error |
0Sun1Moon2Mercury3Venus4Mars5Jupiter6Saturn7Uranus8Neptune9Pluto10Mean Node11True Node12Mean Lilith13True Lilith15Chiron"P"Placidus"K"Koch"O"Porphyry"R"Regiomontanus"C"Campanus"A"Equal (ASC)"W"Whole Sign"M"Morinus"B"Alcabitius"T"Polich/Page"X"Hindu Bhava"V"Vehlow