/api/astro/festival/1 CreditHinduistische 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/
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. 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). |
| keys | array | Pflicht | 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_festivalsArray von Strings; es gibt nur einen Key. |
| latitude | number (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 |
| longitude | number (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_option | string | Pflicht | amavaspoornimaGroß-/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_float | number (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 |
| year | integer | Pflicht | 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.
| Key | Zusätzliche Felder | Beschreibung |
|---|---|---|
| calculate_festivals | year | Alle 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.