Ascendant / Rising Sign Calculator API
Send a birth date, time and place; get back the Ascendant in both zodiacs. The Vedic Lagna comes with its sign, degree, nakshatra, pada and lords, and the Western rising sign with its element and modality.
What the Ascendant is
The Ascendant is the degree of the zodiac rising on the eastern horizon at the moment of birth. In Vedic astrology it is the Lagna, the first house and the point the whole chart is read from; in Western astrology it is the rising sign. It changes sign roughly every two hours, so it needs the exact time and place, not just the date.
The two traditions measure it from different starting points. The Vedic (sidereal) zodiac is fixed to the stars and the Western (tropical) zodiac to the equinox; today they are about 24° apart, so the same birth often has a different Lagna and rising sign. This endpoint returns both from one call.
What one call returns
lagna: the sidereal Ascendant, with sign and rashi, degree, sign lord, nakshatra, pada, nakshatra lord and navamsa sign. Lahiri by default; passayanamsafor another.rising_sign: the tropical Ascendant used in Western astrology, with its element and modality.midheaven: the Midheaven (MC) in both zodiacs.
The Ascendant does not depend on the house system, so there is none to choose. Send the birth time with its UTC offset, for example 1990-08-15T10:30:00+05:30, or give timezone_as_float; a time with neither is read as Indian time (+05:30).
Example request
curl -X POST https://api.occultapi.com/api/astro/ascendant/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"1990-08-15T10:30:00+05:30","latitude":26.9124,"longitude":75.7873}'import os, requests
response = requests.post(
"https://api.occultapi.com/api/astro/ascendant/",
headers={"X-API-Key": os.environ["OCCULT_API_KEY"]},
json={
"date_time": "1990-08-15T10:30:00+05:30",
"latitude": 26.9124,
"longitude": 75.7873
},
timeout=30,
)
response.raise_for_status()
print(response.json())
print("credits left:", response.headers.get("X-Credits-Remaining"))const response = await fetch("https://api.occultapi.com/api/astro/ascendant/", {
method: "POST",
headers: {
"X-API-Key": process.env.OCCULT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"date_time": "1990-08-15T10:30:00+05:30",
"latitude": 26.9124,
"longitude": 75.7873
}),
});
if (!response.ok) throw new Error(`API error ${response.status}`);
console.log(await response.json());
console.log("credits left:", response.headers.get("X-Credits-Remaining"));<?php
$ch = curl_init("https://api.occultapi.com/api/astro/ascendant/");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"X-API-Key: " . getenv("OCCULT_API_KEY"),
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => '{"date_time":"1990-08-15T10:30:00+05:30","latitude":26.9124,"longitude":75.7873}',
]);
echo curl_exec($ch);Example response
The response that request returned.
{
"data": {
"lagna": {
"longitude": 177.748946,
"sign": "Virgo",
"sign_index": 6,
"degree_in_sign": 27.748946,
"formatted": "27°44'56\" Virgo",
"sign_lord": "Mercury",
"element": "Earth",
"modality": "Mutable",
"rashi": "Kanya",
"nakshatra": "Chitra",
"nakshatra_index": 14,
"pada": 2,
"nakshatra_lord": "Mars",
"navamsa_sign": "Virgo",
"navamsa_rashi": "Kanya"
},
"rising_sign": {
"longitude": 201.479077,
"sign": "Libra",
"sign_index": 7,
"degree_in_sign": 21.479077,
"formatted": "21°28'45\" Libra",
"sign_lord": "Venus",
"element": "Air",
"modality": "Cardinal"
},
"midheaven": {
"sidereal": {
"longitude": 88.617386,
"sign": "Gemini",
"sign_index": 3,
"degree_in_sign": 28.617386,
"formatted": "28°37'03\" Gemini",
"sign_lord": "Mercury",
"element": "Air",
"modality": "Mutable"
},
"tropical": {
"longitude": 112.347516,
"sign": "Cancer",
"sign_index": 4,
"degree_in_sign": 22.347516,
"formatted": "22°20'51\" Cancer",
"sign_lord": "Moon",
"element": "Water",
"modality": "Cardinal"
}
},
"ayanamsa": "LAHIRI",
"ayanamsa_degrees": 23.73013,
"date_time_utc": "1990-08-15T05:00:00+00:00",
"latitude": 26.9124,
"longitude": 75.7873
},
"status": 200,
"is_error": false,
"message": "successful"
}Questions
- Why are my Vedic Lagna and Western rising sign different?
- They are measured in different zodiacs. The Vedic zodiac is sidereal and the Western one tropical; the gap between them, the ayanamsa, is about 24 degrees today, so the two often fall in different signs. Both are correct in their own system.
- How accurate does the birth time need to be?
- The Ascendant moves about one degree every four minutes, so a few minutes can change the degree and, near a sign boundary, the sign itself. The response gives the exact degree so you can see how close it is to a boundary.
- Which ayanamsa is used for the Lagna?
- Lahiri (Chitrapaksha) by default, the standard in Indian astrology. Krishnamurti, Raman, Fagan-Bradley and the other common ayanamsas can be passed in the ayanamsa field.
- Does it work for any place on Earth?
- Yes, up to 89.9 degrees north or south, including high latitudes where some house systems fail. At the poles themselves the Ascendant is undefined.
For the special ascendants (Hora, Ghatika, Bhava and Sree Lagna) see Special lagnas.