Grahvani API v1
Dashas

Vimśottarī daśā

POST/v1/dashas/vimshottari
Cost
3 units
Operation
dashasVimshottari
Auth
X-API-Key

The 120-year Vimśottarī cycle, to the level of nesting you ask for. 3 units.

Reckoned on the sidereal year (365.256363 days). That is a measured choice, not a preference: across nine mahādaśās, Drik Pañcāṅga's published 120-year cycle comes to 43830.7639 days against sidereal's 43830.7636 — a 26-second match. The Julian year is 0.76 d out and the Gregorian 1.66 d. The principled argument agrees, since the daśā is anchored to the Moon's nakṣatra, which is a sidereal position.

⚠️ Boundary dates will not match every other tool, and the dominant cause is not this constant — it is the ayanāṁśa variant, which outweighs year length by roughly 40×.

Body parameters#

birthobjectRequired
datestring · dateRequired
timestringoptional

Local clock time at the place of birth. If unknown, omit it — we use 12:00 noon and set meta.birth_time_assumed, and still return the full chart. We do not refuse a reading for want of a birth time.

placeobjectRequired
latitudenumberRequired

min -90 · max 90.

longitudenumberRequired

min -180 · max 180.

timezonestringRequired

IANA name, e.g. Asia/Kolkata. Not a fixed offset — an offset cannot represent historical daylight-saving transitions, and a birth in 1980 may need one.

ayanamsaenumoptional

Honoured only where the operation exists in that school — 41 of them do. Everything else is Lahiri-only and returns 501 for another school. See GET /v1/meta/capabilities.

One of lahiri, raman, yukteswar, bhasin, true_chitra, kp. Defaults to "lahiri".

levelsintegeroptional

1 = mahādaśā, 2 = +antara, 3 = +pratyantara, and so on.

Defaults to 2. min 1 · max 5.

Request#

POST /v1/dashas/vimshottari
curl -X POST https://api.grahvani.in/v1/dashas/vimshottari \
  -H "X-API-Key: $GRAHVANI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "birth": {
    "date": "1980-05-01",
    "time": "05:16:00",
    "place": {
      "latitude": 27.1767,
      "longitude": 78.0081,
      "timezone": "Asia/Kolkata"
    }
  },
  "levels": 2
}'

Response#

A real response from the production API, abbreviated where an array was long. Every success carries the same three keys — data, meta and, where we have something citable, provenance.

200 OK
{
  "data": {
    "mahadashas": [
      {
        "antardashas": [
          {
            "duration_years": 1.2048,
            "end_date": "1981-07-15",
            "planet": "Mercury",
            "start_date": "1980-05-01"
          },
          {
            "duration_years": 0.9333,
            "end_date": "1982-06-21",
            "planet": "Ketu",
            "start_date": "1981-07-15"
          },
          {
            "duration_years": 2.6667,
            "end_date": "1985-02-19",
            "planet": "Venus",
            "start_date": "1982-06-21"
          },
          "… 4 more (truncated for the docs)"
        ],
        "duration_years": 10.2715,
        "end_date": "1990-08-08",
        "planet": "Jupiter",
        "start_date": "1980-05-01"
      },
      {
        "antardashas": [
          {
            "duration_years": 3.0083,
            "end_date": "1993-08-11",
            "planet": "Saturn",
            "start_date": "1990-08-08"
          },
          {
            "duration_years": 2.6917,
            "end_date": "1996-04-20",
            "planet": "Mercury",
            "start_date": "1993-08-11"
          },
          {
            "duration_years": 1.1083,
            "end_date": "1997-05-30",
            "planet": "Ketu",
            "start_date": "1996-04-20"
          },
          "… 6 more (truncated for the docs)"
        ],
        "duration_years": 19,
        "end_date": "2009-08-08",
        "planet": "Saturn",
        "start_date": "1990-08-08"
      },
      {
        "antardashas": [
          {
            "duration_years": 2.4083,
            "end_date": "2012-01-05",
            "planet": "Mercury",
            "start_date": "2009-08-08"
          },
          {
            "duration_years": 0.9917,
            "end_date": "2013-01-01",
            "planet": "Ketu",
            "start_date": "2012-01-05"
          },
          {
            "duration_years": 2.8333,
            "end_date": "2015-11-02",
            "planet": "Venus",
            "start_date": "2013-01-01"
          },
          "… 6 more (truncated for the docs)"
        ],
        "duration_years": 17,
        "end_date": "2026-08-09",
        "planet": "Mercury",
        "start_date": "2009-08-08"
      },
      "… 6 more (truncated for the docs)"
    ],
    "moon_longitude": 204.7738,
    "nakshatra_at_birth": "Vishakha",
    "user_name": "api"
  },
  "meta": {
    "request_id": "req_01JQ8ZK3M4N5P6Q7R8S9T",
    "endpoint": "dashas.vimshottari",
    "units": 3,
    "computed_at": "2026-08-06T07:23:29.555Z",
    "ayanamsa": "lahiri"
  },
  "provenance": {
    "method": "Vimśottarī daśā on the sidereal year (365.256363 d)",
    "conventions": {
      "year_length": "sidereal 365.256363 d"
    },
    "verified_against": "Drik Pañcāṅga, full 120-year cycle, Δ 26 seconds"
  }
}

Errors#

StatusWhen
400Your request. Always carries error.field when a single input is at fault.
401Missing, malformed, revoked or out-of-scope API key.
429Rate limit or monthly unit quota exhausted. Always carries Retry-After.

Every failure returns the same error shape and a doc_url that resolves. See Errors and the full code list.

Grahvani API — a product of AstroCorp Techlab Pvt Ltd · GSTIN 36AAMCC3512G1ZU
Base URL https://api.grahvani.in
On this page