Efemérides

POST/api/v1/ephemeris/calculate

Consulta posiciones planetarias para un timestamp único o un rango completo de fechas con pasos configurables, metadatos de nivel astrológico, aspectos opcionales y una salida table pensada para calendarios, exports y vistas de efemérides mes a mes.

URL completa

https://api.freeastroapi.com/api/v1/ephemeris/calculate

También hay un alias práctico GET /api/v1/ephemeris para flujos por query string.

Ejemplo de cuadrícula mensual

Es la forma más clara de entender lo que devuelve table_style=grid: una fila por día, una columna por cuerpo, con posiciones formateadas listas para un calendario front-end o una vista de export.

FechaDíaSid.tSunMoonMercuryVenusMarsJupiterSaturn
1Sun10:35:1610°24' Pis09°07' Leo21°58' Pis Rx23°13' Pis28°45' Aqu15°15' Can Rx01°43' Ari
2Mon10:39:1211°25' Pis22°53' Leo21°28' Pis Rx24°28' Pis29°32' Aqu15°13' Can Rx01°51' Ari
3Tue10:43:0912°25' Pis06°25' Vir20°50' Pis Rx25°42' Pis00°19' Pis15°12' Can Rx01°58' Ari
4Wed10:47:0513°25' Pis19°43' Vir20°05' Pis Rx26°57' Pis01°06' Pis15°10' Can Rx02°05' Ari
5Thu10:51:0214°25' Pis02°44' Lib19°15' Pis Rx28°12' Pis01°54' Pis15°09' Can Rx02°12' Ari
6Fri10:54:5915°25' Pis15°28' Lib18°19' Pis Rx29°27' Pis02°41' Pis15°08' Can Rx02°20' Ari
7Sat10:58:5516°25' Pis27°56' Lib17°20' Pis Rx00°41' Ari03°28' Pis15°07' Can Rx02°27' Ari
8Sun11:02:5217°25' Pis10°10' Sco16°20' Pis Rx01°56' Ari04°16' Pis15°06' Can Rx02°34' Ari
9Mon11:06:4818°25' Pis22°14' Sco15°19' Pis Rx03°10' Ari05°03' Pis15°06' Can Rx02°41' Ari
10Tue11:10:4519°25' Pis04°10' Sag14°19' Pis Rx04°25' Ari05°50' Pis15°05' Can Rx02°49' Ari
11Wed11:14:4120°25' Pis16°03' Sag13°22' Pis Rx05°40' Ari06°37' Pis15°05' Can Rx02°56' Ari
12Thu11:18:3821°25' Pis27°57' Sag12°28' Pis Rx06°54' Ari07°25' Pis15°05' Can03°04' Ari
13Fri11:22:3422°25' Pis09°57' Cap11°38' Pis Rx08°09' Ari08°12' Pis15°06' Can03°11' Ari
14Sat11:26:3123°25' Pis22°09' Cap10°53' Pis Rx09°23' Ari08°59' Pis15°06' Can03°18' Ari
15Sun11:30:2824°25' Pis04°35' Aqu10°14' Pis Rx10°38' Ari09°46' Pis15°07' Can03°26' Ari
16Mon11:34:2425°24' Pis17°19' Aqu09°41' Pis Rx11°52' Ari10°34' Pis15°08' Can03°33' Ari
17Tue11:38:2126°24' Pis00°24' Pis09°14' Pis Rx13°06' Ari11°21' Pis15°09' Can03°41' Ari
18Wed11:42:1727°24' Pis13°51' Pis08°54' Pis Rx14°21' Ari12°08' Pis15°10' Can03°48' Ari
19Thu11:46:1428°24' Pis27°39' Pis08°39' Pis Rx15°35' Ari12°55' Pis15°11' Can03°56' Ari
20Fri11:50:1029°23' Pis11°44' Ari08°31' Pis Rx16°49' Ari13°42' Pis15°13' Can04°03' Ari
21Sat11:54:0700°23' Ari26°03' Ari08°30' Pis18°04' Ari14°30' Pis15°15' Can04°10' Ari
22Sun11:58:0301°23' Ari10°30' Tau08°34' Pis19°18' Ari15°17' Pis15°17' Can04°18' Ari
23Mon12:02:0002°22' Ari24°59' Tau08°43' Pis20°32' Ari16°04' Pis15°19' Can04°25' Ari
24Tue12:05:5703°22' Ari09°26' Gem08°58' Pis21°46' Ari16°51' Pis15°21' Can04°33' Ari
25Wed12:09:5304°21' Ari23°45' Gem09°18' Pis23°00' Ari17°38' Pis15°24' Can04°40' Ari
26Thu12:13:5005°21' Ari07°55' Can09°43' Pis24°15' Ari18°25' Pis15°27' Can04°48' Ari
27Fri12:17:4606°20' Ari21°52' Can10°13' Pis25°29' Ari19°12' Pis15°30' Can04°55' Ari
28Sat12:21:4307°19' Ari05°36' Leo10°47' Pis26°43' Ari19°59' Pis15°33' Can05°03' Ari
29Sun12:25:3908°19' Ari19°08' Leo11°25' Pis27°57' Ari20°46' Pis15°36' Can05°10' Ari
30Mon12:29:3609°18' Ari02°27' Vir12°07' Pis29°11' Ari21°33' Pis15°39' Can05°18' Ari
31Tue12:33:3210°17' Ari15°34' Vir12°53' Pis00°25' Tau22°20' Pis15°43' Can05°25' Ari

Elegir JSON

Usa format=json cuando quieres un instante único o una respuesta de rango fácil de procesar en tu lógica de aplicación.

Elegir Rows / Columns

Usa table_style=rows o columns cuando necesitas exports grandes, procesamiento tipo CSV o transformaciones UI personalizadas.

Elegir Grid

Usa table_style=grid cuando quieres una tabla mensual de efemérides con día de semana y tiempo sidéreo incluido.

Solicitudes más comunes

curl -X POST "https://api.freeastroapi.com/api/v1/ephemeris/calculate" \
 -H "Content-Type: application/json" \
 -H "x-api-key: YOUR_API_KEY" \
 -d '{
   "start": "2026-03-01T00:00:00Z",
   "bodies": ["Sun", "Moon", "Mercury"],
   "include_moon_void_of_course": true,
   "fixed_stars": ["Spica", "Regulus"]
 }'
curl -G "https://api.freeastroapi.com/api/v1/ephemeris" \
 -H "x-api-key: YOUR_API_KEY" \
 --data-urlencode "start=2026-03-01T00:00:00Z" \
 --data-urlencode "end=2026-03-31T00:00:00Z" \
 --data-urlencode "step=1d" \
 --data-urlencode "response_mode=table" \
 --data-urlencode "table_style=grid" \
 --data-urlencode "bodies=Sun,Moon,Mercury,Venus,Mars,Jupiter,Saturn,Uranus,Neptune,Pluto,Chiron,True_Lilith"
curl -G "https://api.freeastroapi.com/api/v1/ephemeris" \
 -H "x-api-key: YOUR_API_KEY" \
 --data-urlencode "start=2026-03-14T04:00:00Z" \
 --data-urlencode "end=2026-03-14T08:00:00Z" \
 --data-urlencode "step=5m" \
 --data-urlencode "bodies=Moon,Sun"

Parámetros cles

ParámetroTypeReqDescription
startstringFecha-hora ISO requerida. Si solo se proporciona start, el endpoint devuelve un único instante calculado para ese momento.
endstringNoFecha-hora ISO opcional para solicitudes por rango. Debe ser mayor o igual que start.
stepstringNoIntervalo entero en minutos, horas o días, como 1m, 5m, 15m, 1h, 6h, 1d o 7d. Por defecto: 1d.
citystringNoSolo POST. Funciona como natal: si se proporciona sin lat/lng, el servidor resuelve automáticamente las coordenadas.
latfloatNoLatitud. Si se proporcionan lat/lng, sustituyen la búsqueda de ciudad y se usan directamente.
lngfloatNoLongitud. Requerida con lat para solicitudes por coordenadas directas.
tz_strstringNoZona horaria o AUTO. AUTO usa las coordenadas resueltas y la fecha para determinar la zona.
bodiesarray[str] | csvNoCuerpos o puntos solicitados. Acepta un array POST o una cadena GET separada por comas.
formatstringNojson o table. Por defecto: json.
response_modestringNoAlias de format. Útil para solicitudes table en flujos por query string.
table_stylestringNorows, columns o grid. Grid corresponde a la salida de calendario mensual.
zodiac_typestringNotropical (por defecto) o sidereal.
sidereal_ayanamsastringNoSe usa solo cuando zodiac_type=sidereal. Sigue las convenciones de nombres de natal.
house_systemstringNoSistema de casas usado cuando se calculan casas o ángulos. Por defecto: placidus.
include_aspectsbooleanNoSi true, incluye datos de aspectos para cada instante calculado.
include_minor_aspectsbooleanNoSi true, amplía los aspectos para incluir tipos de aspectos menores.
include_moon_void_of_coursebooleanNoSi true, añade astrology.moon_void_of_course con el estado VOC actual, el próximo ingreso lunar y el próximo aspecto mayor aplicante de la Luna antes del ingreso cuando existe.
include_fixed_starsbooleanNoSi true, devuelve el conjunto astrológico por defecto de estrellas fijas bajo fixed_stars para cada instante calculado.
fixed_starsarray[str] | csvNoLista explícita opcional de estrellas fijas. Acepta un array POST o una cadena GET separada por comas, por ejemplo Spica,Regulus.
include_housesbooleanNoSi true, devuelve las casas. Se activa automáticamente cuando hay coordenadas disponibles, salvo si se define explícitamente en false.
include_anglesbooleanNoSi true, devuelve el ascendente, el MC y datos de ángulos relacionados. Se activa automáticamente cuando hay coordenadas disponibles, salvo si se define explícitamente en false.

Comportamiento de localización

  • Flujo recomendado: usa City Search, deja que el usuario elija un resultado exacto y luego envía lat, lng e idealmente tz_str.
  • city en POST /api/v1/ephemeris/calculate es un fallback práctico. Si solo envías una ciudad, el servidor resuelve automáticamente las coordenadas.
  • Si ya tienes coordenadas, envíalas. No reenvíes solo el nombre de ciudad después de City Search salvo que quieras que el servidor haga una segunda búsqueda.
  • Cuando hay coordenadas, casas y ángulos se incluyen automáticamente salvo si los desactivas explícitamente.

Límites de rango

  • table_style=grid sirve para vistas mensuales y se limita a 31 filas. Las solicitudes más largas devuelven 400 grid_range_too_large.
  • Usa 1h y 1d para tablas y exports estándar.
  • Usa pasos en minutos como 1m o 5m solo para timing exacto.
  • Los rangos a nivel de minuto se limitan a 1440 filas, unas 24h a 1m. Las solicitudes más largas devuelven 400 minute_range_too_large.
  • rows y columns permiten exports más amplios, siempre sujetos al límite general de filas del endpoint.

Luna void of course

  • Define include_moon_void_of_course=true para añadir un objeto moon_void_of_course bajo astrology para cada instante calculado.
  • El cálculo usa los aspectos mayores exactos de la Luna con Sun, Mercury, Venus, Mars, Jupiter y Saturn antes de que la Luna cambie de signo.
  • Para respuestas table, el mismo objeto está disponible en cada payload raw_rows[].astrology.

Cuerpos admitidos

Cuerpos principales

Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto

Nodos y puntos lunares

Mean Node, True Node, Lilith, True Lilith

Asteroides y cuerpos menores

Chiron, Pholus, Ceres, Pallas, Juno, Vesta

Puntos calculados por coordenadas

Ascendant, MC, Vertex, Part of Fortune

Los puntos calculados por coordenadas requieren lat y lng.

Ejemplos de respuesta

{
  "meta": {
    "start": "2026-03-01T00:00:00Z",
    "end": null,
    "step": null,
    "rows": 1,
    "bodies": ["Sun", "Moon", "Mercury"],
    "format": "json",
    "zodiac_type": "tropical",
    "sidereal_ayanamsa": null,
    "timezone": "UTC"
  },
  "data": {
    "timestamp": "2026-03-01T00:00:00Z",
    "local_timestamp": "2026-03-01T00:00:00+00:00",
    "subject": {
      "datetime": "2026-03-01T00:00:00+00:00",
      "location": {
        "city": null,
        "lat": null,
        "lng": null,
        "timezone": "UTC"
      },
      "settings": {
        "julian_day": 2461100.5,
        "julian_day_tt": 2461100.5007972275,
        "delta_t_days": 0.0007972275448330983,
        "delta_t_seconds": 68.8804598735797,
        "zodiac_type": "Tropical",
        "house_system": "placidus"
      }
    },
    "bodies": {
      "Sun": {
        "id": "sun",
        "name": "Sun",
        "sign": "Pisces",
        "sign_abbr": "Pis",
        "sign_id": "pisces",
        "pos": 10.406,
        "abs_pos": 340.406,
        "retrograde": false,
        "speed": 1.0037,
        "is_stationary": false,
        "latitude_deg": 0.000076,
        "distance_au": 0.990714622,
        "position_text": "10°24' Pisces",
        "degree_in_sign": 10.406,
        "longitude_deg": 340.406,
        "motion_state": "direct"
      },
      "Moon": {
        "id": "moon",
        "name": "Moon",
        "sign": "Leo",
        "sign_abbr": "Leo",
        "sign_id": "leo",
        "pos": 9.117,
        "abs_pos": 129.117,
        "retrograde": false,
        "speed": 13.8619,
        "is_stationary": false,
        "latitude_deg": 2.635536,
        "distance_au": 0.002504401,
        "position_text": "09°07' Leo",
        "degree_in_sign": 9.117,
        "longitude_deg": 129.117,
        "declination_deg": 20.516062,
        "motion_state": "direct"
      },
      "Mercury": {
        "id": "mercury",
        "name": "Mercury",
        "sign": "Pisces",
        "sign_abbr": "Pis",
        "sign_id": "pisces",
        "pos": 21.973,
        "abs_pos": 351.973,
        "retrograde": true,
        "speed": -0.428,
        "is_stationary": false,
        "latitude_deg": 3.294498,
        "distance_au": 0.70680082,
        "position_text": "21°58' Pisces Rx",
        "degree_in_sign": 21.973,
        "longitude_deg": 351.973,
        "declination_deg": -0.156033,
        "motion_state": "retrograde"
      }
    },
    "astrology": {
      "retrograde_bodies": ["Mercury"],
      "stations": [],
      "ingresses": [
        {
          "body": "Moon",
          "sign": "Leo",
          "degree_in_sign": 9.117,
          "direction": "entering_sign"
        }
      ],
      "angular_bodies": [],
      "notable_conditions": [
        "retrograde:Mercury",
        "ingress:Moon",
        "moon_phase:waxing_gibbous"
      ],
      "moon_phase": {
        "name": "Waxing Gibbous",
        "phase_angle_deg": 148.711,
        "is_waxing": true
      },
      "moon_void_of_course": {
        "is_void": false,
        "definition": "No further exact major Moon aspect to Sun, Mercury, Venus, Mars, Jupiter, or Saturn before the Moon changes sign.",
        "current_sign": "Leo",
        "next_sign": "Virgo",
        "sign_ingress_at": "2026-03-02T12:33:41Z",
        "next_applying_aspect": {
          "body": "mars",
          "aspect": "opposition",
          "exact_at": "2026-03-02T12:27:23Z"
        }
      }
    }
  }
}
{
  "meta": {
    "start": "2026-03-01T00:00:00Z",
    "end": "2026-03-31T00:00:00Z",
    "step": "1d",
    "rows": 31,
    "bodies": ["Sun", "Moon", "Mercury"],
    "format": "table",
    "table_style": "grid",
    "zodiac_type": "tropical",
    "sidereal_ayanamsa": null,
    "timezone": "UTC"
  },
  "display": {
    "sign_style": "abbr",
    "cell_format": "parts",
    "motion_markers": {
      "retrograde": "Rx",
      "stationary": "S"
    },
    "columns": ["date", "weekday", "sidereal_time", "Sun", "Moon", "Mercury"]
  },
  "rows": [
    {
      "date": { "iso": "2026-03-01", "day": 1 },
      "weekday": "Sun",
      "sidereal_time": "10:35:16",
      "Sun": {
        "text": "10°24' Pis",
        "degree_text": "10°24'",
        "sign": "Pisces",
        "sign_abbr": "Pis",
        "motion_marker": null,
        "entered_sign": false,
        "station": false
      },
      "Mercury": {
        "text": "21°58' Pis Rx",
        "degree_text": "21°58'",
        "sign": "Pisces",
        "sign_abbr": "Pis",
        "motion_marker": "Rx",
        "entered_sign": false,
        "station": false
      }
    },
    {
      "date": { "iso": "2026-03-02", "day": 2 },
      "weekday": "Mon",
      "sidereal_time": "10:39:12",
      "Sun": {
        "text": "11°25' Pis",
        "degree_text": "11°25'",
        "sign": "Pisces",
        "sign_abbr": "Pis",
        "motion_marker": null,
        "entered_sign": false,
        "station": false
      },
      "Moon": {
        "text": "22°53' Leo",
        "degree_text": "22°53'",
        "sign": "Leo",
        "sign_abbr": "Leo",
        "motion_marker": null,
        "entered_sign": true,
        "station": false
      },
      "Mercury": {
        "text": "21°28' Pis Rx",
        "degree_text": "21°28'",
        "sign": "Pisces",
        "sign_abbr": "Pis",
        "motion_marker": "Rx",
        "entered_sign": false,
        "station": false
      }
    }
  ],
  "raw_rows": [
    {
      "timestamp": "2026-03-01T00:00:00Z",
      "bodies": {
        "Sun": {
          "abs_pos": 340.406,
          "degree_in_sign": 10.406,
          "declination_deg": -7.665505,
          "speed": 1.0037
        },
        "Moon": {
          "abs_pos": 129.117,
          "degree_in_sign": 9.117,
          "declination_deg": 20.516062,
          "speed": 13.8619
        },
        "Mercury": {
          "abs_pos": 351.973,
          "degree_in_sign": 21.973,
          "declination_deg": -0.156033,
          "speed": -0.428
        }
      }
    }
  ]
}

FAQ

Preguntas frecuentes sobre la API de efemérides de astrología occidental, tablas planetarias mensuales, datos de Luna void of course y opciones de cálculo admitidas.

¿Qué es una API de efemérides astrológicas?

Una API de efemérides astrológicas devuelve posiciones planetarias para una fecha y hora precisas, o para un rango de fechas. Este endpoint calcula posiciones tropicales o sidéreas de planetas, Luna, nodos, asteroides, ángulos, casas, aspectos, estrellas fijas y tablas mensuales de efemérides.

¿Puedo obtener una tabla mensual de efemérides planetarias?

Sí. Usa GET /api/v1/ephemeris con format=table y table_style=grid para recibir una fila por día y una columna por cuerpo solicitado. El modo grid está pensado para calendarios astrológicos mensuales y se limita a 31 filas por solicitud.

¿El endpoint de efemérides admite la Luna void of course?

Sí. Define include_moon_void_of_course=true para añadir astrology.moon_void_of_course a cada instante calculado. La respuesta indica si la Luna está void, el próximo ingreso lunar en un signo y, cuando existe, el próximo aspecto mayor aplicante de la Luna antes de ese ingreso.

¿Cuál es la precisión de las posiciones planetarias?

El servidor usa cálculos astronómicos precisos para longitud, latitud, velocidad, estado retrógrado, declinación, estrellas fijas y datos de casas cuando corresponde. Los resultados incluyen metadatos de día juliano para que las aplicaciones puedan auditar el contexto de cálculo.

¿Puedo solicitar efemérides tropicales y sidéreas?

Sí. Usa zodiac_type=tropical para efemérides occidentales tropicales por defecto, o zodiac_type=sidereal con sidereal_ayanamsa, por ejemplo lahiri, para cálculos sidéreos.

¿Puedo incluir casas y ángulos en una solicitud de efemérides?

Sí. Envía lat y lng, o una city resoluble en POST, y activa include_houses o include_angles. Cuando hay coordenadas, casas y ángulos se activan automáticamente salvo desactivación explícita.

¿Qué pasos de tiempo están admitidos?

El endpoint admite intervalos enteros en minutos, horas y días, como 1m, 5m, 15m, 1h, 6h, 1d y 7d. Los rangos a nivel de minuto se limitan a 1440 filas, mientras que las tablas grid se limitan a 31 filas.

¿Puedo calcular aspectos en la respuesta de efemérides?

Sí. Define include_aspects=true para incluir datos de aspectos en cada instante calculado. Define include_minor_aspects=true si también necesitas aspectos menores además de los aspectos mayores.

¿Qué planetas y puntos astrológicos puedo solicitar?

El endpoint admite Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, Chiron, Pholus, Ceres, Pallas, Juno, Vesta, Mean Node, True Node, Lilith, True Lilith, Ascendant, MC, Vertex y Part of Fortune.

¿Puedo usar la API de efemérides para aplicaciones y calendarios astrológicos?

Sí. El formato JSON funciona bien para lógica de aplicación, mientras que las salidas table rows, columns y grid sirven para calendarios astrológicos, dashboards, exports y vistas mensuales de efemérides.