Swiss Ephemeris API
Swiss Ephemeris è lo standard de facto per i calcoli astronomici in astrologia: su di esso si basano Astrodienst (astro.com), Solar Fire, Kerykeion e la maggior parte del software serio. Legge le effemeridi DE431 di NASA JPL e offre una precisione inferiore al secondo d’arco. AstroWay API ti dà un accesso HTTP diretto: niente compilazione della libreria C, niente download dei file .se1, niente gestione della memoria. Una richiesta POST, JSON in risposta.
Perché Swiss Ephemeris tramite API
Sezione intitolata “Perché Swiss Ephemeris tramite API”Ospitare Swiss Ephemeris in proprio significa compilare la libreria C (o una build WASM), collocare alcune centinaia di megabyte di file .se1, tenerli aggiornati e implementare da soli le cuspidi delle case, gli aspetti, le fasi. Con l’API tutto questo diventa un problema di qualcun altro:
- Zero infrastruttura: nessun binario, nessun file di effemeridi, nessuna latenza da cold start. Il calcolo avviene lato server sullo stesso motore usato da Astrodienst.
- Precisione sotto il secondo d’arco:
< 0.1″rispetto al CGIswetestdi riferimento di Astrodienst, verificata su 873 snapshot test congelati a ogni deploy. - Intervallo di date completo: DE431 copre dal 13201 BCE – 17191 CE, quindi le carte storiche e quelle del lontano futuro si calcolano senza perdita di precisione.
- Non solo posizioni: sopra le effemeridi sono subito disponibili cuspidi delle case (15 sistemi), aspetti, eclissi, transiti, progressioni, cioè tutto ciò che con il self-hosting dovresti scrivere da solo.
Cosa si calcola con Swiss Ephemeris
Sezione intitolata “Cosa si calcola con Swiss Ephemeris”| Endpoint | Crediti | Cosa restituisce |
|---|---|---|
/v1/chart | 20 | Carta completa: pianeti + case + aspetti |
/v1/planets | 10 | Posizioni geocentriche dei pianeti (longitudine, latitudine, velocità, retrogradazione) |
/v1/houses | 10 | Cuspidi delle case, 15 sistemi (Placidus, Koch, Whole Sign, Equal…) |
/v1/transits | 50 | Transiti sulla carta natale per una data scelta |
/v1/progressions | 50 | Progressioni secondarie (un giorno = un anno) |
/v1/eclipses | 100 | Eclissi solari e lunari (verificate con il NASA Catalog) |
/v1/moon-phase | 10 | Fase lunare, illuminazione, prossimi quarti |
/v1/fixed-stars | 20 | Congiunzioni dei pianeti con le stelle fisse |
Fanno parte dei 771 endpoint della piattaforma; l’elenco completo è nel riferimento API.
Esempio
Sezione intitolata “Esempio”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']}")Chi lo usa
Sezione intitolata “Chi lo usa”- Sviluppatori di app di astrologia: posizioni con precisione sotto il secondo d’arco senza ospitare la libreria C
- Agenti AI: effemeridi precise come grounding per gli LLM (tramite il server MCP)
- Ricercatori: calcoli in massa sull’intervallo storico di DE431
- Migrazione dal self-hosting: sostituire lo
swissephlocale con HTTP senza perdere precisione
Le posizioni dei pianeti (/v1/planets) costano 10 crediti, la carta completa (/v1/chart) 20. Con il piano Free (771+ endpoint, 10 000 crediti/mese) hai circa 1000 richieste di pianeti al mese gratis, senza carta di credito.