/api/astro/eclipse/next-solar/1 CreditNächste Sonnenfinsternis
Die nächste Sonnenfinsternis irgendwo auf der Erde, mit allen Kontaktzeiten als benannte Felder. Der zugrunde liegende Rechenkern liefert zehn Zeitstempel in einem Array, in dem nur die Position zählt – dass Element 4 der Beginn der Totalität ist, erfährt man nur aus dem Quellcode. Dieser Endpoint liefert sie als benannte Felder: begin, totality_begin, maximum, totality_end, end und die Zeiten der Zentrallinie. Filtere nach eclipse_type (total, annular, partial, hybrid) und nach Zentralität – also danach, ob die Schattenachse tatsächlich die Erdoberfläche erreicht. Mit direction auf "before" findest du statt der nächsten die letzte Finsternis. Dies ist eine GLOBALE Suche: Sie sagt dir, wann eine Finsternis stattfindet, nicht ob du sie sehen kannst. Dafür gibt es /api/astro/eclipse/local/.
https://api.occultapi.com/api/astro/eclipse/next-solar/
Authentifizierung
Schick deinen Schlüssel im Header X-API-Key mit. API-Schlüssel sind Zugangsdaten für den Server: Sie gehören nie in Browser-JavaScript oder in eine mobile App.
X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/jsonFelder der Anfrage
| Feld | Typ | Pflicht | Hinweise |
|---|---|---|---|
| date_time | string (date-time) | Pflicht | Der Zeitpunkt, für den gerechnet wird, im Format ISO 8601. Gib IMMER einen Offset oder ein abschließendes Z an – ein Wert ohne Zone wird als Asia/Kolkata (UTC+05:30) gelesen, nicht als UTC, und kann mit Status 200 das Ergebnis des Vortags liefern. '2026-09-01T06:00:00Z' und '2026-09-01 06:00:00' sind verschiedene Zeitpunkte und ergeben verschiedene Antworten. |
| centrality | string | optional | Zentral bedeutet, dass die Schattenachse des Mondes tatsächlich die Erde berührt. Nur sinnvoll, wenn eclipse_type nicht 'any' ist. anycentralnon-central |
| direction | string | optional | Ab date_time vorwärts oder rückwärts suchen. afterbefore |
| eclipse_type | string | optional | Beschränkt die Suche auf eine Art von Sonnenfinsternis. anytotalannularpartialhybrid |
| elevation | number (double) | optional | |
| keys | array | optional | Welche Berechnungen zurückgegeben werden, als Liste von Namen. Siehe die Key-Tabelle dieses Endpoints; ein unbekannter Name lässt die ganze Anfrage scheitern. Ein Aufruf kostet einen Credit, egal wie viele Keys du anforderst – fordere also alles, was du brauchst, auf einmal an, statt mehrere Aufrufe zu machen. |
| latitude | number (double) | optional | Breitengrad des Ortes in Dezimalgrad. Positiv ist Nord, negativ ist Süd. Beispiel: 26.9124 für Jaipur, 40.7128 für New York. Minuten und Sekunden werden nicht akzeptiert – vorher umrechnen. |
| longitude | number (double) | optional | Längengrad des Ortes in Dezimalgrad. Positiv ist Ost, negativ ist West. Beispiel: 75.7873 für Jaipur, -74.0060 für New York. Achte auf das Vorzeichen: Ein fehlendes Minus verlegt New York nach China. |
| timezone_as_float | number (double) | optional | UTC-Offset des Ortes in Stunden, als Dezimalzahl. Beispiel: 5.5 für Indien (UTC+05:30), -5 für New York im Winter, 5.75 für Nepal. Wird NICHT gegen date_time validiert – stimmen beide nicht überein, erhältst du eine erfolgreiche Antwort für den falschen Zeitpunkt; leite daher beide aus derselben Quelle ab. Nutze den an diesem Datum gültigen Offset, nicht den heutigen: Eine Sommergeburt in einem Land mit Sommerzeit braucht den Sommer-Offset. min -12 · max 14 |
Beispielanfrage
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"}'Antwort
{
"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"
}Aus einem echten Aufruf mit genau dieser Anfrage. Die Ergebnisse stehen unter data.
Fehler
Abrechnungsfehler liefern { "error": "…", "message": "<code>", "is_error": true }. Zeig deinen Nutzern error an und verzweige im Code anhand von message. Details in der Fehlerreferenz.