Chart basics
Kundli (birth chart) in Vedic astrology
Updated
Kundli: how the API computes it
A kundli needs three things: the birth date, the birth time and the birth place. Send the place as latitude, longitude and a time zone, such as America/New_York. The API accepts dates from 1850 to 2149.
POST /v1/planets returns the core of the kundli. That is the ascendant (rising sign) and all nine grahas, each with its sign, degree and house. Each one also has its nakshatra (birth star), pada (quarter of the nakshatra) and dignity (how well it is placed).
Use this answer to draw the chart in your app. The API measures signs in the sidereal zodiac, the Vedic zodiac fixed to the stars, with the Lahiri ayanamsa by default. Houses are whole-sign, so the rising sign is the whole of house 1 (CH-06).
Many printed kundlis also show other charts beside the main one. POST /v1/chart/{division} returns any of the 16 divisional charts, from D1, the main chart, to D60. POST /v1/chart/chalit returns the bhava chalit table, which most printed kundlis show next to the birth chart.
The birth time matters most for the ascendant, which changes sign about every two hours. So ask your users for the most exact birth time they have.
Get it from the API
POST /v1/planets
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/planets" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
},
"ascendant": {
"name": "Ascendant",
"longitude": 169.934155,
"sign": "Virgo",
"sign_number": 6,
"degree_in_sign": 19.934155,
"degree_dms": "19 : 56 : 03",
"house": 1,
"nakshatra": "Hast",
"nakshatra_lord": "Moon",
"pada": 3,
"speed": 0,
"retrograde": false,
"combust": false,
"dignity": "n/a",
"vargottama": false,
"pushkara": {
"navamsa": false,
"navamsa_number": 6,
"bhaga": false,
"bhaga_degree": 9,
"bhaga_by_element": false,
"bhaga_degree_by_element": 14,
"sources_agree": true,
"orb_degrees": 1
}
},
"positions": [
{
"name": "Sun",
"longitude": 118.7753409,
"sign": "Cancer",
"sign_number": 4,
"degree_in_sign": 28.7753409,
"degree_dms": "28 : 46 : 31",
"house": 11,
"nakshatra": "Ashlesha",
"nakshatra_lord": "Mercury",
"pada": 4,
"speed": 0.9610665,
"retrograde": false,
"combust": false,
"dignity": "friend",
"vargottama": false,
"pushkara": {
"navamsa": false,
"navamsa_number": 9,
"bhaga": false,
"bhaga_degree": 8,
"bhaga_by_element": false,
"bhaga_degree_by_element": 7,
"sources_agree": true,
"orb_degrees": 1
}
},
{
"name": "Moon",
"longitude": 54.5750352,
"sign": "Taurus",
"sign_number": 2,
"degree_in_sign": 24.5750352,
"degree_dms": "24 : 34 : 30",
"house": 9,
"nakshatra": "Mrigashira",
"nakshatra_lord": "Mars",
"pada": 1,
"speed": 14.258194,
"retrograde": false,
"combust": false,
"dignity": "mulatrikona",
"vargottama": false,
"pushkara": {
"navamsa": false,
"navamsa_number": 8,
"bhaga": false,
"bhaga_degree": 14,
"bhaga_by_element": false,
"bhaga_degree_by_element": 14,
"sources_agree": true,
"orb_degrees": 1
}
},
{
"name": "Mars",
"longitude": 27.7149328,
"sign": "Aries",
"sign_number": 1,
"degree_in_sign": 27.7149328,
"degree_dms": "27 : 42 : 54",
"house": 8,
"nakshatra": "Krittika",
"nakshatra_lord": "Sun",
"pada": 1,
"speed": 0.5753266,
"retrograde": false,
"combust": false,
"dignity": "own sign",
"vargottama": false,
"pushkara": {
"navamsa": true,
"navamsa_number": 9,
"bhaga": false,
"bhaga_degree": 21,
"bhaga_by_element": false,
"bhaga_degree_by_element": 21,
"sources_agree": true,
"orb_degrees": 1
}
}
],
"planetary_war": []
}Where the API returns it
| POST | /v1/planets | Planet positions and the ascendant |
| POST | /v1/chart/chalit | Bhava chalit: houses by the Sripati method |
| POST | /v1/chart/{division} | Any of the 16 divisional charts (D1 to D60) |
| POST | /v1/chart/svg | The birth chart or any divisional chart as an SVG or PNG image |
| POST | /v1/chart/sudarshana | Sudarshana chakra: the chart from the ascendant, Moon and Sun |
What the API reference says
Each line is quoted from the reference page of the endpoint named above it.
- POST /v1/planets · Planet positions and the ascendantUse this endpoint as the starting point for drawing a birth chart.
- POST /v1/chart/chalit · Bhava chalit: houses by the Sripati methodReturns the bhava chalit chart, the house table found beside the birth chart in most printed kundlis (birth chart books).
- POST /v1/chart/svg · The birth chart or any divisional chart as an SVG or PNG imageDraws a chart (kundli) as an SVG image you can show as it is, or as a PNG with
format=png.
Feature page: Kundli and birth charts. Who uses it: Astrology apps. The classical rules the API follows are in the rulebook.
How we check the numbers
Every value here starts from planet positions worked out from NASA JPL planet data (DE440). We test them against NASA JPL Horizons, NASA's planet position service. On 25,571 positions from 1850 to 2149, the Sun and planets agree within 0.001 arc seconds. The Moon agrees within 0.011. On 2,000 random birth charts, the rising sign agrees with Swiss Ephemeris within 0.004 arc seconds. An arc second is 1/3,600 of a degree. A practicing astrologer reviews the rules behind these answers. See how we test.
Related terms
Free tools
See it with your own details
Runs on the same API call. Enter your details and see the answer in your browser.
Free kundli
Your Vedic birth chart: the rising sign and all nine planets, with sign, house and nakshatra.
Make my kundli
Astrology API
Get these values from the API
Create a free test key and call any endpoint on this page. Or try a request in the API reference first.
Your first answer
John Doe, New York
- RisingVirgoHast
- SunCancerAshlesha
- MoonTaurusMrigashira
- MarsAriesKrittika
Real API output. A free test key gets the same answer.
01
Test key: 1,000 test calls a month to build with
02
Free plan: 2,000 live calls a month, no card needed
03
Open rules: every rule is published, so you can check any answer