Horoscope – REST API

To help people with the horoscope analysis on their own, the following REST API is provided. This API will compute the horoscope for the provided birth time and location. The horoscope result will contains the Ascendant, house cuspal points and the planetary positions along with vimshottari dasa.  An another important input parameter is the ayanamsa settings which will help in the accurate horoscope analysis.

Try this API live.

POST      http://stellarastrology.in/api/v1/horoscope

Summary

Computes the horoscope for the given birth details.

Description

The API computes the horoscope for the given birth details based on JSON format. The birth details contains the personal information, birth time, birth place which is represented in latitude and longitude coordinates and settings related to the horoscope computation.

Request Parameters

Name Type Required Description
birthDetails birthDetails Yes  The main input object which composed of other input parameters

Request Objects

Object :  birthDetails
Name Type Required Description
personName String Yes  Name of the person
gender String No Gender of the person (Optional)
 birthPlace birthPlace Yes Contains the birth location as latitude and longitude with timezoneID
birthTime
birthTime
Yes Contains the birth time information
settings settings No Settings like ayanamsa which are related to horoscope computation
Object :  birthPlace
Name Type Required Description
city String No Name of the birth city (Optional)
state String No Name of the birth state (Optional)
 country String No Name of the birth country (Optional)
latitude
latitude
Yes Latitude of the birth location
longitude longitude Yes Longitude of the birth location
timeZoneId timeZoneId Yes  Timezone Id of the birth location. Please refer the correct Canonical ID as input for the Timezone Id from the timezone list mentioned in this link
Object : latitude
Name Type Required Description
degrees Integer Yes Degree value of the latitude. Valid Range (0 to 90)
minutes Integer Yes Minutes value of the latitude. Valid Range (0 to 59)
seconds Integer Yes Seconds value of the latitude. Valid Range (0 to 59)
direction
Enum
Yes Direction value of the latitude.Valid Values (NORTH, SOUTH)
Object : longitude
Name Type Required Description
degrees Integer Yes Degree value of the longitude. Valid Range (0 to 180)
minutes Integer Yes Minutes value of the longitude. Valid Range (0 to 59)
seconds Integer Yes Seconds value of the longitude. Valid Range (0 to 59)
direction
Enum
Yes Direction value of the longitude.Valid Values (EAST, WEST)
Object : birthTime
Name Type Required Description
year Integer Yes Year of the birth time. Valid Range (1 to 9999)
month Integer Yes Month of the birth time. Valid Range (1 to 12)
 day Integer Yes Day of the birth time. Valid Range (1 to 31)
hour
Integer
Yes Hour of the birth time. Valid Range (0 to 23)
minutes Integer Yes Minutes of the birth time. Valid Range (0 to 59)
seconds  Integer Yes  Seconds of the birth time. Valid Range (0 to 59)
Object : settings
Name Type Required Description
ayanamsaType Enum No

 Ayanamsa setting type.

Valid Values (LAHIRI, RAMAN, KRISHNAMURTHI, KPSTLA). Default Value : KPSTLA

ayanamsa ayanamsa  No Custom ayanamsa value. Leave ayanamsaType as empty string to take this value as custom value for horoscope computation.
Object : ayanamsa
Name Type Required Description
degrees Integer Yes Degree value of the longitude. Valid Range (0 to 359)
minutes Integer Yes Minutes value of the longitude. Valid Range (0 to 59)
seconds Integer Yes Seconds value of the longitude. Valid Range (0 to 59)

 

Sample Request Input

{
  "birthDetails": {
    "personName": "Rajinikanth",
    "gender": "male",
    "birthPlace": {
      "city": "Bangalore",
      "state": "Karnataka",
      "country": "India",
      "latitude": {
        "degrees": "12",
        "minutes": "58",
        "seconds": 0,
        "direction": "NORTH"
      },
      "longitude": {
        "degrees": "77",
        "minutes": "38",
        "seconds": 0,
        "direction": "EAST"
      },
      "timeZoneId": "Asia/Kolkata"
    },
    "birthTime": {
      "year": "1950",
      "month": "12",
      "day": "12",
      "hour": "23",
      "minutes": "49",
      "seconds": 0
    },
    "settings": {
      "ayanamsaType": "KPSTLA",
      "ayanamsa": {
        "degrees": 0,
        "minutes": 0,
        "seconds": 0
      }
    }
  }
}

Response Objects

Object :  Response (200)
Name Type Description
info info  Contains the personal & birth data information
houses houses Contains the house’s positions and occupant lord’s information
planets planets Contains the planet’s positions and it’s house information along with the ruling lords
vimshottariDasa
vimshottariDasa
Contains vimshottri dasa information along with bhukti & suskma sub periods
Object :  info
Name Type Description
personName String Name of the person
gender String Gender of the person
birthPlace birthPlace Birth place of the person (same as the input)
birthTime
birthTime
Birth time of the person (same as the input)
settings settings Input settings (same as the input)
ayanamsa position The ayanamsa value used for the horoscope computation
horoscopeId String  Unique id for the generated horoscope. Can be used for sharing purpose like http://stellarastrology.in/ho/{horoscopeId}
Object :  houses (array of object with house number)
Name Type Description
position position Zodiac position
houseNum Integer House number
dasaLord String Planet name – Dasa lord of the cuspal point sign
starLord
String
Planet name – Star lord of the cuspal point
subLord String Planet name – Sub lord of the cuspal point
subSubLord String Planet name – Sub-Sub lord of the cuspal point
Object :  position
Name Type Description
degrees Integer Degree value of the zodiac position
minutes Integer Minutes value of the zodiac position
seconds Float Seconds value of the zodiac position
milliSeconds Long Zodiac position in milli seconds
decimal Float Zodiac position in decimal
Object :  planets (array of object with planet name)
Name Type Description
id String Id for the planet
name String Name of the planet
position position Planet zodiac position
houseNum
Integer
House number where the planet resides
dasaLord String Planet name – Dasa lord of the sign where planet resides
starLord String Planet name – Star lord of the planet zodiac position
subLord String  Planet name – Sub lord of the planet zodiac position
subSubLord  String   Planet name – Sub-Sub lord of the planet zodiac position
Object :  vimshottariDasa (array of dasaEntries objects)
Name Type Description
dasaLord String Planet name – Dasa lord of the dasa
buktiLord String Planet name – Dasa lord of the dasa
sukshmaLord String Planet name – Dasa lord of the dasa
startDate  String Start date of the dasa of format (dd-MMM-yyyy eg: 19-Jan-1948)

Sample Response

{
    "info": {
        "personName": "Rajinikanth",
        "gender": "male",
        "birthPlace": {
            "city": "Bangalore",
            "state": "Karnataka",
            "country": "India",
            "latitude": {
                "degrees": 12,
                "minutes": 58,
                "seconds": 0,
                "direction": "NORTH"
            },
            "longitude": {
                "degrees": 77,
                "minutes": 38,
                "seconds": 0,
                "direction": "EAST"
            },
            "timeZoneId": "Asia/Kolkata"
        },
        "birthTime": {
            "year": 1950,
            "month": 12,
            "day": 12,
            "hour": 23,
            "minutes": 49,
            "seconds": 0
        },
        "settings": {
            "ayanamsa": {
                "degrees": 0,
                "minutes": 0,
                "seconds": 0
            },
            "ayanamsaType": "KPSTLA"
        },
        "ayanamsa": {
            "degrees": 23,
            "minutes": 9,
            "seconds": 39.4194059178011,
            "milliSeconds": 83379419,
            "decimal": 23.160949834977167
        },
        "horoscopeId": "ic5hjf"
    },
    "houses": {
        "1": {
            "position": {
                "degrees": 140,
                "minutes": 18,
                "seconds": 11.514759199606033,
                "milliSeconds": 505091515,
                "decimal": 140.3031985442221
            },
            "houseNum": 1,
            "dasaLord": "Sun",
            "starLord": "Venus",
            "subLord": "Jupiter",
            "subSubLord": "Jupiter"
        },
        "2": {
            "position": {
                "degrees": 170,
                "minutes": 21,
                "seconds": 25.370435763854857,
                "milliSeconds": 613285370,
                "decimal": 170.35704734326774
            },
            "houseNum": 2,
            "dasaLord": "Mercury",
            "starLord": "Moon",
            "subLord": "Ketu",
            "subSubLord": "Mercury"
        },
        ...

        "12": {
            "position": {
                "degrees": 110,
                "minutes": 17,
                "seconds": 11.57707520489339,
                "milliSeconds": 397031577,
                "decimal": 110.28654918755691
            },
            "houseNum": 12,
            "dasaLord": "Moon",
            "starLord": "Mercury",
            "subLord": "Venus",
            "subSubLord": "Rahu"
        }
    },
    "planets": {
        "Ketu": {
            "id": "Ke",
            "name": "Ketu",
            "position": {
                "degrees": 150,
                "minutes": 45,
                "seconds": 28.942923323950254,
                "milliSeconds": 542728943,
                "decimal": 150.75803970092332
            },
            "houseNum": 1,
            "dasaLord": "Mercury",
            "starLord": "Sun",
            "subLord": "Rahu",
            "subSubLord": "Venus"
        },
        "Rahu": {
            "id": "Ra",
            "name": "Rahu",
            "position": {
                "degrees": 330,
                "minutes": 45,
                "seconds": 28.942923324052572,
                "milliSeconds": 1190728943,
                "decimal": 330.75803970092335
            },
            "houseNum": 7,
            "dasaLord": "Jupiter",
            "starLord": "Jupiter",
            "subLord": "Mars",
            "subSubLord": "Jupiter"
        },
      ...

        "Mars": {
            "id": "Ma",
            "name": "Mars",
            "position": {
                "degrees": 274,
                "minutes": 48,
                "seconds": 5.854501484118373,
                "milliSeconds": 989285855,
                "decimal": 274.80162625041226
            },
            "houseNum": 5,
            "dasaLord": "Saturn",
            "starLord": "Sun",
            "subLord": "Saturn",
            "subSubLord": "Rahu"
        }
    },
    "vimshottariDasa": {
        "dasaEntries": [
            {
                "dasaLord": "Moon",
                "buktiLord": "Moon",
                "sukshmaLord": "Moon",
                "startDate": "19-Jan-1948"
            },
            {
                "dasaLord": "Moon",
                "buktiLord": "Moon",
                "sukshmaLord": "Mars",
                "startDate": "13-Feb-1948"
            },
           ...
       ]
    }
}

Try this API live.