curl -X POST https://api.occultapi.com/api/astro/prashna/jamakkol/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-09-16T10:30:00","latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5,"ayanamsa":"lahiri","node_type":"mean"}'Jamakkol is the Tamil system of Prashna (horary astrology): a chart cast for the moment a question is asked. Alongside the ordinary planets it uses eight jama grahas and three points of its own, Udhayam, Arudam and Kavippu, and this endpoint returns all of them for one moment and place. Send `date_time` as the local clock time of the question (`YYYY-MM-DDTHH:MM:SS`, no offset), `latitude`, `longitude` and `timezone_as_float` (the place's UTC offset in hours). `ayanamsa` defaults to `lahiri` and `node_type` to `mean`. Traditionally the querent chooses the Arudam sign; pass it as `arudam_sign` (1 = Aries) or leave it out to take Arudam from the clock. The response has `day` (weekday, sunrise, sunset and whether it is day or night), `jamam` (the 1.5-hour block of the day or night, 1 to 8), `udhayam`, `arudam` and `kavippu`, the eight `jama_grahas`, the `special_points` Kuligan, Emakandam, Mrithyu and Rahu Time, the `planets` with the ascendant, a `summary` of the houses the key points fall in, the `panchanga` of the moment and `astronomy` (speed, declination and distance of each body). Every point comes back with its longitude, sign, sign lord, degree in sign and nakshatra. How the points move: the jama grahas stand 45 degrees apart and move backwards 0.5 degrees per minute of clock time from 6 AM; Udhayam starts at the Sun's sunrise longitude and goes once round the zodiac in the day and once in the night; Arudam turns the clock's minutes and seconds into a longitude, once round every hour; Kavippu is Arudam mirrored and is always shown retrograde. The rules were checked against jamakkol.com across more than 20 charts; to reproduce that site exactly, send `ayanamsa: "true_citra"` with the mean node.
| Field | Type | Required | Notes |
|---|---|---|---|
| date_time | string (date-time) | required | The moment to calculate for, ISO 8601. ALWAYS include an offset or a trailing Z - a value with no zone is read as Asia/Kolkata (UTC+05:30), not UTC, and can return the previous day's result with a 200. '2026-09-01T06:00:00Z' and '2026-09-01 06:00:00' are different instants and give different answers. |
| latitude | number (double) | required | Latitude of the place, in decimal degrees. Positive is north, negative is south. Example: 26.9124 for Jaipur, 40.7128 for New York. Minutes and seconds are not accepted - convert first. min -66 · max 66 |
| longitude | number (double) | required | Longitude of the place, in decimal degrees. Positive is east, negative is west. Example: 75.7873 for Jaipur, -74.0060 for New York. Note the sign: a missing minus puts New York in China. min -180 · max 180 |
| timezone_as_float | number (double) | required | UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30), -5 for New York in winter, 5.75 for Nepal. This is NOT validated against date_time - if the two disagree you get a successful response for the wrong moment, so derive both from the same source. Use the offset in force on that date, not today's: a summer birth in a country with daylight saving needs the summer offset. min -12 · max 14 |
| arudam_sign | integer | optional | The sign the querent chose (1 = Aries). Omit to take Arudam from the clock. min 1 · max 12 |
| ayanamsa | string | optional | jamakkol.com uses true_citra. lahiritrue_citrakrishnamurtiraman |
| node_type | string | optional | meantrue |