Planetary aspects — Drishti in Vedic astrology and angular aspects in Western astrology — can be computed directly through the Vedika API: a single call returns which planet aspects which house or planet, the aspect type, and (for the Western model) the exact orb and whether the aspect is applying or separating. Because the Vedic (sidereal), Western (tropical), and KP systems live behind one endpoint, you choose the aspect model per request instead of integrating three different services. This guide covers the request shape, the special-aspect rules the engine encodes, and how to read the response.
What “aspect” means in each system
The word “aspect” describes two genuinely different mechanics depending on the tradition, and a useful API has to honor that difference rather than flatten it.
Vedic Drishti (graha drishti)
In Vedic astrology, aspects are counted in whole signs or houses from a planet’s position. Every planet aspects the 7th house from itself. Three planets cast additional special aspects at full strength, and these are deliberately asymmetric:
- Mars — aspects the 4th and 8th houses from itself (plus the 7th).
- Jupiter — aspects the 5th and 9th houses from itself (plus the 7th).
- Saturn — aspects the 3rd and 10th houses from itself (plus the 7th).
These rules come from Brihat Parashara Hora Shastra and are restated in Phaladeepika; they are the foundation every practising Jyotishi learns. A naive implementation that gives every planet the same aspects is simply wrong for Mars, Jupiter, and Saturn, so the engine encodes the special cases explicitly.
Western aspects
Western aspects are angular: you measure the ecliptic-longitude separation between two planets and check it against a set of recognised angles, each allowed a tolerance called an orb. The classical Ptolemaic aspects — conjunction (0°), sextile (60°), square (90°), trine (120°), and opposition (180°) — trace to Ptolemy’s Tetrabiblos. Here, direction of motion matters: an aspect tightening toward exactness is applying, while one loosening is separating.
KP and the others
KP (Krishnamurti Paddhati) works from the same sidereal longitudes as the Vedic model but layers significators and sub-lords on top. The API also exposes Jaimini, Tajaka, and Lal Kitab models for callers who need those frameworks. The point is that aspect logic is not bolted onto one tradition — it is part of a shared computation surface spanning 700+ operations across 25 domains.
The endpoints you will use
There are two ways to get aspects, depending on whether you want raw computed data or a natural-language reading.
- V2 computation —
/v2/astrology/*returns structured chart data including aspect tables. Flat input:datetime,latitude,longitude,timezone. This is the deterministic path; no language model is involved. - AI query —
POST /api/v1/astrology/querytakes a plain-English question plusbirthDetailsand returns an explained answer that draws on the same computed aspects. Use this when you want a reading rather than a table.
Both share the base URL https://api.vedika.io and authenticate with the x-api-key header carrying a vk_live_ key.
Computing an aspect table (cURL)
curl -X POST https://api.vedika.io/v2/astrology/aspects \
-H "x-api-key: vk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"datetime": "1990-08-15T14:30:00",
"latitude": 28.6139,
"longitude": 77.2090,
"timezone": "Asia/Kolkata",
"system": "vedic"
}'
Switch "system" to "western" to receive degree-based aspects with orbs instead of house-counted Drishti. The birth coordinates and time stay identical; only the aspect model changes.
Asking about an aspect in natural language (JavaScript)
const res = await fetch("https://api.vedika.io/api/v1/astrology/query", {
method: "POST",
headers: {
"x-api-key": process.env.VEDIKA_API_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({
question: "Which houses does Saturn aspect in this chart, and what does that mean?",
birthDetails: {
datetime: "1990-08-15T14:30:00",
latitude: 28.6139,
longitude: 77.2090,
timezone: "Asia/Kolkata"
},
speed: "fast"
})
});
const data = await res.json();
console.log(data.answer);
The speed: "fast" flag routes the request through Vedika Swift for lower latency when you do not need the deepest reasoning tier. Drop it to use the standard model.
Python equivalent
import os, requests
resp = requests.post(
"https://api.vedika.io/v2/astrology/aspects",
headers={"x-api-key": os.environ["VEDIKA_API_KEY"]},
json={
"datetime": "1990-08-15T14:30:00",
"latitude": 28.6139,
"longitude": 77.2090,
"timezone": "Asia/Kolkata",
"system": "western",
},
)
for a in resp.json()["aspects"]:
print(a["from"], a["type"], a["to"], f"orb {a['orb']}°", a["phase"])
Reading the response
For the Vedic model, each aspect entry tells you the casting planet, the target (a house number and/or an occupying planet), and the aspect class so the special cases are unambiguous:
from— the aspecting planet, e.g."Mars".to— the aspected house and any planet sitting in it.type—"7th"for the universal aspect, or"4th"/"8th"and similar for the special ones.
For the Western model you additionally get the numeric detail that lets you weight aspects:
angle— the exact longitudinal separation in degrees.orb— deviation from the perfect aspect angle; a tighter orb is a stronger aspect.phase—"applying"or"separating".
Treating every aspect as equal is a common mistake; the orb and phase fields exist precisely so you can rank a 0.5° applying square above a 7° separating one.
Precision underneath the aspects
Aspect tables are only as trustworthy as the longitudes they are derived from. Vedika computes positions with the XALEN Ephemeris, its own open-source engine published under Apache-2.0 (crates.io/xalen, PyPI xalen, npm @xalen/wasm) and covered by roughly 2,200 tests. It is validated against JPL DE440 and swetest, with no chart deviating beyond 0.1° across a reproducible JPL DE440 benchmark. That figure is astronomical precision — the position of the planet — not a claim about astrological interpretation. But it does mean the inputs to every aspect calculation are stable across the systems you query, so a Vedic Drishti and a Western orb for the same birth rest on the same underlying coordinates.
How this compares to other providers
Several established APIs serve aspect data well. Prokerala (around $19/mo) and AstrologyAPI.com (around $29/mo) both offer solid Vedic computation and clean documentation, and RoxyAPI (around $39/mo) provides broad Western coverage. If your product only needs one tradition, any of them may be a fine fit, and it is worth evaluating them.
Where Vedika differs is consolidation and grounding. Three aspect systems — Vedic, Western, and KP — come from one endpoint with one auth scheme, so a single integration covers sidereal Drishti and tropical orbs without standing up separate clients. Responses are available in 30 languages (14 of them Indic). And under Rule-22 sourcing, the rules behind the aspects map to the texts practitioners are actually trained on rather than paraphrased web summaries.
Key facts
- Vedic special aspects are encoded explicitly: Mars → 4th/8th, Jupiter → 5th/9th, Saturn → 3rd/10th, plus the universal 7th aspect.
- Western aspects return exact angle, orb, and applying/separating phase — not just a yes/no flag.
- One endpoint, three systems: switch the
systemfield betweenvedic,western, and KP. - Base URL
https://api.vedika.io; auth viax-api-key: vk_live_*. - Positions computed by the XALEN Ephemeris (Apache-2.0), validated vs JPL DE440 and
swetestwithin 0.1° across 5M test charts. - Aspect rules trace to Brihat Parashara Hora Shastra, Phaladeepika, and Ptolemy’s Tetrabiblos.
- Free sandbox with no API key at
vedika.io/sandbox.
Bringing it all together
Start in the free sandbox to confirm the request and response shapes against your data model with no key required. When the shapes match, generate a vk_live_ key and point at api.vedika.io; the full request and field reference lives in the API documentation, and plan tiers from Starter at $12/mo through Enterprise are on the pricing page. If your aspect work is part of a larger chart engine, the three-systems-in-one-API overview shows how Drishti, tropical aspects, and KP significators share the same call.