Documentation
One endpoint. Copy and run.
This endpoint is designed to feel radically simpler than a full natal-chart API. You send birth inputs, and you get planets plus houses back.
URL: https://api.freeastroapi.com/natal
Method: POST
Auth: x-api-key: YOUR_API_KEY
Content-Type: application/json
Fields:
year, month, day, hour, minute
lat, lng
Response stays minimal: planet signs and houses, plus house-sign mapping.
cURL
curl -X POST https://api.freeastroapi.com/natal \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1990,
"month": 5,
"day": 15,
"hour": 10,
"minute": 30,
"lat": 48.8566,
"lng": 2.3522
}'JavaScript
const response = await fetch("https://api.freeastroapi.com/natal", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.SIMPLE_ASTROLOGY_API_KEY!,
},
body: JSON.stringify({
year: 1990,
month: 5,
day: 15,
hour: 10,
minute: 30,
lat: 48.8566,
lng: 2.3522,
}),
});
const data = await response.json();Example response
{
"planets": {
"sun": { "sign": "Taurus", "house": 10 },
"moon": { "sign": "Cancer", "house": 12 },
"mercury": { "sign": "Gemini", "house": 11 }
},
"houses": {
"1": "Leo",
"2": "Virgo",
"3": "Libra",
"4": "Scorpio",
"5": "Sagittarius",
"6": "Capricorn",
"7": "Aquarius",
"8": "Pisces",
"9": "Aries",
"10": "Taurus",
"11": "Gemini",
"12": "Cancer"
}
}Field notes
planets: selected planets keyed by name with their sign and house.
houses: house number mapped to sign.
If your app only needs the essentials, this is the response to start with.