Morphemeris DocsBeta

Positions

GET /v1/positions — Compute planetary positions in ecliptic or equatorial coordinates.

Positions

Compute geocentric positions for planets, asteroids, and lunar nodes.

GET  /v1/positions
POST /v1/positions

Credit cost: 1

Parameters

ParameterTypeRequiredDefaultDescription
datetimestringOne of datetime or jdISO 8601 UTC datetime
jdnumberOne of datetime or jdJulian Day in UT1
bodiesstringNo"planets"Comma-separated body names, or "all", "planets", "asteroids"
latnumberFor topocentricObserver latitude in degrees
lonnumberFor topocentricObserver longitude in degrees
altnumberNoObserver altitude in meters
siderealstringNoAyanamsha name or ID for sidereal positions
equatorialbooleanNofalseReturn right ascension / declination instead of longitude / latitude
speedbooleanNotrueInclude daily motion values
no_nutationbooleanNofalseSkip nutation correction
j2000booleanNofalseUse J2000 reference frame
topocentricbooleanNofalseApply topocentric correction (requires lat, lon)
heliocentricbooleanNofalseReturn heliocentric positions

Response

Ecliptic (default)

{
  "data": [
    {
      "body": "sun",
      "longitude": 0.0042,
      "latitude": 0.0001,
      "distance": 0.9960,
      "speed": 1.0096,
      "sign": "Aries",
      "sign_degree": 0.0042,
      "retrograde": false,
      "declination": 0.0012,
      "out_of_bounds": false
    }
  ],
  "meta": { "..." }
}
FieldTypeDescription
bodystringBody identifier
longitudenumberEcliptic longitude in degrees (0–360)
latitudenumberEcliptic latitude in degrees
distancenumberDistance in AU
speednumberDaily motion in degrees/day
signstringZodiac sign name
sign_degreenumberDegree within the sign (0–30)
retrogradebooleanWhether the body is retrograde
declinationnumberDeclination in degrees
out_of_boundsbooleanWhether declination exceeds the ecliptic obliquity

Equatorial (equatorial=true)

{
  "data": [
    {
      "body": "sun",
      "right_ascension": 0.028,
      "declination": 0.0012,
      "distance": 0.9960,
      "ra_speed": 1.0096,
      "dec_speed": 0.4012
    }
  ],
  "meta": { "..." }
}

Examples

Default planets

curl "https://api.morphemeris.com/v1/positions?datetime=2024-03-20T12:00:00Z" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"
const res = await fetch(
  "https://api.morphemeris.com/v1/positions?datetime=2024-03-20T12:00:00Z",
  { headers: { Authorization: "Bearer morphemeris_live_YOUR_KEY" } }
);
const data = await res.json();
import requests

res = requests.get(
    "https://api.morphemeris.com/v1/positions",
    params={"datetime": "2024-03-20T12:00:00Z"},
    headers={"Authorization": "Bearer morphemeris_live_YOUR_KEY"},
)
data = res.json()

Specific bodies

curl "https://api.morphemeris.com/v1/positions?datetime=2024-03-20T12:00:00Z&bodies=sun,moon,mars,chiron" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"

Sidereal positions (Lahiri ayanamsha)

curl "https://api.morphemeris.com/v1/positions?datetime=2024-03-20T12:00:00Z&sidereal=lahiri" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"

See Available Bodies for the full list of supported body names.

On this page