Ascendant API

Ascendant API

Send a birth time and a place. Get the Ascendant, Midheaven, Descendant and Imum Coeli back as degrees, plus the Vertex and the equatorial Ascendant.

POST /ephemeris/angles-points

1 credit per call. On the free tier.

Request

Send your key in the X-API-Key header. Keep it on your server, not in browser code.

date_time
iso string, Julian Day or components. A clock time needs a zone: put it on the string, or name it in timezone.
date_time.timezone
For example {"iana_name": "America/Chicago"}. Send the local time plus the zone, not your own UTC conversion.
latitude, longitude
Decimal degrees. North and east are positive.
house_system
Optional. Default P (Placidus). Used for the Vertex.
cURL
curl -X POST https://api.openephemeris.com/ephemeris/angles-points \
  -H "X-API-Key: $OE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "date_time": {
      "iso": "1987-07-15T09:01:00",
      "timezone": {"iana_name": "America/Chicago"}
    },
    "latitude": 32.7767,
    "longitude": -96.797
  }'
JavaScript (Node 18+)
const res = await fetch("https://api.openephemeris.com/ephemeris/angles-points", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.OE_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    date_time: {
      iso: "1987-07-15T09:01:00",
      timezone: { iana_name: "America/Chicago" },
    },
    latitude: 32.7767,
    longitude: -96.797,
  }),
});
const { angles } = await res.json();
console.log(angles.ascendant); // degrees, 0-360

Response

Every value is degrees of ecliptic longitude, 0 to 360. Divide by 30 for the sign. The metadata echoes the UTC instant it used, so you can check it.

JSON
{
  "success": true,
  "angles": {
    "ascendant": 143.11507,
    "midheaven": 48.80119,
    "descendant": 323.11505,
    "imum_coeli": 228.8012,
    "vertex": ...,
    "equatorial_ascendant": ...,
    "equatorial_descendant": ...,
    "east_point": ...
  },
  "metadata": { "house_system": "P", "resolved_utc": ..., ... }
}

Common questions

How do I get a rising sign from the API?

POST the birth time, zone and coordinates to /ephemeris/angles-points. The ascendant value is the rising degree. Divide by 30 and round down: 0 is Aries, 1 is Taurus, and so on.

Why does the time zone matter so much?

The Ascendant moves about 15 degrees an hour. A wrong zone puts it in the wrong sign. So a clock time with no zone is rejected, not guessed.

Do I need the full natal chart?

No. This endpoint returns only the angles and points. For planets, houses and aspects use the natal chart endpoint.

Is there a free tier?

Yes. The Explorer tier includes this endpoint, and a key needs no card.

Related: Natal chart API · Astrology API · Docs

Connect the MCP server in 30 seconds

Install it from the ChatGPT app directory in one click, or give Claude, Cursor, or any MCP client the same live data — no API key required to connect.