
Natal Chart API (JSON)
Send a birth moment and a place. Get planets, houses, angles, aspects and dignities back as JSON, computed from the NASA JPL DE440 ephemeris.
POST /ephemeris/natal-chart
1 credit for the JSON chart. On the free tier.
Request
Send your key in the X-API-Key header. Keep it on your server, not in browser code.
- subject.birth_datetime
- iso string, Julian Day or components.
- subject.birth_location
- latitude, longitude and an IANA timezone. Send the local time plus the zone, not your own UTC conversion.
- configuration.house_system
- Optional. For example placidus.
- ?format=llm
- Optional query. A compact reply for AI use.
curl -X POST https://api.openephemeris.com/ephemeris/natal-chart \
-H "X-API-Key: $OE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"name": "Example",
"birth_datetime": {"iso": "1987-07-15T09:01:00"},
"birth_location": {
"latitude": {"decimal": 32.7767},
"longitude": {"decimal": -96.797},
"timezone": {"iana_name": "America/Chicago"}
}
},
"configuration": {"house_system": "placidus"}
}'const res = await fetch("https://api.openephemeris.com/ephemeris/natal-chart", {
method: "POST",
headers: {
"X-API-Key": process.env.OE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
subject: {
name: "Example",
birth_datetime: { iso: "1987-07-15T09:01:00" },
birth_location: {
latitude: { decimal: 32.7767 },
longitude: { decimal: -96.797 },
timezone: { iana_name: "America/Chicago" },
},
},
configuration: { house_system: "placidus" },
}),
});
const chart = await res.json();
console.log(chart.angles.ascendant, chart.planets.Moon.sign_name);Response
Planets are keyed by name, with longitude, sign, house and speed. Angles are degrees 0 to 360. Cusps start at the 1st house. Trimmed from a real response.
{
"planets": {
"Moon": {
"longitude": 354.21634,
"sign_name": "Pisces",
"sign_longitude": 24.216333,
"house_number": 8,
"longitude_speed": 13.994535,
"is_retrograde": false
}
},
"angles": {
"ascendant": 143.11507,
"midheaven": 48.80119,
"descendant": 323.11505,
"imum_coeli": 228.8012
},
"houses": { "system": "P", "cusps": [143.11507, 167.4702, ...] },
"aspects": [ { "planet1": "Sun", "planet2": "Moon", "aspect_type": "trine", ... } ]
}Common questions
What does the natal chart endpoint return?
Planet and point positions, house cusps, angles, aspects and dignities. Extras such as midpoints, fixed stars and Arabic parts are options.
How accurate are the positions?
They come from the NASA JPL DE440 kernel. The proof page shows the measured gaps to JPL Horizons.
Can I get just the Ascendant?
Yes. The angles endpoint returns only the angles and points.
Is there a free tier?
Yes. The Explorer tier includes this endpoint, and a key needs no card.
Related: Ascendant API · Astrology API · Accuracy
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.