Morphemeris DocsBeta

Natal Chart

GET /v1/natal-chart — Full natal chart with positions, houses, aspects, parallels, house placements, and optional dignities, patterns, and derived points.

Natal Chart

Compute a complete natal chart in a single request. Returns planetary positions with sign and degree, house cusps, aspects, parallels, house placements, retrograde flags, and out-of-bounds detection, and on request the essential dignities, aspect patterns, and derived points — all at the same 2 credits.

Text
GET  /v1/natal-chart
POST /v1/natal-chart

Credit cost: 2

Parameters

ParameterTypeRequiredDefaultDescription
datetimestringOne of datetime or jdISO 8601 UTC datetime
jdnumberOne of datetime or jdJulian Day in UT1
latnumberYesObserver latitude (-90 to 90)
lonnumberYesObserver longitude (-180 to 180)
bodiesstringNo"planets"Comma-separated body names, or "planets", "all"
systemstringNo"placidus"House system
siderealstringNoAyanamsha for sidereal mode
aspectsstringNoMajor 7Comma-separated aspect types
orbnumberNoGlobal orb override in degrees
applyingbooleanNotrueCompute the applying/separating flag on each aspect (null when false)
parallelsbooleanNotrueInclude declination parallels and contraparallels
parallel_orbnumberNo1.0Orb for parallels in degrees
patternsbooleanNofalsePopulate patterns[] with detected aspect patterns; no extra cost
pattern_typesstringNoAllComma-separated pattern types to report when patterns=true
stellium_minintegerNo3Minimum members for a stellium (2–10)
stellium_scopestringNo"sign""sign", "house", or "conjunction"
derived_pointsbooleanNofalsePopulate derived_points[] with midpoints, antiscia, and lots; no extra cost
midpoints, antisciabooleanNotrueWhich derived points to include when derived_points=true
lotsstringNononeLot names or default, added to derived_points[] when derived_points=true
house_position_modestringNo"zodiacal""zodiacal" or "mundane" — see house position modes
resolutionstringNo"lower"180° tie-break for derived midpoints: "lower" or "higher"
dignitiesbooleanNofalseAttach dignities[], the essential dignities of every body; no extra cost
rulershipstringNo"traditional"Rulership for dignities: "traditional" or "modern"
day_chartbooleanNofrom the chartSect for the triplicity rulers. Omitted, the chart decides: the Sun on or above the horizon (measured along the ecliptic from the Ascendant, as for lots) is a day chart

Response

JSON
{
  "data": {
    "chart_type": "natal",
    "positions": [
      {
        "body": "sun",
        "longitude": 84.388,
        "latitude": 0.0001,
        "distance_au": 1.0158,
        "speed": 0.9551,
        "retrograde": false,
        "sign": "gemini",
        "sign_degree": 24.388,
        "house": 9,
        "declination": 23.323,
        "out_of_bounds": false
      }
    ],
    "houses": {
      "cusps": [0.0, 200.1, 225.9, 256.3, 289.2, 320.6, 347.6, 20.1, 45.9, 76.3, 109.2, 140.6, 167.6],
      "ascendant": 200.1,
      "midheaven": 109.2,
      "vertex": 318.5
    },
    "aspects": [
      {
        "body_a": "sun",
        "body_b": "moon",
        "aspect": "trine",
        "angle": 121.23,
        "orb": 1.23,
        "max_orb": 8.0,
        "applying": true
      }
    ],
    "parallels": [],
    "patterns": [],
    "derived_points": [],
    "metadata": {
      "datetime": 2448058.2708335,
      "datetime_iso": "1990-06-15T18:30:00.000Z",
      "location": { "latitude": 40.7128, "longitude": -74.006, "altitude": 0.0 },
      "house_system": "Placidus",
      "sidereal": null,
      "bodies": ["sun", "moon", "mercury", "venus", "mars", "jupiter", "saturn", "uranus", "neptune", "pluto", "mean_node"],
      "source": { "type": "natal" }
    }
  },
  "meta": { "..." }
}

Key response fields

FieldDescription
chart_typenatal here; the derived-chart endpoints say davison, progressed, draconic, or return
positions[]One entry per body: longitude, latitude, distance_au, speed (degrees per day; negative when retrograde), sign, sign_degree, house, declination, retrograde, out_of_bounds
positions[].house_positionFractional house in [1, 13) (mundane mode only; house becomes its floor)
housescusps is a 13-slot array — slot 0 is a placeholder, slots 1–12 are the cusps — plus ascendant, midheaven, and vertex
aspects[]Aspects between bodies: aspect, angle (the actual separation), orb (distance from exact), max_orb (the orb that admitted it), and applying (true, false, or null when applying=false)
parallels[]Declination parallels and contraparallels (unless parallels=false), each with declination_a, declination_b, orb, max_orb
patterns[]Aspect patterns — T-squares, grand trines, yods, … (when patterns=true; otherwise empty)
derived_points[]Midpoints, antiscia, and lots (when derived_points=true; otherwise empty)
dignities[]One dignity record per body, assessed for the chart's own sect (present only when dignities=true). Unlike /v1/dignities, which has no location and must be told day_chart, the chart finds its sect and always assesses the triplicity ruler
metadatadatetime is the Julian Day (UT1) the chart was cast for, datetime_iso the same instant as UTC, location the place, house_system the system that produced the cusps (inside the polar circle the Porphyrius fallback rather than the one requested), sidereal the ayanamsha or null, bodies the list computed, and source a typed record of how the chart was derived ({ "type": "natal" } here)
warningsEngine conditions that degraded the chart (kind: high_latitude, ephemeris_fallback, low_precision, sidereal_not_configured), each with its details. Omitted when empty; the response's top-level warnings lists the same conditions as prose

Examples

Basic natal chart

Bash
curl "https://api.morphemeris.com/v1/natal-chart?datetime=1990-06-15T18:30:00Z&lat=40.7128&lon=-74.006" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"
javascript
const res = await fetch(
  "https://api.morphemeris.com/v1/natal-chart?datetime=1990-06-15T18:30:00Z&lat=40.7128&lon=-74.006",
  { headers: { Authorization: "Bearer morphemeris_live_YOUR_KEY" } }
);
const { data } = await res.json();
Python
import requests

res = requests.get(
    "https://api.morphemeris.com/v1/natal-chart",
    params={"datetime": "1990-06-15T18:30:00Z", "lat": 40.7128, "lon": -74.006},
    headers={"Authorization": "Bearer morphemeris_live_YOUR_KEY"},
)
data = res.json()

With parallels and modern rulership

Bash
curl "https://api.morphemeris.com/v1/natal-chart?datetime=1990-06-15T18:30:00Z&lat=40.7128&lon=-74.006&parallels=true&rulership=modern&applying=true" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"

Vedic natal chart

Bash
curl "https://api.morphemeris.com/v1/natal-chart?datetime=1990-06-15T18:30:00Z&lat=40.7128&lon=-74.006&sidereal=lahiri&system=whole_sign" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"

Tips

  • Use /v1/natal-chart instead of separate /v1/chart + manual aspect calculation — it costs 2 credits but returns everything you need for a complete chart interpretation.
  • Include chiron and mean_node in the bodies list — most modern chart systems use them.
  • The default aspects are the 7 major aspects: conjunction, opposition, trine, square, sextile, quincunx, and semisextile.