Back to blog
Beyond the Ten Planets: 90 Bodies and 124 Fixed Stars

August 19, 2026

·

OpenEphemeris Team

Beyond the Ten Planets: 90 Bodies and 124 Fixed Stars

Most ephemeris work stops at the ten planets. OpenEphemeris now computes 90 bodies and 124 fixed stars — asteroids, trans-Neptunians, and Uranian points, all from NASA JPL data.

apiasteroidsfixed-starsastrologyuraniandevelopers

Most astrology software stops at ten planets, because most ephemeris data stops there.

If your work goes further, you already know the wall. You read Ceres in the fourth house. You track Sedna across a generation. You check whether a client's Mars sits on Regulus, and whether that still holds for a birth in 1650 — when Regulus was three degrees back from where it is today. The API returns the ten. Everything else you look up by hand, from a table someone typed decades ago, and splice into your own math.

OpenEphemeris now computes 90 bodies and 124 fixed stars, integrated from NASA JPL kernels — the same binary orbit files used for deep-space navigation.

None of it is a lookup table. Every position is calculated the moment you ask.

What the Catalog Holds Now

The body catalog went from 33 to 90. The fixed-star catalog went from 17 to 124.

Here is the whole surface, by category:

CategoryCountExamples
Luminaries2Sun, Moon
Personal planets3Mercury, Venus, Mars
Social planets2Jupiter, Saturn
Transpersonal3Uranus, Neptune, Pluto
Centaurs2Chiron, Pholus
Trans-Neptunian objects8Eris, Sedna, Quaoar
Uranian hypotheticals8Cupido, Hades, Kronos
Asteroids57Ceres, Pallas, Juno, Vesta
Lunar apogee variants3Mean, Osculating, Interpolated
Lunar node1Mean Node
Lot1Part of Fortune

Three of those rows deserve their own explanation, because they are the ones that usually send you hunting for a second data source.

The Trans-Neptunians Are Real Objects, Not Points

Eris, Sedna, Makemake, Haumea, Quaoar, Orcus, Ixion, and Varuna are now first-class bodies.

These are actual rocks — observed, catalogued, with orbits determined from real astrometry. That matters for how they are computed. Each one is integrated from a JPL SPK kernel, a binary file of orbital state published by the same lab that navigates spacecraft, which means a Sedna position from OpenEphemeris and a Sedna position from JPL Horizons are the same calculation, not two approximations that happen to be close.

Sedna is the interesting stress case, and the reason a real kernel earns its keep. Its orbit is violently eccentric, so its apparent speed is not a constant you can fudge. Ask the engine directly and you can watch it accelerate:

DateEcliptic longitudeDistance
1600327.33° (Aquarius)261.0 AU
1700336.06° (Pisces)219.9 AU
19007.54° (Aries)132.5 AU
202660.92° (Gemini)82.3 AU

That is roughly 94 degrees of travel between 1600 and 2026 — nine degrees in the first century, then fifty-three in the last hundred and twenty-six years, as it falls inward toward a perihelion it has not reached yet. A model that treats Sedna as "slow" gets the modern era badly wrong.

One honest limit, stated precisely rather than glossed over: the TNOs, Chiron, Pholus, and the extended asteroid set carry full sub-arcsecond precision from 1600 to 2200 CE — narrower than the 1550–2650 range that holds for the ten planets and the core asteroid set. Outside 1600–2200, the engine currently falls back to lower-precision orbital elements rather than hard-failing, so a request for a wide date range doesn't break — but treat anything outside 1600–2200 for these bodies as lower confidence than the rest of the catalog until that fallback carries its own precision flag. If your practice runs deep historical or far-future charts with Sedna, Eris, or the rest of this set, stay inside 1600–2200 for the numbers you'd stake something on.

The Uranian Bodies, For the Hamburg School

Cupido, Hades, Zeus, Kronos, Apollon, Admetos, Vulkanus, and Poseidon are in.

These eight are hypothetical — proposed by Alfred Witte and Friedrich Sieggrün in the early twentieth century, never observed, defined entirely by their orbital elements. That makes them a different kind of computation from a TNO, and it makes provenance the whole ballgame: two implementations using different element sets will quietly disagree, and neither will error.

So the elements are cited rather than inferred. They come from the published Neely/Matrix Journal figures, not reverse-engineered from another library's output. If you practice Uranian astrology or work with the 90-degree dial, you can check our numbers against the source instead of taking them on faith.

124 Fixed Stars, Rebuilt From SIMBAD

The old star list was 17 entries with hand-entered coordinates. Some of the latitudes were wrong.

The catalog is now generated from SIMBAD — the astronomical reference database maintained at Strasbourg Observatory — and carries 124 stars, each with its constellation, visual magnitude, and traditional Ptolemaic planetary nature. Algol, Aldebaran, Sirius, Regulus, Spica, Antares, and Fomalhaut are all there, alongside the deeper cuts that show up in parans work.

The part that matters technically: the stars account for proper motion — the slow drift of a star across the sky as it and the Sun travel through the galaxy. Which means a fixed star position is computed for your chart's date, not copied from a modern almanac and used for every century alike.

That is not a rounding detail over a 1,100-year range. Sirius has one of the larger proper motions among the bright stars, roughly 1.3 arcseconds a year — which works out to about four tenths of a degree across the API's full date range. Against the one-degree orb most practitioners use for a star conjunction, that is nearly half the orb. A catalog frozen at modern coordinates will hand you a confident answer for a seventeenth-century chart and be meaningfully off.

Asking For Them

The two browse endpoints — /catalogs/bodies and /catalogs/fixed-stars — return the full list with slugs, categories, and magnitudes, so you can build a body picker without hardcoding anything. Every body in the catalog resolves through /ephemeris/planet-position by its numeric ID for a quick single-position lookup, computed for any date and location you give it.

For a full chart, add the bodies you want through configuration.additional_objects (explicit slugs) or configuration.asteroid_groups (thematic bundles — tno pulls in all eight trans-Neptunians at once):

curl -X POST https://api.openephemeris.com/ephemeris/natal-chart \
  -H "X-API-Key: $OE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": {
      "birth_datetime": {"iso": "1987-07-15T09:01:00"},
      "birth_location": {
        "latitude": {"decimal": 32.7767},
        "longitude": {"decimal": -96.7970},
        "timezone": {"iana_name": "America/Chicago"}
      }
    },
    "configuration": {
      "additional_objects": ["sedna", "kronos"],
      "asteroid_groups": ["tno"]
    }
  }'

The same additional_objects/asteroid_groups fields work on /comparative/synastry, so a two-chart comparison can include the newer categories too.

One gap remains, and it is a narrow one: astrocartography (/acg/hits, /acg/power-lines) draws lines for the eight Uranian points, but not yet for the eight trans-Neptunians. Ask for Sedna there and you get a 422 naming exactly which bodies are allowed — a refusal you can read, rather than a chart quietly missing a body.

An OpenEphemeris chart wheel rendered inside a Claude conversation.
An OpenEphemeris chart wheel rendered inside a Claude conversation.

Why Bother With Ninety

Because the alternative is a practice split across two tools.

The ten-planet ceiling is a data limitation that quietly became a convention. Astrologers who use asteroids have spent years pasting positions from one program into another, reconciling house systems by hand, and hoping the two sources agreed about the ayanamsa. Every one of those handoffs is a place for an error to enter and never announce itself.

Ninety bodies and 124 stars in one engine means one coordinate frame, one time standard, one set of house cusps, and one answer — which means the Vesta degree and the Sun degree in your chart were computed by the same code, against the same kernel, for the same instant.

The catalog is live now. Ask it for something obscure.