/api/astro/eclipse/next-solar/1 créditoPróximo eclipse solar
El próximo eclipse solar en cualquier lugar de la Tierra, con cada hora de contacto con su nombre. El motor subyacente devuelve diez fechas y horas en un array posicional, y para saber que el elemento 4 es el inicio de la totalidad hay que leer el código fuente. Este endpoint las devuelve como campos con nombre: begin, totality_begin, maximum, totality_end, end y las horas de la línea central. Filtra por eclipse_type (total, annular, partial, hybrid) y por centralidad, es decir, si el eje de la sombra llega de verdad a la superficie terrestre. Pon direction en "before" para obtener el más reciente en lugar del siguiente. Es una búsqueda GLOBAL: te dice cuándo, no si puedes verlo. Para eso, usa /api/astro/eclipse/local/.
https://api.occultapi.com/api/astro/eclipse/next-solar/
Autenticación
Envía tu clave en la cabecera X-API-Key. La clave es una credencial de servidor: nunca la pongas en el JavaScript del navegador ni en una app móvil.
X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/jsonCampos de la solicitud
| Campo | Tipo | Obligatorio | Notas |
|---|---|---|---|
| date_time | string (date-time) | obligatorio | El momento del cálculo, en ISO 8601. Incluye SIEMPRE la diferencia con UTC o una Z final: un valor sin zona horaria se interpreta como Asia/Kolkata (UTC+05:30), no como UTC, y puede devolver con un 200 el resultado del día anterior. '2026-09-01T06:00:00Z' y '2026-09-01 06:00:00' son instantes distintos y dan respuestas distintas. |
| centrality | string | opcional | Central significa que el eje de la sombra de la Luna llega de verdad a la Tierra. Solo tiene sentido cuando eclipse_type no es 'any'. anycentralnon-central |
| direction | string | opcional | Buscar hacia delante desde date_time, o hacia atrás. afterbefore |
| eclipse_type | string | opcional | Limitar la búsqueda a un tipo de eclipse solar. anytotalannularpartialhybrid |
| elevation | number (double) | opcional | |
| keys | array | opcional | Los cálculos que quieres recibir, como lista de nombres. Consulta la tabla de claves de este endpoint; un nombre que no se reconoce invalida toda la solicitud. Cada llamada cuesta un crédito, pidas las claves que pidas, así que pide todo lo que necesites de una vez en lugar de hacer varias llamadas. |
| latitude | number (double) | opcional | Latitud del lugar, en grados decimales. Los valores positivos indican el norte y los negativos, el sur. Ejemplo: 26.9124 para Jaipur, 40.7128 para Nueva York. No se aceptan minutos ni segundos: conviértelos antes. |
| longitude | number (double) | opcional | Longitud del lugar, en grados decimales. Los valores positivos indican el este y los negativos, el oeste. Ejemplo: 75.7873 para Jaipur, -74.0060 para Nueva York. Cuidado con el signo: si falta el menos, Nueva York acaba en China. |
| timezone_as_float | number (double) | opcional | Diferencia horaria del lugar con UTC, en horas y con decimales. Ejemplo: 5.5 para la India (UTC+05:30), -5 para Nueva York en invierno, 5.75 para Nepal. NO se contrasta con date_time: si los dos no coinciden, recibes una respuesta correcta para un momento equivocado, así que toma ambos valores de la misma fuente. Usa la diferencia vigente en esa fecha, no la de hoy: para un nacimiento en verano en un país con horario de verano, hace falta la diferencia de verano. min -12 · max 14 |
Ejemplo de solicitud
curl -X POST https://api.occultapi.com/api/astro/eclipse/next-solar/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-01-01T00:00:00+00:00","timezone_as_float":0,"eclipse_type":"total","centrality":"any","direction":"after"}'Respuesta
{
"data": {
"found": true,
"searched_from": "2026-01-01T00:00:00Z",
"direction": "after",
"eclipse": {
"kind": "solar",
"type": "total",
"centrality": "central",
"maximum": "2026-08-12T17:45:57Z",
"times": {
"maximum": "2026-08-12T17:45:57Z",
"local_apparent_noon": "2026-08-12T17:03:51Z",
"begin": "2026-08-12T15:34:30Z",
"end": "2026-08-12T19:57:57Z",
"totality_begin": "2026-08-12T16:58:05Z",
"totality_end": "2026-08-12T18:34:00Z",
"centre_line_begin": "2026-08-12T17:00:06Z",
"centre_line_end": "2026-08-12T18:32:01Z"
}
}
},
"status": 200,
"is_error": false,
"message": "successful"
}Obtenida de una llamada real con la solicitud de arriba, tal cual. Los resultados van dentro de data.
Errores
Los errores de control de uso devuelven { "error": "…", "message": "<code>", "is_error": true }. Muestra error al usuario y usa message para decidir qué hace tu código. Consulta la referencia de errores.