Swiss Ephemeris API
Swiss Ephemeris adalah standar de facto untuk perhitungan astronomi dalam astrologi: Astrodienst (astro.com), Solar Fire, Kerykeion, dan sebagian besar perangkat lunak serius menggunakannya. Ini membaca ephemeris DE431 dari NASA JPL dan memberikan akurasi sub-detik. AstroWay API memberikan akses HTTP langsung ke sana – tanpa kompilasi pustaka C, tanpa mengunduh file .se1, tanpa manajemen memori. Satu permintaan POST, JSON sebagai respons.
Mengapa Swiss Ephemeris melalui API
Section titled “Mengapa Swiss Ephemeris melalui API”Self-hosting Swiss Ephemeris berarti: mengkompilasi pustaka C (atau build WASM), menampung beberapa ratus megabyte file .se1, menjaganya tetap mutakhir, dan mengimplementasikan sendiri cusp rumah, aspek, dan fase. Melalui API, semua ini adalah masalah orang lain:
- Nol Infrastruktur: tidak ada biner, file ephemeris, atau penundaan cold-start. Perhitungan dilakukan di sisi server dengan mesin yang sama dengan Astrodienst.
- Akurasi Sub-detik:
< 0.1″dibandingkan denganswetestCGI referensi dari Astrodienst, diverifikasi pada 873 tes snapshot beku di setiap deployment. - Rentang Tanggal Penuh: DE431 mencakup 13201 BCE – 17191 CE, sehingga grafik historis dan masa depan yang jauh dihitung tanpa kehilangan akurasi.
- Tidak Hanya Posisi: di atas ephemeris, cusp rumah (15 sistem), aspek, gerhana, transit, progresi segera tersedia – hal-hal yang harus kamu tulis sendiri jika self-hosting.
Apa yang Dihitung di Swiss Ephemeris
Section titled “Apa yang Dihitung di Swiss Ephemeris”| Endpoint | Kredit | Apa yang Dikembalikan |
|---|---|---|
/v1/chart | 20 | Grafik Lengkap: planet + rumah + aspek |
/v1/planets | 10 | Posisi Geocentris Planet (bujur, lintang, kecepatan, retrograd) |
/v1/houses | 10 | Cusp Rumah - 15 sistem (Placidus, Koch, Whole Sign, Equal…) |
/v1/transits | 50 | Transit ke grafik natal pada tanggal yang ditentukan |
/v1/progressions | 50 | Progresi Sekunder (hari = tahun) |
/v1/eclipses | 100 | Gerhana Matahari dan Bulan (diverifikasi vs Katalog NASA) |
/v1/moon-phase | 10 | Fase Bulan, iluminasi, kuartil berikutnya |
/v1/fixed-stars | 20 | Konjungsi planet dengan bintang tetap |
Ini adalah bagian dari 760 endpoint platform – daftar lengkapnya ada di Referensi API.
Contoh
Section titled “Contoh”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']}")Siapa yang Menggunakan
Section titled “Siapa yang Menggunakan”- Pengembang Aplikasi Astrologi: posisi sub-detik tanpa self-hosting pustaka C
- Agen AI: ephemeris akurat sebagai grounding untuk LLM (melalui server MCP)
- Peneliti: perhitungan massal pada rentang historis DE431
- Migrasi dari Self-host: penggantian
swissephlokal dengan HTTP tanpa kehilangan akurasi
Posisi planet (/v1/planets) – 10 kredit, grafik lengkap (/v1/chart) – 20. Pada paket Gratis (760+ endpoint, 10.000 kredit/bulan) – sekitar 1000 permintaan planet per bulan secara gratis, tanpa kartu.