deep-dive

Divisional charts D1 to D60 with an astrology API

How to compute divisional charts (vargas) from D1 to D60 over an astrology API: endpoints, request shapes, code samples, and the classical sources behind each chart.

You can compute every divisional chart from D1 (Rasi) through D60 (Shashtiamsha) over a single REST call to the Vedika astrology API: send a birth moment and coordinates to the V2 chart endpoint, pass the divisional code such as D9 or D10, and get back sign, longitude and house placements for all nine grahas plus the ascendant. The full shodasavarga set of sixteen vargas is available, derived from longitudes computed by the open-source XALEN Ephemeris and interpreted against named classical sources. This guide walks through which charts exist, the exact request shapes, working code, and the texts behind each varga.

What divisional charts are and why they need a real engine

A divisional chart, or varga, subdivides each 30-degree zodiac sign into smaller arcs and maps a planet's position within that arc onto a new sign. The Rasi chart (D1) uses the whole sign; the Navamsa (D9) splits each sign into nine parts of 3 degrees 20 minutes each; the Dwadasamsa (D12) into twelve parts of 2 degrees 30 minutes. Because the division operates on the planet's fractional longitude, small errors in the underlying position cascade: a planet at 26.6 degrees versus 26.7 degrees of a sign can land in a different navamsa pada entirely.

That sensitivity is why the calculation layer matters. Vedika computes longitudes with the XALEN Ephemeris, its own engine published under Apache-2.0 (crates.io xalen, PyPI xalen, npm @xalen/wasm, around 2,200 tests). It is validated against JPL DE440 and the swetest reference, with zero charts deviating beyond 0.1 degree across a five-million-chart test. That figure describes astronomical precision of the planetary positions, not a claim about astrological correctness, which is a separate, source-based concern handled by the interpretation layer.

The shodasavarga set the API exposes

Classical Jyotish defines a canonical group of sixteen divisional charts, the shodasavarga, each tied to a life domain. The API serves all sixteen, plus several supplementary vargas. The table below lists the core set, the division applied, and the life area each one traditionally addresses.

CodeNameDivisionTraditional focus
D1Rasi1The body, overall life, the foundation chart
D2Hora2Wealth and resources
D3Drekkana3Siblings, courage, initiative
D4Chaturthamsa4Property, fixed assets, home
D7Saptamsa7Children and progeny
D9Navamsa9Marriage, dharma, planetary strength
D10Dasamsa10Career, profession, status
D12Dwadasamsa12Parents and lineage
D16Shodasamsa16Vehicles, comforts, conveyances
D20Vimsamsa20Spiritual practice and devotion
D24Chaturvimsamsa24Education and learning
D27Bhamsa27Strengths and weaknesses, vitality
D30Trimsamsa30Misfortunes and character flaws
D40Khavedamsa40Auspicious and inauspicious effects
D45Akshavedamsa45General conduct and character
D60Shashtiamsha60Past-life karma, fine detail of all areas

The Hora (D2), Drekkana (D3), Trimsamsa (D30) and Shashtiamsha (D60) use special assignment rules rather than a plain equal division, and the engine applies the Parashari schemes for each. Supplementary vargas including D5, D6, D8 and D11 are also reachable through the same endpoint for integrations that need them.

The endpoints you call

Two endpoint families are relevant. The V2 computation routes return raw structured chart data, which is what you want when building divisional charts. The natural-language query endpoint is for interpretive answers and is covered separately.

All requests authenticate with an x-api-key: vk_live_* header against the base URL https://api.vedika.io. The free sandbox mirrors the response shapes with no key required so you can prototype first.

Requesting a single divisional chart with cURL

curl -X POST https://api.vedika.io/v2/astrology/divisional-chart \
  -H "x-api-key: vk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "datetime": "1990-08-15T14:30:00",
    "latitude": 18.5204,
    "longitude": 73.8567,
    "timezone": "Asia/Kolkata",
    "division": "D9"
  }'

The response carries each graha with its varga sign, the longitude that produced it, and the house it occupies in the divisional chart, alongside the divisional ascendant. Because the timezone is explicit, a birth in any city resolves to the correct ascendant; never rely on a default zone for a non-local birth.

Fetching several vargas in one client routine

A common need is the marriage triad: D1 for the base, D9 for the navamsa, and D7 for progeny. Loop over the codes with a generic HTTP client rather than any vendor-specific LLM SDK.

import requests

BASE = "https://api.vedika.io"
HEADERS = {"x-api-key": "vk_live_your_key_here"}

birth = {
    "datetime": "1990-08-15T14:30:00",
    "latitude": 18.5204,
    "longitude": 73.8567,
    "timezone": "Asia/Kolkata",
}

def varga(code):
    payload = {**birth, "division": code}
    r = requests.post(f"{BASE}/v2/astrology/divisional-chart",
                      json=payload, headers=HEADERS, timeout=20)
    r.raise_for_status()
    return r.json()

for code in ["D1", "D9", "D7"]:
    chart = varga(code)
    print(code, "ascendant:", chart["ascendant"]["sign"])
    for planet in chart["planets"]:
        print(" ", planet["name"], planet["sign"], round(planet["longitude"], 2))

Each call is independent and idempotent, so you can fan out the sixteen shodasavarga requests in parallel and assemble a complete varga set client-side. Per-query pricing sits in the $0.01 to $0.05 band, so a full sixteen-chart pull is a few cents.

Asking Vedika AI to read a divisional chart

When you want interpretation rather than coordinates, post to the query endpoint. The optional speed: "fast" flag routes to Vedika Swift for lower latency.

const res = await fetch("https://api.vedika.io/api/v1/astrology/query", {
  method: "POST",
  headers: {
    "x-api-key": "vk_live_your_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    question: "What does the D10 dasamsa indicate about my career direction?",
    birthDetails: {
      datetime: "1990-08-15T14:30:00",
      latitude: 18.5204,
      longitude: 73.8567,
      timezone: "Asia/Kolkata",
    },
    speed: "fast",
  }),
});
const data = await res.json();
console.log(data.answer);

For token-streamed output use /api/v1/astrology/query/stream, which emits server-sent events. The interpretation cites the classical text behind each statement, so the reading is traceable rather than free-form.

The classical sources behind each varga

Divisional charts are not a modern construct; the calculation rules and the meanings come from named texts that practitioners actually train on. Vedika's interpretation layer attributes claims to those sources rather than to generic summaries.

This matters for a B2B integration because a citation you cannot trace is a liability. Tying every interpretive line to a verifiable text keeps the output defensible when your own users ask where a reading came from.

Three systems, one integration

Divisional charts are a sidereal Vedic technique, but real applications rarely stay in one tradition. The same base URL and key also serve Western tropical placements and the KP (Krishnamurti Paddhati) system, so you do not bolt on a second provider for a Western natal wheel or a KP sub-lord table. Across the platform there are 700+ operations spanning 25 domains, and divisional charts sit inside the Vedic computation set alongside dashas, ashtakavarga, shadbala and yogas.

Honest comparison helps here. Established providers cover the basics well: a focused entry plan often starts around the price of a single domain. Vedika's differentiators for divisional work are the open-source ephemeris with published validation, the citation-backed interpretation, and having Vedic, Western and KP behind one credential. See the pricing page for the plan tiers and the documentation for the full V2 field reference.

Key facts

Bringing the varga set together

Computing divisional charts well is a precision problem first and a tradition problem second. The arithmetic of dividing a sign into 9, 12, or 60 parts is trivial; getting the input longitude right to within a fraction of a degree, and then attributing the meaning to a text rather than a guess, is the hard part. With one credential you can pull the full D1-to-D60 set, stream an interpreted reading, and cross over into Western or KP placements when an application needs them. Start in the sandbox, then read the V2 reference when you are ready to wire up a live key.

Build on the Vedika astrology API

700+ operations, Vedic + Western + KP, 30 languages, an open-source XALEN ephemeris, and a built-in LLM. Free sandbox — no signup.

Try the free sandbox