Swiss Ephemeris API
Swiss Ephemeris es el estándar de facto para los cálculos astronómicos en astrología: Astrodienst (astro.com), Solar Fire, Kerykeion y la mayoría del software serio se basan en él. Lee las efemérides DE431 de NASA JPL y proporciona una precisión subsegundo. La API de AstroWay te da acceso HTTP directo a ella, sin compilar la biblioteca C, sin descargar archivos .se1, sin gestionar la memoria. Una solicitud POST, JSON como respuesta.
Por qué Swiss Ephemeris a través de una API
Sección titulada «Por qué Swiss Ephemeris a través de una API»Alojar Swiss Ephemeris por tu cuenta significa: compilar la biblioteca C (o una build WASM), alojar varios cientos de megabytes de archivos .se1, mantenerlos actualizados e implementar tú mismo las cúspides de las casas, los aspectos y las fases. A través de la API, todo esto es problema de otro:
- Cero infraestructura: sin binarios, archivos de efemérides ni retrasos por cold-start. El cálculo se realiza en el lado del servidor con el mismo motor que Astrodienst.
- Precisión subsegundo:
< 0.1″frente alswetestCGI de referencia de Astrodienst, verificado en 873 pruebas de snapshot congeladas en cada despliegue. - Rango completo de fechas: DE431 cubre 13201 BCE – 17191 CE, por lo que los mapas históricos y futuros lejanos se calculan sin pérdida de precisión.
- No solo posiciones: además de las efemérides, tienes acceso inmediato a las cúspides de las casas (15 sistemas), aspectos, eclipses, tránsitos, progresiones, todo lo que tendrías que escribir tú mismo si lo alojaras por tu cuenta.
Qué se calcula con Swiss Ephemeris
Sección titulada «Qué se calcula con Swiss Ephemeris»| Endpoint | Créditos | Qué devuelve |
|---|---|---|
/v1/chart | 20 | Carta completa: planetas + casas + aspectos |
/v1/planets | 10 | Posiciones geocéntricas de los planetas (longitud, latitud, velocidad, retrogradación) |
/v1/houses | 10 | Cúspides de las casas - 15 sistemas (Placidus, Koch, Whole Sign, Equal…) |
/v1/transits | 50 | Tránsitos a la carta natal en una fecha dada |
/v1/progressions | 50 | Progresiones secundarias (día = año) |
/v1/eclipses | 100 | Eclipses solares y lunares (verificado vs NASA Catalog) |
/v1/moon-phase | 10 | Fase lunar, iluminación, próximos cuartiles |
/v1/fixed-stars | 20 | Conjunciones de planetas con estrellas fijas |
Esto es parte de los 760 endpoints de la plataforma; la lista completa está en la referencia de la API.
Ejemplo
Sección titulada «Ejemplo»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én lo usa
Sección titulada «Quién lo usa»- Desarrolladores de aplicaciones de astrología: posiciones subsegundo sin alojar la biblioteca C por tu cuenta
- Agentes de IA: efemérides precisas como base para LLM (a través del servidor MCP)
- Investigadores: cálculos masivos en el rango histórico de DE431
- Migración desde self-host: reemplazo de
swissephlocal por HTTP sin pérdida de precisión
Las posiciones de los planetas (/v1/planets) cuestan 10 créditos, una carta completa (/v1/chart) 20. Con el plan Gratuito (760+ endpoints, 10 000 créditos/mes), obtienes aproximadamente 1000 solicitudes de planetas al mes gratis, sin tarjeta.