Swiss Ephemeris API
Swiss Ephemeris - de facto standardul calculelor astronomice în astrologie: pe el se bazează Astrodienst (astro.com), Solar Fire, Kerykeion și majoritatea software-ului serios. Citește efemeridele DE431 de la NASA JPL și oferă precizie subsecundă. AstroWay API oferă acces HTTP direct la el - fără compilarea bibliotecii C, fără descărcarea fișierelor .se1, fără gestionarea memoriei. Un singur request POST, JSON în răspuns.
De ce Swiss Ephemeris prin API
Section titled “De ce Swiss Ephemeris prin API”Self-host Swiss Ephemeris înseamnă: să compilezi biblioteca C (sau build-ul WASM), să găzduiești câteva sute de megabytes de fișiere .se1, să le menții actualizate și să implementezi singur cuspidurile caselor, aspectele, fazele. Prin API tot asta devine o bătaie de cap a altora:
- Zero infrastructură: niciun binar, nici fișiere de efemeride sau întârzieri de cold-start. Calculul se execută server-side pe același motor ca și Astrodienst.
- Precizie subsecundă:
< 0.1″comparativ cuswetestCGI de referință de la Astrodienst, verificată pe 873 snapshot-uri înghețate la fiecare deploy. - Gamă completă de date: DE431 acoperă 13201 BCE – 17191 CE, astfel că hărțile istorice și cele din viitorul îndepărtat se calculează fără pierdere de precizie.
- Nu doar poziții: pe lângă efemeride sunt imediat disponibile cuspidurile caselor (15 sisteme), aspecte, eclipse, tranzite, progresii - ceea ce ar trebui să scrii tu la self-host.
Ce se calculează cu Swiss Ephemeris
Section titled “Ce se calculează cu Swiss Ephemeris”| Endpoint | Credite | Ce returnează |
|---|---|---|
/v1/chart | 20 | Hartă completă: planete + case + aspecte |
/v1/planets | 10 | Poziții geocentrice ale planetelor (longitudine, latitudine, viteză, retrograditate) |
/v1/houses | 10 | Cuspiduri ale caselor - 15 sisteme (Placidus, Koch, Whole Sign, Equal…) |
/v1/transits | 50 | Tranzite la harta natală pentru data specificată |
/v1/progressions | 50 | Progresii secundare (zi = an) |
/v1/eclipses | 100 | Eclipse solare și lunare (verified vs NASA Catalog) |
/v1/moon-phase | 10 | Fază a Lunii, iluminare, trimestre următoare |
/v1/fixed-stars | 20 | Conjuncții ale planetelor cu stele fixe |
Acesta este o parte din 760 endpoint-uri ale platformei - lista completă în ghidul API.
Exemplu
Section titled “Exemplu”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']}")Cine folosește
Section titled “Cine folosește”- Dezvoltatori de aplicații astrologice: poziții subsecunde fără biblioteca C self-host
- AI-agenti: efemeride precise ca bază pentru LLM (prin server MCP)
- Cercetători: calcule în masă pe intervalul istoric DE431
- Migrare de la self-host: înlocuirea
swissephlocal cu HTTP fără pierdere de precizie
Pozițiile planetare (/v1/planets) - 10 credite, harta completă (/v1/chart) - 20. Pe planul Free (760+ endpoint-uri, 10 000 credite/lună) - aproximativ 1000 de cereri de planete pe lună gratuit, fără card.