
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 -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
}'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-360Response
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.
{
"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.