Swiss Ephemeris API
Το Swiss Ephemeris είναι το de-facto πρότυπο για αστρονομικούς υπολογισμούς στην αστρολογία: βασίζονται σε αυτό το Astrodienst (astro.com), το Solar Fire, το Kerykeion και το μεγαλύτερο μέρος του σοβαρού λογισμικού. Διαβάζει τις εφημερίδες DE431 από τη NASA JPL και παρέχει υποδευτερόλεπτη ακρίβεια. Το AstroWay API σου δίνει άμεση πρόσβαση HTTP σε αυτό – χωρίς μεταγλώττιση βιβλιοθήκης C, χωρίς λήψη αρχείων .se1, χωρίς διαχείριση μνήμης. Ένα αίτημα POST, JSON ως απάντηση.
Γιατί Swiss Ephemeris μέσω API
Ενότητα με τίτλο «Γιατί Swiss Ephemeris μέσω API»Το self-host Swiss Ephemeris σημαίνει: να μεταγλωττίσεις μια βιβλιοθήκη C (ή ένα WASM-build), να φιλοξενήσεις αρκετές εκατοντάδες megabytes αρχείων .se1, να τα διατηρείς ενημερωμένα και να υλοποιήσεις μόνος σου τις ακμές των οίκων, τις όψεις, τις φάσεις. Μέσω API, όλα αυτά είναι ευθύνη κάποιου άλλου:
- Μηδενική υποδομή: καθόλου binaries, αρχεία εφημερίδων ή καθυστερήσεις cold-start. Ο υπολογισμός εκτελείται server-side με την ίδια μηχανή που χρησιμοποιεί το Astrodienst.
- Υποδευτερόλεπτη ακρίβεια:
< 0.1″έναντι του referenceswetestCGI από το Astrodienst, επαληθευμένο σε 873 frozen snapshot-tests σε κάθε deploy. - Πλήρες εύρος ημερομηνιών: Το DE431 καλύπτει 13201 BCE – 17191 CE, οπότε οι ιστορικοί και οι μακρινοί μελλοντικοί χάρτες υπολογίζονται χωρίς απώλεια ακρίβειας.
- Όχι μόνο θέσεις: πάνω από τις εφημερίδες είναι άμεσα διαθέσιμες οι ακμές των οίκων (15 συστήματα), οι όψεις, οι εκλείψεις, οι διελεύσεις, οι προοδευτικές – αυτά που θα έπρεπε να γράψεις μόνος σου σε self-host.
Τι υπολογίζεται με το Swiss Ephemeris
Ενότητα με τίτλο «Τι υπολογίζεται με το Swiss Ephemeris»| Endpoint | Credits | Τι επιστρέφει |
|---|---|---|
/v1/chart | 20 | Πλήρης χάρτης: πλανήτες + οίκοι + όψεις |
/v1/planets | 10 | Γεωκεντρικές θέσεις πλανητών (γεωγραφικό μήκος, γεωγραφικό πλάτος, ταχύτητα, ανάδρομη κίνηση) |
/v1/houses | 10 | Ακμές οίκων - 15 συστήματα (Placidus, Koch, Whole Sign, Equal…) |
/v1/transits | 50 | Διελεύσεις σε γενέθλιο χάρτη για συγκεκριμένη ημερομηνία |
/v1/progressions | 50 | Δευτερεύουσες προοδευτικές (ημέρα = έτος) |
/v1/eclipses | 100 | Ηλιακές και σεληνιακές εκλείψεις (verified vs NASA Catalog) |
/v1/moon-phase | 10 | Φάση Σελήνης, φωτισμός, επόμενα τέταρτα |
/v1/fixed-stars | 20 | Συζυγίες πλανητών με απλανείς αστέρες |
Αυτό είναι μέρος των 771 endpoints της πλατφόρμας – πλήρης κατάλογος στον 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']}")Ποιος χρησιμοποιεί
Ενότητα με τίτλο «Ποιος χρησιμοποιεί»- Προγραμματιστές εφαρμογών αστρολογίας: υποδευτερόλεπτες θέσεις χωρίς self-host βιβλιοθήκη C
- AI-agents: ακριβείς εφημερίδες ως grounding για LLM (μέσω MCP-server)
- Ερευνητές: μαζικοί υπολογισμοί στο ιστορικό εύρος του DE431
- Μετάβαση από self-host: αντικατάσταση του τοπικού
swissephμε HTTP χωρίς απώλεια ακρίβειας
Οι θέσεις των πλανητών (/v1/planets) – 10 credits, ο πλήρης χάρτης (/v1/chart) – 20. Στο Free πλάνο (771+ endpoints, 10.000 credits/μήνα) – περίπου 1000 αιτήματα πλανητών ανά μήνα δωρεάν, χωρίς κάρτα.