Skip to content

Aspects (Drishti)

Free · all plans

Scope: charts:read on every route below.

Drishti answers two different questions, and this page has an endpoint for each. They are both true at once and neither replaces the other:

Question Endpoint Measured by
Which planets see each other? /aspects the angle between them, on the Parashara curve
Standing in this house, who is looking at me? /house-aspects whole signs counted from the planet's own house

The first is what a strength calculation needs. The second is what a chart is read with — and what a North Indian diagram shows when it writes a planet's name faintly in a house it does not occupy.

GET /v1/vedic/charts/{id}/aspects

Returns the full Vedic aspect matrix for the chart. Two flavours of drishti are scored:

  • Parashara regular drishti — piecewise curve from 0 (conjunction) through 60 Virupa (full opposition). Every planet casts the universal 7th-house aspect at full strength.
  • Special drishti — Mars 4/8, Jupiter 5/9, Saturn/Rahu/Ketu 3/10 at full 60 Virupa.

Edges are sorted by descending strength.

{
  "chart_id": "01HKD…",
  "edges": [
    {"source": "jupiter", "target": "moon", "angle": 120.4, "strength": 60.0, "is_special": true},
    {"source": "moon", "target": "jupiter", "angle": 239.6, "strength": 45.0, "is_special": false},
    "…"
  ]
}

Angles (Ascendant / Midheaven) never cast drishti — they're points, not grahas. The full matrix only contains the 9 classical grahas.

How strength maps to interpretation

Strength Reading
0-15 Weak / advisory, usually ignored.
15-30 Quarter aspect — notable colouring.
30-45 Half aspect — clear influence.
45-60 Three-quarter / full aspect — dominant influence.

GET /v1/vedic/charts/{id}/aspects/with-orb

Continuous orb-modulated aspect strength — quadratic decay with the orb (angular gap from the exact aspect centre). The base value is the classical house weight (7th=60, 4th/8th=45, 5th/9th=30, 3rd/10th=15), augmented to full 60 for the planet's special aspect (Mars 4/8, Jupiter 5/9, Saturn 3/10). Decay = base × (orb / 10)²; beyond 10° the aspect drops to 0.

{
  "chart_id": "01HKD…",
  "edges": [
    {"source": "jupiter", "target": "moon", "aspect_angle": 120.0,
     "aspect_type": "5th", "base_strength": 60.0, "orb": 0.0,
     "final_strength": 60.0, "is_special": true,
     "explanation": "jupiter → 5th aspect (angle 120.0°, orb 0.0°, strength 60.0/60, full-power special)"},
    {"source": "sun", "target": "saturn", "aspect_angle": 175.0,
     "aspect_type": "7th", "base_strength": 60.0, "orb": 5.0,
     "final_strength": 45.0, "is_special": false,
     "explanation": "sun → 7th aspect (angle 175.0°, orb 5.0°, strength 45.0/60)"}
  ]
}

Use this when you need fine-grained per-aspect explanations or want strength values that vary smoothly with proximity. The base /aspects endpoint remains the workhorse for binary aspect detection in the rest of the engine.


GET /v1/vedic/charts/{id}/house-aspects

Which planets aspect each of the twelve houses, by whole sign. Required scope: charts:read.

This is the classical reading. Every graha aspects the 7th house from its own; Mars adds the 4th and 8th, Jupiter the 5th and 9th, and Saturn, Rahu and Ketu the 3rd and 10th. Counted inclusively — the 7th from house 9 is house 3, not house 16.

curl -H "Authorization: Bearer $ASTROLINKERS_API_KEY" \
  https://api.astrolinkers.com/v1/vedic/charts/$CHART/house-aspects
{
  "chart_id": "019ff…",
  "houses": [
    {
      "house": 1,
      "aspected_by": [
        {"planet": "saturn", "from_house": 7, "distance": 7, "is_special": false},
        {"planet": "mars", "from_house": 10, "distance": 4, "is_special": true}
      ]
    },
    {"house": 2, "aspected_by": []}
  ]
}
Field Type Notes
house integer 1…12 All twelve are always returned. A house nobody aspects is a fact about the chart, not a gap in the answer — it comes back with an empty aspected_by.
planet enum sun…saturn, rahu, ketu. The ascendant is a cusp, not a graha, and never appears — otherwise it would aspect the 7th of every chart.
from_house integer 1…12 Where the planet stands. "Saturn is looking at you" is worth little without "from your 10th".
distance integer How far the aspected house is, counted inclusively: 7 for the aspect every graha casts, and 3, 4, 5, 8, 9 or 10 for the specials.
is_special boolean false for the universal 7th. Branch on this rather than on distance when you only want to distinguish the two kinds.

aspected_by lists the full 7th aspects first, then the specials — the strongest claim at the top — and the order is stable, so the same chart always renders identically.

Which one do I want?

Use /house-aspects to draw or read a chart: it is per house, it needs no orb, and it maps directly onto what a reader sees. Use /aspects when you need the degree between two planets — a strength calculation, a yoga check, anything where "how exact" matters.

Asking /aspects and grouping its edges by the target planet's house is not the same answer: a planet aspects a house whether or not anything stands in it, and the empty houses are often the point.