Direkt zum Inhalt
POST/api/astro/festival/1 Credit

Hinduistische Feste (für einen Ort berechnet)

Alle hinduistischen Feste eines Kalenderjahres, von Grund auf für den angegebenen Ort berechnet, dazu die Ekadashis und die jainistischen, Sikh- und christlichen Festtage, die der Rechenkern kennt. Anders als die regionalen Kalender-Endpoints, die pro Tradition eine kuratierte Auswahl liefern, ist dies der vollständige gesamtindische Bestand, und an jedem Eintrag hängt das exakte Tithi-Fenster. Das Jahr wird Tithi für Tithi durchlaufen, nicht Tag für Tag. So rutscht keine Tithi, die kürzer als vierundzwanzig Stunden ist, unbemerkt durch, und eine lange wird nicht doppelt gezählt. `moon_option` bestimmt, wie die Mondmonate benannt werden: 'poornima' verwendet direkt den Purnimanta-Monat; jeder andere Wert – auch 'amavas' selbst – nimmt den Amanta-Monat und rechnet ihn um, wie es die meisten nordindischen Panchangs drucken. Sende `year`, `date_time` und den Ort. Jeder Eintrag enthält Beginn und Ende der maßgeblichen Tithi statt eines einzelnen Datums; du entscheidest also selbst, an welchem bürgerlichen Tag du ihn anzeigst. Wenn dir diese Entscheidung abgenommen werden soll, nutze einen der regionalen Kalender-Endpoints – sie ordnen jeden Festtag dem Tag zu, an dem er tatsächlich begangen wird.

https://api.occultapi.com/api/astro/festival/
Anfrage testen
Ausgabe von Hinduistische Feste (für einen Ort berechnet) in einer Benutzeroberfläche
So sehen die Daten dieses Endpoints in einer echten Oberfläche aus. Die API liefert die Werte, das Layout baust du selbst.

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/json

Felder der Anfrage

FeldTypPflichtHinweise
date_timestring (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.

FORMATVORGABE. DRF DateTimeField: nur ISO-8601 (Standard-Eingabeformate von DRF), z. B. "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" oder "2026-09-01 06:00:00" (ohne Zeitzone wird UTC angenommen).

keysarrayPflicht

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.

calculate_festivals

Array von Strings; es gibt nur einen Key.

latitudenumber (double)Pflicht

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.

min -89.9 · max 89.9

longitudenumber (double)Pflicht

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.

min -180 · max 180

moon_optionstringPflicht
amavaspoornima

Groß-/Kleinschreibung wird beachtet; nur Kleinbuchstaben. 'poornima' verwendet direkt den Purnimanta-Mondmonat; JEDER andere Wert – auch 'amavas' selbst und jeder Tippfehler – landet im else-Zweig (Amanta-Monat, in Purnimanta umgerechnet). Tippfehler verhalten sich also stillschweigend wie 'amavas'. Wird weitergereicht.

timezone_as_floatnumber (double)Pflicht

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

yearintegerPflicht

Geburtsjahr als Zahl, z. B. 1990. Vier Ziffern.

Verfügbare Keys (1)

Liste in keys genau die Berechnungen auf, die du brauchst. Ein unbekannter Key lässt die ganze Anfrage scheitern. Du zahlst 1 Credit, ganz gleich, wie viele du anforderst – fass sie also in einer Anfrage zusammen.

KeyZusätzliche FelderBeschreibung
calculate_festivalsyearAlle Festtage des Jahres, als Objekt mit fünf Listen: `festivals`, `ekadashis`, `jain_festivals`, `sikh_festivals` und `christian_festivals`. Jeder Eintrag enthält den Namen des Festes, `start` und `end` der maßgeblichen Tithi als UTC-Zeitstempel-Strings und den Mondmonat `month`; Ekadashi-Einträge enthalten zusätzlich `paksha`. Nimmt `year` entgegen.

Beispielanfrage

curl -X POST https://api.occultapi.com/api/astro/festival/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keys":["calculate_festivals"],"moon_option":"amavas","year":2025,"date_time":"2025-02-12T08:35:00.795Z","latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5}'

Antwort

{
  "_truncated": true,
  "_note": "Response shortened for the catalogue.",
  "preview": "{\"data\": {\"calculate_festivals\": {\"festivals\": [{\"festival\": \"Guru Govind singh Jayanti\", \"start\": \"2025-01-05 14:46:25 UTC\", \"end\": \"2025-01-06 12:54:41 UTC\", \"month\": \"Pausha\"}, {\"festival\": \"Samkata 4\", \"start\": \"2025-01-16 22:37:19 UTC\", \"end\": \"2025-01-18 00:01:19 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Sakat Chauth\", \"start\": \"2025-01-16 22:37:19 UTC\", \"end\": \"2025-01-18 00:01:19 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Ardhodaya Yoga\", \"start\": \"2025-01-28 14:07:08 UTC\", \"end\": \"2025-01-29 12:36:33 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Mahodaya Yoga\", \"start\": \"2025-01-28 14:07:08 UTC\", \"end\": \"2025-01-29 12:36:33 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Mauni Ama\", \"start\": \"2025-01-28 14:07:08 UTC\", \"end\": \"2025-01-29 12:36:33 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Mauni Amavas\", \"start\": \"2025-01-28 14:07:08 UTC\", \"end\": \"2025-01-29 12:36:33 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Gauri 3\", \"start\": \"2025-01-31 08:30:11 UTC\", \"end\": \"2025-02-01 06:09:21 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Gauri Tritiya\", \"start\": \"2025-01-31 08:30:11 UTC\", \"end\": \"2025-02-01 06:09:21 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Varada(Til) 4\", \"start\": \"2025-02-01 06:09:21 UTC\", \"end\": \"2025-02-02 03:45:30 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Varada Chaturthi\", \"start\": \"2025-02-01 06:09:21 UTC\", \"end\": \"2025-02-02 03:45:30 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Vasanta 5\", \"start\": \"2025-02-02 03:45:30 UTC\", \"end\": \"2025-02-03 01:23:48 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Shree 5\", \"start\": \"2025-02-02 03:45:30 UTC\", \"end\": \"2025-02-03 01:23:48 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Vasant Panchami\", \"start\": \"2025-02-02 03:45:30 UTC\", \"end\": \"2025-02-03 01:23:48 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Aarogya (Ratha) 7\", \"start\": \"2025-02-03 23:08:15 UTC\", \"end\": \"2025-02-04 21:01:48 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Ratha Saptami\", \"start\": \"2025-02-03 23:08:15 UTC\", \"end\": \"2025-02-04 21:01:48 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Bhishma 8\", \"start\": \"2025-02-04 21:01:48 UTC\", \"end\": \"2025-02-05 19:06:38 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Bhishma Ashtami\", \"start\": \"2025-02-04 21:01:48 UTC\", \"end\": \"2025-02-05 19:06:38 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Bhishma 12\", \"start\": \"2025-02-08 14:47:05 UTC\", \"end\": \"2025-02-09 13:56:25 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Bhishma Dvadashi\", \"start\": \"2025-02-08 14:47:05 UTC\", \"end\": \"2025-02-09 13:56:25 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Guru Ravidas Jayanti\", \"start\": \"2025-02-11 13:26:37 UTC\", \"end\": \"2025-02-12 13:54:03 UTC\", \"month\": \"Magha\"}, {\"festival\": \"Maha Shivaratri\", \"start\": \"2025-02-26 05:39:30 UTC\", \"end\": \"2025-02-27 03:25:42 UTC\", \"month\": \"Phalguna\"}, {\"festival\": \"Holashtaka begins\", \"start\": \"2025-03-06 05:21:59 UTC\", \"end\": \"2025-03-07 03:49:44 UTC\", \"month\": \"Phalguna\"}, {\"festival\": \"Holika Dahana\", \"start\": \"2025-03-13 05:07:03 UTC\", \"end\": \"2025-03-14 06:55:19 UTC\", \"month\": \"Phalguna\"}, {\"festival\": \"Chhoti Holi\", \"start\": \"2025-03-13 05:07:03 UTC\", \"end\": \"2025-03-14 06:55:19 UTC\", \"month\": \"Phalguna\"}, {\"festival\": \"Dhoolivandana\", \"start\": \"2025-03-14 06:55:19 UTC\", \"end\": \"2025-03-15 09:04:19 UTC\", \"month\": \"Chaitra\"}, {\"festival\": \"Vasantotsava\", \"start\": \"2025-03-14 06:55:19 UTC\", \"end\": \"2025-03-15 09:04:19 UTC\", \"month\": \"Chaitra\"}, {\"festival\": \"Holi\", \"start\": \"2025-03-14 06:55:19 UTC\", \"end\": \"2025-03-15 09:04:19 UTC\", \"month\": \"Chaitra\"}, {\"festival\": \"Shitala Pujan\", \"start\": \"2025-03-21 22:54:58 UTC\", \"end\": \"2025-03-22 23:54:32 UTC\", \"month\": \"Chaitra\"}, {\"festival\": \"Sheetala Ashtami\", \"start\": \"2025-03-21 22:54:58 UTC\", \"end\": \"2025-03-22 23:54:32 UTC\", \"month\": \"Chaitra\"}, {\"festival\": \"Basoda\", \"start\": \"2025-03-21 22:54:58 UTC\", \"end\": \"2025-03-22 23:54:32 UTC\", \"month\": \"Chaitra\"}, {\"festival\": \"Vaaruni yoga\", \"start\": \"2025-03-26 20:13:53 UTC\", \"end\": \"2025-03-27 17:34:30 UTC\", \"month\": \"Chaitra\"}, {\"festival\": \"Maha Vaaruni Yoga\", \"start\": \"2025-03-26 20:13:53 UTC\", \"end\": \"2025-03-27 17:34:30 UTC\", \"month\": \"Chaitra\"}, {\""
}

Aus einem echten Aufruf mit genau dieser Anfrage. Die Ergebnisse stehen unter data, jeweils unter dem Key, den du angefordert hast.

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.