Swiss Ephemeris API
Swiss Ephemeris est le standard de fait des calculs astronomiques en astrologie : Astrodienst (astro.com), Solar Fire, Kerykeion et la plupart des logiciels sérieux reposent dessus. Il lit les éphémérides DE431 du NASA JPL et offre une précision inférieure à la seconde d’arc. AstroWay API y donne un accès HTTP direct : sans compiler de bibliothèque C, sans télécharger de fichiers .se1, sans gestion de la mémoire. Une requête POST, du JSON en réponse.
Pourquoi Swiss Ephemeris via une API
Section intitulée « Pourquoi Swiss Ephemeris via une API »Héberger soi-même Swiss Ephemeris, c’est : compiler la bibliothèque C (ou un build WASM), déployer plusieurs centaines de mégaoctets de fichiers .se1, les tenir à jour et implémenter soi-même les cuspides des maisons, les aspects, les phases. Avec l’API, tout cela devient le souci de quelqu’un d’autre :
- Zéro infrastructure : aucun binaire, aucun fichier d’éphémérides, aucune latence de cold start. Le calcul s’exécute côté serveur sur le même moteur qu’Astrodienst.
- Précision inférieure à la seconde : médiane
0.0013″, maximum0.561″(Chiron) par rapport au CGIswetestde référence d’Astrodienst, plus 888 tests snapshot figés à chaque déploiement. - Plage de dates complète : DE431 couvre 13201 BCE – 17191 CE, donc les thèmes historiques et ceux d’un futur lointain se calculent sans perte de précision.
- Pas seulement des positions : au-dessus des éphémérides, tu disposes directement des cuspides des maisons (15 systèmes), des aspects, des éclipses, des transits et des progressions, tout ce qu’il faudrait écrire soi-même en auto-hébergement.
Ce qui est calculé avec Swiss Ephemeris
Section intitulée « Ce qui est calculé avec Swiss Ephemeris »| Endpoint | Crédits | Ce qu’il renvoie |
|---|---|---|
/v1/chart | 20 | Thème complet : planètes + maisons + aspects |
/v1/planets | 10 | Positions géocentriques des planètes (longitude, latitude, vitesse, rétrogradation) |
/v1/houses | 10 | Cuspides des maisons, 15 systèmes (Placidus, Koch, Whole Sign, Equal…) |
/v1/transits | 50 | Transits sur le thème natal à une date donnée |
/v1/progressions | 50 | Progressions secondaires (un jour = un an) |
/v1/eclipses | 100 | Éclipses solaires et lunaires (verified vs NASA Catalog) |
/v1/moon-phase | 10 | Phase de la Lune, illumination, prochains quartiers |
/v1/fixed-stars | 20 | Conjonctions des planètes avec les étoiles fixes |
Cela fait partie des 865 endpoints de la plateforme ; la liste complète est dans la référence de l’API.
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']}")Qui l’utilise
Section intitulée « Qui l’utilise »- Développeurs d’applications d’astrologie : positions à la sous-seconde sans héberger soi-même la bibliothèque C
- Agents IA : des éphémérides précises comme grounding pour les LLM (via le serveur MCP)
- Chercheurs : calculs en masse sur la plage historique de DE431
- Migration depuis l’auto-hébergement : remplacer le
swissephlocal par du HTTP sans perte de précision
Les positions planétaires (/v1/planets) coûtent 10 crédits, le thème complet (/v1/chart) 20. Sur le plan Free (865+ endpoints, 10 000 crédits/mois), cela fait environ 1000 requêtes de planètes par mois gratuitement, sans carte bancaire.