Swiss Ephemeris API
Swiss Ephemeris – der De-facto-Standard für astronomische Berechnungen in der Astrologie: Astrodienst (astro.com), Solar Fire, Kerykeion und die meisten seriösen Softwarelösungen basieren darauf. Es liest die DE431-Ephemeriden von NASA JPL und bietet eine Subsekunden-Genauigkeit. Die AstroWay API bietet direkten HTTP-Zugriff darauf – ohne Kompilierung einer C-Bibliothek, ohne das Herunterladen von .se1-Dateien, ohne Speicherverwaltung. Eine POST-Anfrage, JSON als Antwort.
Warum Swiss Ephemeris über die API
Abschnitt betitelt „Warum Swiss Ephemeris über die API“Swiss Ephemeris selbst zu hosten bedeutet: eine C-Bibliothek (oder einen WASM-Build) zu kompilieren, mehrere hundert Megabyte an .se1-Dateien zu hosten, sie auf dem neuesten Stand zu halten und selbst Hausspitzen, Aspekte und Phasen zu implementieren. Über die API ist all das die Sorge eines anderen:
- Keine Infrastruktur: Keine Binärdateien, Ephemeriden-Dateien oder Cold-Start-Verzögerungen. Die Berechnung erfolgt serverseitig mit derselben Engine wie bei Astrodienst.
- Subsekunden-Genauigkeit:
< 0.1″im Vergleich zum Referenz-swetest-CGI von Astrodienst, verifiziert mit 873 eingefrorenen Snapshot-Tests bei jedem Deployment. - Voller Datumsbereich: DE431 deckt 13201 v. Chr. – 17191 n. Chr. ab, sodass historische und weit in der Zukunft liegende Horoskope ohne Genauigkeitsverlust berechnet werden.
- Nicht nur Positionen: Über den Ephemeriden sind sofort Hausspitzen (15 Systeme), Aspekte, Finsternisse, Transite, Progressionen verfügbar – Dinge, die du beim Self-Hosting selbst hättest schreiben müssen.
Was mit Swiss Ephemeris berechnet wird
Abschnitt betitelt „Was mit Swiss Ephemeris berechnet wird“| Endpoint | Credits | Was zurückgegeben wird |
|---|---|---|
/v1/chart | 20 | Vollständiges Horoskop: Planeten + Häuser + Aspekte |
/v1/planets | 10 | Geozentrische Planetenpositionen (Länge, Breite, Geschwindigkeit, Rückläufigkeit) |
/v1/houses | 10 | Hausspitzen – 15 Systeme (Placidus, Koch, Whole Sign, Equal…) |
/v1/transits | 50 | Transite zu einem Geburtshoroskop für ein bestimmtes Datum |
/v1/progressions | 50 | Sekundäre Progressionen (Tag = Jahr) |
/v1/eclipses | 100 | Sonnen- und Mondfinsternisse (verifiziert gegen NASA Catalog) |
/v1/moon-phase | 10 | Mondphase, Beleuchtungsgrad, nächste Quadraturen |
/v1/fixed-stars | 20 | Planetenkonjunktionen mit Fixsternen |
Dies ist ein Teil der 771 Endpunkte der Plattform – eine vollständige Liste findest du in der API-Referenz.
Beispiel
Abschnitt betitelt „Beispiel“curl -X POST https://api.astroway.info/v1/planets \ -H "X-Api-Key: aw_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "date": "1990-07-14", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.4501, "longitude": 30.5234 }'const r = await fetch('https://api.astroway.info/v1/planets', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY!, 'Content-Type': 'application/json', }, body: JSON.stringify({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234, }),});const { data } = await r.json();const sun = data.planets.find((p) => p.name === 'Sun');console.log(`Sun: ${sun.longitude.toFixed(4)}° retrograde: ${sun.isRetrograde}`);import os, requests
r = requests.post( 'https://api.astroway.info/v1/planets', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'}, json={ 'date': '1990-07-14', 'time': '14:30:00', 'timezoneOffset': 3, 'latitude': 50.4501, 'longitude': 30.5234, },)data = r.json()['data']sun = next(p for p in data['planets'] if p['name'] == 'Sun')print(f"Sun: {sun['longitude']:.4f}° retrograde: {sun['isRetrograde']}")Wer es nutzt
Abschnitt betitelt „Wer es nutzt“- Entwickler von Astro-Anwendungen: Subsekunden-Positionen ohne Self-Hosting einer C-Bibliothek
- KI-Agenten: Präzise Ephemeriden als Grounding für LLMs (über den MCP-Server)
- Forscher: Massenberechnungen im historischen DE431-Bereich
- Migration von Self-Host: Ersetzen des lokalen
swissephdurch HTTP ohne Genauigkeitsverlust
Planetenpositionen (/v1/planets) – 10 Credits, ein vollständiges Horoskop (/v1/chart) – 20. Im Free-Tarif (771+ Endpunkte, 10.000 Credits/Monat) – etwa 1000 Planetenanfragen pro Monat kostenlos, ohne Kreditkarte.