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

Geburtshoroskop

Der zentrale Horoskop-Endpoint: Planetenpositionen, Häuserteilung und Aszendent für einen Zeitpunkt und einen Ort. Für ein normales Geburtshoroskop forderst du das Rashi-Horoskop (D-1) an, oder du wählst über den Namen eines von gut dreißig Teilhoroskopen – Navamsa, Dasamsa, Dwadasamsa, Shashtyamsa und die übrigen. Übergibst du ein Array von Namen, erhältst du mehrere in einem Aufruf, mit den Horoskopnamen als Schlüsseln. Jedes Horoskop besteht aus drei Blöcken. `celestial` hat die Namen der Himmelskörper als Schlüssel (sun, moon, … northtruenode) und liefert für jeden Länge, Breite, Nakshatra und Pada, Kakshya, Zeichenname und Hausnummer. `houses` hat die Schlüssel 1 bis 12 mit `start`, `cusp` und `end` jedes Hauses. `ascendant` liefert den aufsteigenden Grad und sein Zeichen. `notation` legt die Einheiten für die gesamte Antwort fest: 'degree' für Dezimalgrad, 'astrological' für Zeichen plus Grad, Minuten und Sekunden. In den optionalen Feldern steckt die Präzision. `ayanamsa` wählt die siderische Definition, und `apply_correction` mit `correction_deg`, `correction_min`, `correction_sec` und `correction_direction` verschiebt sie von Hand. `rahu` wählt wahre Mondknoten, mittlere Mondknoten oder beide. `extended_bodies` ergänzt Asteroiden, fiktive uranische Körper oder Planetenmonde und lässt stillschweigend alle weg, deren Ephemeridendateien fehlen. `ascendant_pos` legt fest, ob der Aszendent an der Häuserspitze, am Beginn oder am Ende abgelesen wird – Achtung: Jeder Wert außer 'start' oder 'end', auch ein Tippfehler, fällt ohne Meldung auf die Häuserspitze zurück. Das Datumsfeld heißt bei diesem Endpoint `datetime`, nicht `date_time`. OPTIONALES SVG-RENDERING. Setzt du render auf 'svg', enthält die Antwort zwei weitere Felder – zusätzlich zu den vier oben, nicht an ihrer Stelle. `layout` ist die Geometrie: für jede Haus- oder Zeichenzelle die Polygonpunkte, die Position der Beschriftung und die Himmelskörper darin, damit du dein eigenes Diagramm in React, Canvas, Flutter oder SwiftUI zeichnen kannst. `svg` ist fertiges Markup aus derselben Geometrie zum direkten Einbinden. chart_style wählt nordindisch (Raute, feste Häuser, wandernde Zeichen) oder südindisch (festes Zeichenraster, wandernde Häuser); svg_size, theme, label_style, show_degrees und die vier *_color-Felder steuern die Darstellung. Alle diese Felder sind standardmäßig aus: Eine Anfrage ohne render bleibt völlig unberührt, die Antwort ist genau dieselbe wie bisher.

https://api.occultapi.com/api/astro/chart/
Anfrage testen
Ausgabe von Geburtshoroskop 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
ascendant_posstringPflicht
cuspstartend

'start' verwendet den Hausbeginn, 'end' das Hausende; JEDER andere Wert – auch 'cusp' selbst und jeder Tippfehler – landet im else-Zweig und verwendet die Häuserspitze. 'cusp' ist damit faktisch der Standardwert, und Tippfehler lösen keinen Fehler aus, sondern scheitern stillschweigend. Groß-/Kleinschreibung wird beachtet.

ayanamsastringPflicht
FAGAN_BRADLEYLAHIRIDELUCERAMANUSHASHASHIKRISHNAMURTIDJWHAL_KHULYUKTESHWARJN_BHASINBABYL_KUGLER1BABYL_KUGLER2BABYL_KUGLER3

Groß-/Kleinschreibung wird NICHT beachtet – nachgeschlagen wird mit name.upper. Anders als bei /api/astro/ayanamsa_value/ wird 'USER' hier NICHT abgelehnt. Ein unbekannter Wert liefert 400 "Undefined ayanamsa: <name>". Beachte: apply_correction=true übersteuert die Auswahl und schaltet intern in den Modus USER.

chart_namestringPflicht
BhavaChartRashiChartHoraChartJagannathHoraChartParivrittidwayaHoraChartParivrittitrayaDrekkanaChartDrekkanaChartSomnathDrekkanaChartJagannathDrekkanaChartChaturthamsaChartPanchamsaChartShashthamsaChart

Groß-/Kleinschreibung wird beachtet; schreibe den Namen genau wie aufgeführt. Übergib einen einzelnen Namen oder ein Array, um mehrere Horoskope in einem Aufruf zu erhalten – die Antwort hat dann die Horoskopnamen als Schlüssel. Ein unbekannter Name liefert 400.

datetimestring (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. Bedeutet dasselbe wie date_time; andere Endpoints verwenden für dasselbe Feld nur einen anderen Namen.

FORMATVORGABE, kein Enum. 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). Beachte: Bei diesem Endpoint heißt das Feld `datetime`, nicht `date_time`.

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 -180 · max 180

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

notationstringPflicht
astrologicaldegree

Groß-/Kleinschreibung wird beachtet; nur Kleinbuchstaben. 'astrological' liefert die Komponenten Zeichen/Grad/Minute/Sekunde; 'degree' liefert rohe Dezimalgrad. Alles andere liefert 400 "Invalid notation: <x>".

aberrationbooleanoptional
apply_correctionbooleanoptional
background_colorstringoptional

Hex-Farbe für den SVG-Hintergrund.

chart_stylestringoptional

Diagrammstil bei render='svg'. 'north' ist das Rautenlayout mit festen Häusern und wandernden Zeichen; 'south' ist das Raster mit festen Zeichen und wandernden Häusern.

northsouth
correction_degintegeroptional

min 0

correction_directionstringoptional
addsubtract

Standard: 'add'. Wirkt nur, wenn apply_correction=true ist und mindestens einer der Werte correction_deg/min/sec ungleich null ist.

correction_minintegeroptional

min 0 · max 59

correction_secintegeroptional

min 0 · max 59

extended_bodiesarrayoptional

Welche Gruppen von Himmelskörpern einbezogen werden: 'asteroids', 'planetary_moons', 'fictitious_bodies'.

asteroidsplanetary_moonsfictitious_bodies

Array von Strings, Standard []. 'asteroids' ergänzt chiron, pholus, ceres, pallas, juno, vesta; 'fictitious_bodies' ergänzt cupido, hades, zeus, kronos, apollon, admetos, vulkanus, poseidon, selena; 'planetary_moons' ergänzt phobos, deimos, io, europa, ganymede, callisto, titan, triton, charon. Himmelskörper, deren Ephemeridendateien fehlen, fehlen stillschweigend in der Antwort.

label_stylestringoptional

Wie die Planeten beschriftet werden: 'english' (Su, Mo, ...), 'sanskrit' (Surya, Chandra, ...) oder 'symbol' (☉, ☽, ...).

englishsanskritsymbol
line_colorstringoptional

Hex-Farbe für die Rasterlinien des Horoskops.

nutationbooleanoptional
planet_colorstringoptional

Hex-Farbe für die Planetenbeschriftungen, z. B. '#111827'. Standardmäßig die Farbe des Themes.

rahustringoptional

Welche Mondknoten einbezogen werden. 'true' liefert nur die wahren, 'mean' nur die mittleren Mondknoten, 'both' liefert beide.

truemeanboth

Standard: 'true'. 'true' liefert nur die wahren, 'mean' nur die mittleren Mondknoten, 'both' alle vier.

refractionbooleanoptional
renderstringoptional

Setze den Wert auf 'svg', um zusätzlich ein gerendertes Horoskopdiagramm (siehe chart_style) samt der zugrunde liegenden Geometrie zu erhalten. Lässt du das Feld ganz weg, bleibt die Antwort unverändert.

nonesvg
show_degreesbooleanoptional

Zeigt neben der Beschriftung jedes Himmelskörpers seinen Grad im Zeichen an.

sign_colorstringoptional

Hex-Farbe für Zeichennummern/-abkürzungen.

svg_sizeintegeroptional

Breite und Höhe der quadratischen SVG-viewBox in Pixeln.

min 100 · max 2000

themestringoptional
lightdark
true_meanstringoptional
TrueMean

Groß-/Kleinschreibung wird BEACHTET; mit großem Anfangsbuchstaben. Standard: 'Mean'. Wählt zwischen wahren und mittleren Planetenpositionen (wahre statt scheinbarer Positionen).

use_28_nakshatrasbooleanoptional

Beispielanfrage

curl -X POST https://api.occultapi.com/api/astro/chart/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"chart_name":"NavamsaChart","datetime":"2026-04-09T15:35:00+05:30","longitude":75.76861133842026,"latitude":26.849874414615,"notation":"degree","ayanamsa":"lahiri","ascendant_pos":"cusp","rahu":"true","true_mean":"Mean","refraction":false,"apply_correction":false,"correction_direction":"add","correction_deg":0,"correction_min":0,"correction_sec":0}'

Antwort

{
  "data": {
    "NavamsaChart": {
      "celestial": {
        "sun": {
          "longitude": 318.0675,
          "latitude": 0,
          "nakshatra": "Satabhishak",
          "pada": 4,
          "kakshya": "venus",
          "zodiac_name": "Aquarius",
          "house": 8
        },
        "moon": {
          "longitude": 150.3425,
          "latitude": -4.343,
          "nakshatra": "Uttara Phalguni",
          "pada": 2,
          "kakshya": "saturn",
          "zodiac_name": "Virgo",
          "house": 3
        },
        "mercury": {
          "longitude": 74.3125,
          "latitude": -2.291,
          "nakshatra": "Aardra",
          "pada": 3,
          "kakshya": "sun",
          "zodiac_name": "Gemini",
          "house": 12
        },
        "venus": {
          "longitude": 159.8475,
          "latitude": -0.081,
          "nakshatra": "Uttara Phalguni",
          "pada": 4,
          "kakshya": "mars",
          "zodiac_name": "Virgo",
          "house": 3
        },
        "mars": {
          "longitude": 139.1825,
          "latitude": -1.01,
          "nakshatra": "Poorva Phalguni",
          "pada": 2,
          "kakshya": "Mercury",
          "zodiac_name": "Leo",
          "house": 2
        },
        "jupiter": {
          "longitude": 19.82499999999999,
          "latitude": 0.377,
          "nakshatra": "Bharani",
          "pada": 2,
          "kakshya": "Mercury",
          "zodiac_name": "Aries",
          "house": 10
        },
        "saturn": {
          "longitude": 201.275,
          "latitude": -2.136,
          "nakshatra": "Visaakha",
          "pada": 1,
          "kakshya": "Mercury",
          "zodiac_name": "Libra",
          "house": 4
        },
        "uranus": {
          "longitude": 314.28,
          "latitude": -0.169,
          "nakshatra": "Satabhishak",
          "pada": 3,
          "kakshya": "sun",
          "zodiac_name": "Aquarius",
          "house": 8
        },
        "neptune": {
          "longitude": 164.6175,
          "latitude": -1.31,
          "nakshatra": "Hasta",
          "pada": 2,
          "kakshya": "sun",
          "zodiac_name": "Virgo",
          "house": 3
        },
        "pluto": {
          "longitude": 10.007499999999991,
          "latitude": -3.973,
          "nakshatra": "Ashwini",
          "pada": 4,
          "kakshya": "mars",
          "zodiac_name": "Aries",
          "house": 10
        },
        "northtruenode": {
          "longitude": 304.65,
          "latitude": 0,
          "nakshatra": "Dhanishtha",
          "pada": 4,
          "kakshya": "jupiter",
          "zodiac_name": "Aquarius",
          "house": 8
        },
        "southtruenode": {
          "longitude": 124.65,
          "latitude": 0,
          "nakshatra": "Makha",
          "pada": 2,
          "kakshya": "jupiter",
          "zodiac_name": "Leo",
          "house": 2
        }
      },
      "houses": {
        "1": {
          "start": 118.24667529991994,
          "cusp": 133.24667529991996,
          "end": 148.24667529991996
        },
        "2": {
          "start": 148.24667529991996,
          "cusp": 163.24667529991996,
          "end": 178.24667529991996
        },
        "3": {
          "start": 178.24667529991996,
          "cusp": 193.24667529991996,
          "end": 208.24667529991996
        },
        "4": {
          "start": 208.24667529991996,
          "cusp": 223.24667529991993,
          "end": 238.24667529991993
        },
        "5": {
          "start": 238.24667529991993,
          "cusp": 253.24667529991993,
          "end": 268.2466752999199
        },
        "6": {
          "start": 268.2466752999199,
          "cusp": 283.2466752999199,
          "end": 298.2466752999199
        },
        "7": {
          "start": 298.2466752999199,
          "cusp": 313.2466752999199,
          "end": 328.2466752999199
        },
        "8": {
          "start": 328.2466752999199,
          "cusp": 343.2466752999199,
          "end": 358.2466752999199
        },
        "9": {
          "start": 358.2466752999199,
          "cusp": 13.246675299919922,
          "end": 28.24667529991992
        },
        "10": {
          "start": 28.24667529991992,
          "cusp": 43.24667529991992,
          "end": 58.24667529991993
        },
        "11": {
          "start": 58.24667529991993,
          "cusp": 73.24667529991993,
          "end": 88.24667529991993
        },
        "12": {
          "start": 88.24667529991993,
          "cusp": 103.24667529991991,
          "end": 118.24667529991994
        }
      },
      "ascendant": {
        "longitude": 133.24667529991996,
        "zodiac_name": "Cancer",
        "nakshatra": "Makha",
        "pada": 4
      },
      "ayanamsa_used": {
        "name": "LAHIRI",
        "corrected": false,
        "value_degrees": 24.224068,
        "formatted": "24°13'27\""
      }
    }
  },
  "message": "successful",
  "is_error": false
}

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.