Ir al contenido
POST/api/astro/chart/1 crédito

Carta natal

El endpoint principal de cartas: posiciones planetarias, divisiones de las casas y el ascendente para un momento y un lugar. Pide la carta Rashi (D-1) si quieres una carta natal normal, o cualquiera de la treintena de cartas divisionales (Navamsa, Dasamsa, Dwadasamsa, Shashtyamsa y el resto) por su nombre; pasa un array de nombres para recibir varias en una sola llamada, indexadas por nombre de carta. Cada carta devuelve tres bloques. `celestial` está indexado por nombre de cuerpo (sun, moon, … northtruenode) e indica para cada uno la longitud, la latitud, el nakshatra y el pada, el kakshya, el nombre del signo y el número de casa. `houses` tiene las claves de 1 a 12, con el `start`, el `cusp` y el `end` de cada casa. `ascendant` da el grado ascendente y su signo. `notation` fija las unidades de toda la respuesta: 'degree' para grados decimales, 'astrological' para signo más grados, minutos y segundos. La precisión está en los campos opcionales. `ayanamsa` elige la definición sideral, y `apply_correction` con `correction_deg`, `correction_min`, `correction_sec` y `correction_direction` la ajusta a mano. `rahu` elige nodos verdaderos, nodos medios o ambos. `extended_bodies` añade asteroides, cuerpos ficticios uranianos o lunas planetarias, y descarta sin aviso los que no tienen archivos de efemérides disponibles. `ascendant_pos` decide si el ascendente se toma en la cúspide, el inicio o el fin de la casa; ten en cuenta que cualquier valor distinto de 'start' o 'end', incluida una errata, usa la cúspide sin avisar. En este endpoint el campo de fecha se escribe `datetime`, no `date_time`. RENDERIZADO SVG OPCIONAL. Pon render en 'svg' y la respuesta incluirá dos campos más, además de los cuatro anteriores (no en su lugar): `layout` es la geometría (los puntos del polígono de cada celda de casa o de signo, la posición de la etiqueta y qué cuerpos contiene) para que dibujes tu propio diagrama en React, Canvas, Flutter o SwiftUI. `svg` es un marcado listo para insertar, generado a partir de esa misma geometría. chart_style elige el estilo del norte de la India (rombo, casas fijas, signos que rotan) o del sur de la India (cuadrícula de signos fija, casas que rotan); svg_size, theme, label_style, show_degrees y los cuatro campos *_color controlan el renderizado. Todos los campos están desactivados por defecto, así que una solicitud que no menciona render no cambia en absoluto: la respuesta es exactamente la de siempre.

https://api.occultapi.com/api/astro/chart/
Probar solicitud
Datos de Carta natal mostrados en una interfaz
Los datos de este endpoint en una interfaz real. La API te da los valores; el diseño lo pones tú.

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

Campos de la solicitud

CampoTipoObligatorioNotas
ascendant_posstringobligatorio
cuspstartend

'start' usa el inicio de la casa y 'end', el fin; CUALQUIER otro valor (incluido el propio 'cusp' y cualquier errata) cae en la rama else y usa la cúspide de la casa. En la práctica, 'cusp' es el valor por defecto, y las erratas fallan sin aviso en lugar de dar error. Distingue mayúsculas y minúsculas.

ayanamsastringobligatorio
FAGAN_BRADLEYLAHIRIDELUCERAMANUSHASHASHIKRISHNAMURTIDJWHAL_KHULYUKTESHWARJN_BHASINBABYL_KUGLER1BABYL_KUGLER2BABYL_KUGLER3

NO distingue mayúsculas y minúsculas: se usa name.upper para la consulta. A diferencia de /api/astro/ayanamsa_value/, aquí 'USER' NO se rechaza. Un valor desconocido devuelve 400 "Undefined ayanamsa: <name>". Ten en cuenta que apply_correction=true anula la elección y cambia el modo interno a USER.

chart_namestringobligatorio
BhavaChartRashiChartHoraChartJagannathHoraChartParivrittidwayaHoraChartParivrittitrayaDrekkanaChartDrekkanaChartSomnathDrekkanaChartJagannathDrekkanaChartChaturthamsaChartPanchamsaChartShashthamsaChart

Distingue mayúsculas y minúsculas y debe escribirse exactamente como en la lista. Pasa un solo nombre, o un array para recibir varias cartas en una sola llamada; en ese caso, la respuesta se indexa por nombre de carta. Un nombre desconocido devuelve 400.

datetimestring (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. Significa lo mismo que date_time; otros endpoints simplemente le dan ese otro nombre.

Restricción de FORMATO, no un enum. DRF DateTimeField: solo ISO-8601 (formatos de entrada por defecto de DRF), p. ej., "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" o "2026-09-01 06:00:00" (sin zona horaria = se toma como UTC). Ten en cuenta que este endpoint llama al campo `datetime`, no `date_time`.

latitudenumber (double)obligatorio

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.

min -180 · max 180

longitudenumber (double)obligatorio

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.

min -180 · max 180

notationstringobligatorio
astrologicaldegree

En minúsculas; distingue mayúsculas y minúsculas. 'astrological' devuelve componentes de signo/grado/minuto/segundo; 'degree' devuelve grados decimales sin procesar. Cualquier otro valor devuelve 400 "Invalid notation: <x>".

aberrationbooleanopcional
apply_correctionbooleanopcional
background_colorstringopcional

Color hexadecimal del fondo del SVG.

chart_stylestringopcional

Estilo del diagrama cuando render='svg'. 'north' es el diseño en rombo, con las casas fijas y los signos rotando; 'south' es la cuadrícula de signos fijos, con las casas rotando.

northsouth
correction_degintegeropcional

min 0

correction_directionstringopcional
addsubtract

Valor por defecto: 'add'. Solo tiene sentido cuando apply_correction=true y al menos uno de correction_deg/min/sec es distinto de cero.

correction_minintegeropcional

min 0 · max 59

correction_secintegeropcional

min 0 · max 59

extended_bodiesarrayopcional

Grupos de cuerpos que incluir: 'asteroids', 'planetary_moons', 'fictitious_bodies'.

asteroidsplanetary_moonsfictitious_bodies

Array de cadenas, valor por defecto []. 'asteroids' añade chiron, pholus, ceres, pallas, juno, vesta; 'fictitious_bodies' añade cupido, hades, zeus, kronos, apollon, admetos, vulkanus, poseidon, selena; 'planetary_moons' añade phobos, deimos, io, europa, ganymede, callisto, titan, triton, charon. Los cuerpos cuyos archivos de efemérides faltan se descartan de la respuesta sin aviso.

label_stylestringopcional

Cómo se rotulan los planetas: 'english' (Su, Mo, ...), 'sanskrit' (Surya, Chandra, ...) o 'symbol' (☉, ☽, ...).

englishsanskritsymbol
line_colorstringopcional

Color hexadecimal de las líneas de la cuadrícula de la carta.

nutationbooleanopcional
planet_colorstringopcional

Color hexadecimal de las etiquetas de los planetas, p. ej., '#111827'. Valor por defecto: el color propio del tema.

rahustringopcional

Tipo de nodo que se incluye. 'true' devuelve solo los nodos verdaderos; 'mean', solo los nodos medios, y 'both', ambos.

truemeanboth

Valor por defecto: 'true'. 'true' devuelve solo los nodos verdaderos, 'mean' solo los nodos medios y 'both' devuelve los cuatro.

refractionbooleanopcional
renderstringopcional

Ponlo en 'svg' para recibir también un diagrama renderizado de la carta (consulta chart_style) y la geometría en la que se basa. Si no lo envías, la respuesta no cambia.

nonesvg
show_degreesbooleanopcional

Muestra el grado de cada cuerpo dentro de su signo junto a su etiqueta.

sign_colorstringopcional

Color hexadecimal de los números y abreviaturas de los signos.

svg_sizeintegeropcional

Ancho y alto del viewBox cuadrado del SVG, en píxeles.

min 100 · max 2000

themestringopcional
lightdark
true_meanstringopcional
TrueMean

DISTINGUE mayúsculas y minúsculas; con inicial mayúscula. Valor por defecto: 'Mean'. Selecciona posiciones planetarias verdaderas frente a medias (posiciones verdaderas en lugar de aparentes).

use_28_nakshatrasbooleanopcional

Ejemplo de solicitud

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}'

Respuesta

{
  "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
}

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.