New Numerology API

Birth charts

Shadbala and Ashtakavarga API

The shadbala and ashtakavarga API from API for Astrology (apiforastrology.com) measures how strong each planet and each house is in a birth chart.

Updated

© API for Astrology (apiforastrology.com). "Shadbala and ashtakavarga explained". All rights reserved. Not to be copied or reused.Strength of each planet (shadbala)SunMercuryMarsJupiterSaturnMoonVenusStrongestminimum it needsshort of its minimumSupport points in each sign (ashtakavarga)28Ari37Tau31Gem30Can20Leo22Vir31Lib23Sco31Sag26Cap33Aqu25Pis

How the shadbala API works

  1. 1Each planet gets a strength score, added up from six traditional sources.
  2. 2Each planet needs a different minimum. A bar that passes its line means the planet is strong enough to deliver.
  3. 3The API returns every score and its parts, the ranking, and the support points for each of the 12 signs.
POST /v1/shadbala200 OK
{
  "shadbala": {
    "ranked": [
      "Sun",
      "Mercury",
      "Mars",
      "Jupiter",
      "Saturn",
      "Moon",
      "Venus"
    ],
    "unit": "virupas",
    "grahas": {
      "Sun": {
        "total_virupas": 551.38,
        "ratio": 1.41,
        "strong": true
      }
    }
  }
}
Planet strength in John Doe's chart: the planets ranked strongest first, and the Sun's score against the classical minimum (a ratio of 1 or more counts as strong). Real output for John Doe, born Aug 15, 1990, 10:30 AM, New York.

Call the shadbala API from your code

Send the details as JSON with your API key in the Authorization header. Copy the code, set ASTROLOGY_API_KEY to your key, and run it.

POST /v1/shadbala

# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/shadbala" \
  -H "Authorization: Bearer $ASTROLOGY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'
Response (lists shortened)200 OK
{
  "shadbala": {
    "grahas": {
      "Sun": {
        "sthana": {
          "uchcha": 23.74,
          "saptavargaja": 142.5,
          "ojhayugma": 0,
          "kendradi": 30,
          "drekkana": 0,
          "saptavargaja_detail": {
            "D1": "great_friend",
            "D2": "mulatrikona",
            "D3": "neutral",
            "D7": "great_friend",
            "D9": "neutral",
            "D12": "friend",
            "D30": "great_friend"
          }
        },
        "kala": {
          "nathonnatha": 47.49,
          "paksha": 38.6,
          "tribhaga": 0,
          "kalanga": 0,
          "ayana": 95.86,
          "yuddha": 0,
          "tribhaga_lord": "Mercury",
          "kalanga_detail": {
            "varsha": {
              "lord": "Moon",
              "virupas": 0
            },
            "masa": {
              "lord": "Mercury",
              "virupas": 0
            },
            "vara": {
              "lord": "Mercury",
              "virupas": 0
            },
            "hora": {
              "lord": "Mars",
              "virupas": 0
            }
          }
        },
        "totals": {
          "sthana": 196.24,
          "dig": 47.79,
          "kala": 181.94,
          "cheshta": 95.86,
          "naisargika": 60,
          "drik": -30.45
        },
        "total_virupas": 551.38,
        "rupas": 9.19,
        "required_rupas": 6.5,
        "ratio": 1.41,
        "strong": true,
        "rank": 1
      },
      "Moon": {
        "sthana": {
          "uchcha": 52.81,
          "saptavargaja": 116.25,
          "ojhayugma": 15,
          "kendradi": 15,
          "drekkana": 15,
          "saptavargaja_detail": {
            "D1": "mulatrikona",
            "D2": "great_friend",
            "D3": "enemy",
            "D7": "friend",
            "D9": "great_friend",
            "D12": "enemy",
            "D30": "enemy"
          }
        },
        "kala": {
          "nathonnatha": 12.51,
          "paksha": 42.8,
          "tribhaga": 0,
          "kalanga": 15,
          "ayana": 0.67,
          "yuddha": 0,
          "tribhaga_lord": "Mercury",
          "kalanga_detail": {
            "varsha": {
              "lord": "Moon",
              "virupas": 15
            },
            "masa": {
              "lord": "Mercury",
              "virupas": 0
            },
            "vara": {
              "lord": "Mercury",
              "virupas": 0
            },
            "hora": {
              "lord": "Mars",
              "virupas": 0
            }
          }
        },
        "totals": {
          "sthana": 214.06,
          "dig": 9.19,
          "kala": 70.98,
          "cheshta": 21.4,
          "naisargika": 51.43,
          "drik": 14.67
        },
        "total_virupas": 381.74,
        "rupas": 6.36,
        "required_rupas": 6,
        "ratio": 1.06,
        "strong": true,
        "rank": 6
      },
      "Venus": {
        "sthana": {
          "uchcha": 26.22,
          "saptavargaja": 120,
          "ojhayugma": 30,
          "kendradi": 30,
          "drekkana": 0,
          "saptavargaja_detail": {
            "D1": "neutral",
            "D2": "neutral",
            "D3": "neutral",
            "D7": "neutral",
            "D9": "great_friend",
            "D12": "mulatrikona",
            "D30": "great_friend"
          }
        },
        "kala": {
          "nathonnatha": 47.49,
          "paksha": 21.4,
          "tribhaga": 0,
          "kalanga": 0,
          "ayana": 55.21,
          "yuddha": 0,
          "tribhaga_lord": "Mercury",
          "kalanga_detail": {
            "varsha": {
              "lord": "Moon",
              "virupas": 0
            },
            "masa": {
              "lord": "Mercury",
              "virupas": 0
            },
            "vara": {
              "lord": "Mercury",
              "virupas": 0
            },
            "hora": {
              "lord": "Mars",
              "virupas": 0
            }
          }
        },
        "totals": {
          "sthana": 206.22,
          "dig": 5.39,
          "kala": 124.09,
          "cheshta": 10.46,
          "naisargika": 42.86,
          "drik": -22.92
        },
        "cheshta_detail": {
          "seeghrochcha": 77.66,
          "mean_longitude": 119.74,
          "true_longitude": 98.33,
          "kendra": 31.38
        },
        "total_virupas": 366.11,
        "rupas": 6.1,
        "required_rupas": 5.5,
        "ratio": 1.11,
        "strong": true,
        "rank": 7
      },
      "Jupiter": {
        "sthana": {
          "uchcha": 59.77,
          "saptavargaja": 93.75,
          "ojhayugma": 15,
          "kendradi": 30,
          "drekkana": 15,
          "saptavargaja_detail": {
            "D1": "great_friend",
            "D2": "great_friend",
            "D3": "great_friend",
            "D7": "enemy",
            "D9": "neutral",
            "D12": "neutral",
            "D30": "neutral"
          }
        },
        "kala": {
          "nathonnatha": 47.49,
          "paksha": 21.4,
          "tribhaga": 60,
          "kalanga": 0,
          "ayana": 55.94,
          "yuddha": 0,
          "tribhaga_lord": "Mercury",
          "kalanga_detail": {
            "varsha": {
              "lord": "Moon",
              "virupas": 0
            },
            "masa": {
              "lord": "Mercury",
              "virupas": 0
            },
            "vara": {
              "lord": "Mercury",
              "virupas": 0
            },
            "hora": {
              "lord": "Mars",
              "virupas": 0
            }
          }
        },
        "totals": {
          "sthana": 213.52,
          "dig": 35.25,
          "kala": 184.82,
          "cheshta": 8.89,
          "naisargika": 34.29,
          "drik": -21.94
        },
        "cheshta_detail": {
          "seeghrochcha": 119.74,
          "mean_longitude": 90.43,
          "true_longitude": 95.69,
          "kendra": 26.68
        },
        "total_virupas": 454.84,
        "rupas": 7.58,
        "required_rupas": 6.5,
        "ratio": 1.17,
        "strong": true,
        "rank": 4
      },
      "Mercury": {
        "sthana": {
          "uchcha": 53.58,
          "saptavargaja": 93.75,
          "ojhayugma": 15,
          "kendradi": 15,
          "drekkana": 0,
          "saptavargaja_detail": {
            "D1": "great_friend",
            "D2": "neutral",
            "D3": "enemy",
            "D7": "enemy",
            "D9": "enemy",
            "D12": "own",
            "D30": "great_friend"
          }
        },
        "kala": {
          "nathonnatha": 60,
          "paksha": 21.4,
          "tribhaga": 60,
          "kalanga": 75,
          "ayana": 35.33,
          "yuddha": 0,
          "tribhaga_lord": "Mercury",
          "kalanga_detail": {
            "varsha": {
              "lord": "Moon",
              "virupas": 0
            },
            "masa": {
              "lord": "Mercury",
              "virupas": 30
            },
            "vara": {
              "lord": "Mercury",
              "virupas": 45
            },
            "hora": {
              "lord": "Mars",
              "virupas": 0
            }
          }
        },
        "totals": {
          "sthana": 177.33,
          "dig": 51.94,
          "kala": 251.73,
          "cheshta": 40.71,
          "naisargika": 25.71,
          "drik": -14.44
        },
        "cheshta_detail": {
          "seeghrochcha": 254.86,
          "mean_longitude": 119.74,
          "true_longitude": 145.75,
          "kendra": 122.12
        },
        "total_virupas": 532.98,
        "rupas": 8.88,
        "required_rupas": 7,
        "ratio": 1.27,
        "strong": true,
        "rank": 2
      },
      "Mars": {
        "sthana": {
          "uchcha": 30.1,
          "saptavargaja": 150,
          "ojhayugma": 30,
          "kendradi": 30,
          "drekkana": 0,
          "saptavargaja_detail": {
            "D1": "own",
            "D2": "great_friend",
            "D3": "great_friend",
            "D7": "friend",
            "D9": "great_friend",
            "D12": "great_friend",
            "D30": "friend"
          }
        },
        "kala": {
          "nathonnatha": 12.51,
          "paksha": 38.6,
          "tribhaga": 0,
          "kalanga": 60,
          "ayana": 53.19,
          "yuddha": 0,
          "tribhaga_lord": "Mercury",
          "kalanga_detail": {
            "varsha": {
              "lord": "Moon",
              "virupas": 0
            },
            "masa": {
              "lord": "Mercury",
              "virupas": 0
            },
            "vara": {
              "lord": "Mercury",
              "virupas": 0
            },
            "hora": {
              "lord": "Mars",
              "virupas": 60
            }
          }
        },
        "totals": {
          "sthana": 240.1,
          "dig": 41.85,
          "kala": 164.3,
          "cheshta": 39.52,
          "naisargika": 17.14,
          "drik": 23.35
        },
        "cheshta_detail": {
          "seeghrochcha": 119.74,
          "mean_longitude": 334.64,
          "true_longitude": 27.71,
          "kendra": 118.56
        },
        "total_virupas": 526.26,
        "rupas": 8.77,
        "required_rupas": 5,
        "ratio": 1.75,
        "strong": true,
        "rank": 3
      },
      "Saturn": {
        "sthana": {
          "uchcha": 37.96,
          "saptavargaja": 31.88,
          "ojhayugma": 15,
          "kendradi": 60,
          "drekkana": 0,
          "saptavargaja_detail": {
            "D1": "enemy",
            "D2": "great_enemy",
            "D3": "great_enemy",
            "D7": "neutral",
            "D9": "great_enemy",
            "D12": "neutral",
            "D30": "neutral"
          }
        },
        "kala": {
          "nathonnatha": 12.51,
          "paksha": 38.6,
          "tribhaga": 0,
          "kalanga": 0,
          "ayana": 58.11,
          "yuddha": 0,
          "tribhaga_lord": "Mercury",
          "kalanga_detail": {
            "varsha": {
              "lord": "Moon",
              "virupas": 0
            },
            "masa": {
              "lord": "Mercury",
              "virupas": 0
            },
            "vara": {
              "lord": "Mercury",
              "virupas": 0
            },
            "hora": {
              "lord": "Mars",
              "virupas": 0
            }
          }
        },
        "totals": {
          "sthana": 144.83,
          "dig": 32.06,
          "kala": 109.22,
          "cheshta": 48.7,
          "naisargika": 8.57,
          "drik": 59.78
        },
        "cheshta_detail": {
          "seeghrochcha": 119.74,
          "mean_longitude": 265.54,
          "true_longitude": 266.13,
          "kendra": 146.09
        },
        "total_virupas": 403.17,
        "rupas": 6.72,
        "required_rupas": 5,
        "ratio": 1.34,
        "strong": true,
        "rank": 5
      }
    },
    "ranked": [
      "Sun",
      "Mercury",
      "Mars"
    ],
    "unit": "virupas",
    "virupas_per_rupa": 60,
    "not_computed": [],
    "note": "Ratio is rupas over the classical requirement; at or above 1.0 the graha is strong enough to deliver what its placement promises. The six totals are reported separately because a graha strong on positional grounds and weak on temporal ones…"
  },
  "bhava_bala": {
    "houses": {
      "1": {
        "lord": "Mercury",
        "bhavadhipati": 532.98,
        "bhava_digbala": 60,
        "sign_kind": "nara",
        "total_virupas": 592.98,
        "rupas": 9.88,
        "rank": 1
      },
      "2": {
        "lord": "Venus",
        "bhavadhipati": 366.11,
        "bhava_digbala": 50,
        "sign_kind": "nara",
        "total_virupas": 416.11,
        "rupas": 6.94,
        "rank": 9
      },
      "3": {
        "lord": "Mars",
        "bhavadhipati": 526.26,
        "bhava_digbala": 20,
        "sign_kind": "keeta",
        "total_virupas": 546.26,
        "rupas": 9.1,
        "rank": 5
      },
      "4": {
        "lord": "Jupiter",
        "bhavadhipati": 454.84,
        "bhava_digbala": 0,
        "sign_kind": "chatushpada",
        "total_virupas": 454.84,
        "rupas": 7.58,
        "rank": 7
      },
      "5": {
        "lord": "Saturn",
        "bhavadhipati": 403.17,
        "bhava_digbala": 50,
        "sign_kind": "jalachara",
        "total_virupas": 453.17,
        "rupas": 7.55,
        "rank": 8
      },
      "6": {
        "lord": "Saturn",
        "bhavadhipati": 403.17,
        "bhava_digbala": 10,
        "sign_kind": "nara",
        "total_virupas": 413.17,
        "rupas": 6.89,
        "rank": 11
      },
      "7": {
        "lord": "Jupiter",
        "bhavadhipati": 454.84,
        "bhava_digbala": 30,
        "sign_kind": "jalachara",
        "total_virupas": 484.84,
        "rupas": 8.08,
        "rank": 6
      },
      "8": {
        "lord": "Mars",
        "bhavadhipati": 526.26,
        "bhava_digbala": 40,
        "sign_kind": "chatushpada",
        "total_virupas": 566.26,
        "rupas": 9.44,
        "rank": 3
      },
      "9": {
        "lord": "Venus",
        "bhavadhipati": 366.11,
        "bhava_digbala": 50,
        "sign_kind": "chatushpada",
        "total_virupas": 416.11,
        "rupas": 6.94,
        "rank": 10
      },
      "10": {
        "lord": "Mercury",
        "bhavadhipati": 532.98,
        "bhava_digbala": 30,
        "sign_kind": "nara",
        "total_virupas": 562.98,
        "rupas": 9.38,
        "rank": 4
      },
      "11": {
        "lord": "Moon",
        "bhavadhipati": 381.74,
        "bhava_digbala": 20,
        "sign_kind": "keeta",
        "total_virupas": 401.74,
        "rupas": 6.7,
        "rank": 12
      },
      "12": {
        "lord": "Sun",
        "bhavadhipati": 551.38,
        "bhava_digbala": 40,
        "sign_kind": "chatushpada",
        "total_virupas": 591.38,
        "rupas": 9.86,
        "rank": 2
      }
    },
    "ranked": [
      1,
      12,
      8
    ],
    "unit": "virupas",
    "not_computed": [
      {
        "component": "bhava_drishti",
        "reason": "aspects on a house are not added: sources disagree on the arithmetic and no published figure could be reproduced, so no value is invented for it"
      }
    ],
    "note": "A house is largely as strong as its lord, which is why bhavadhipati bala dominates the total. Bhava digbala reads the kind of sign on the house midpoint (equal houses). Occupancy is not counted separately -- an occupying graha already…"
  },
  "reckoned_at": {
    "is_day": true,
    "hora_lord": "Mars",
    "hora_rule": "sixty_minutes_from_sunrise",
    "weekday_lord": "Mercury",
    "vedic_weekday_index": 3,
    "part_fraction": 0.3166,
    "solar_noon_fraction": 0.5418
  },
  "meta": {
    "ayanamsa": "lahiri",
    "ayanamsa_value": 23.7260727,
    "julian_day": 2448119.10483,
    "ephemeris": "JPL DE440s",
    "node": "true",
    "timezone": {
      "source": "zone",
      "offset_hours": -4,
      "zone": "America/New_York",
      "abbreviation": "EDT",
      "dst": true,
      "dst_hours": 1,
      "ambiguous_resolved_by_fold": null,
      "note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
    }
  }
}

What the shadbala and ashtakavarga API returns

  • Shadbala for the seven planets, in virupas, its unit of strength (60 virupas make one rupa). All six parts are listed separately: positional, directional, time-based, motional, natural and aspectual.
  • A ratio against the traditional minimum for each planet. At 1.0 or above, the planet meets that minimum and can give the results its placement shows.
  • The planets and the twelve houses ranked from strongest to weakest, with the strength of each house (bhava bala).
  • Ashtakavarga: one table of points (bindus) per planet, and their total for each sign (sarva ashtakavarga).
  • The two standard reductions, worked out and labelled but not applied, because the classical texts disagree on them.
  • Short readings that explain what the points mean.
  • Vimshopaka bala (POST /v1/strength/vimshopaka): each planet's score out of 20 across 6, 7, 10 and 16 divisional charts, with the working chart by chart.
  • Ishta and kashta phala: how much good and how much harm each planet can give, out of 60. Also the five-fold friendship table between the planets.
  • Planet states (POST /v1/avasthas): five classical sets, such as a planet's age (baladi) and its mood (deeptadi), each with a short reading.

Shadbala and ashtakavarga check themselves on every call. The natural strength of the seven planets always adds up to 240 virupas, and the planet tables always hold 337 points in total. Any part that cannot be worked out is named, never set to zero.

Shadbala API endpoints

What it uses from your plan

Each call to these endpoints uses 1 call from your monthly allowance. Failed requests are free.

See the plans

The rules behind the shadbala API

Shadbala adds strength from six sources, measured in virupas (SB-01). Directional strength is measured from the planet's exact degree (SB-03). Parts that cannot be worked out are named in the response (SB-06). A house is as strong as its ruler, plus a share for the kind of sign on it (SB-07). Ashtakavarga has eight contributors and seven tables (AV-01), and every chart holds exactly 337 points (AV-02). The two reductions are not applied, since the texts disagree (AV-04). The strength bands are this API's own, not the texts' (AV-05). Vimshopaka bala is scored out of 20 in four sets of charts (VB-01). Ishta and kashta use the classical formula, and the plain average some software prints comes back beside it (VB-05). A planet's age comes from its degree, counted backward in even signs (GA-01).

How we check the numbers

Every answer here starts from planet positions worked out from NASA JPL planet data (DE440). We test them against NASA JPL Horizons, NASA's planet position service. On 25,571 positions from 1850 to 2149, the Sun and planets agree within 0.001 arc seconds. The Moon agrees within 0.011. On 2,000 random birth charts, the rising sign agrees with Swiss Ephemeris within 0.004. An arc second is 1/3,600 of a degree. Our tests fail if a result drifts past these figures.

A practicing astrologer reviews the rules behind these answers. Each rule has an ID you can look up in the public rulebook.

See how we test accuracy

From the blog

Shadbala API questions

All questions
Why are my shadbala numbers different from other software?

Shadbala is where programs differ most. Here, directional strength is measured from each planet's exact degree, with equal-house reference points that match the whole-sign houses used everywhere else. Software that uses a quadrant house system, with the 10th house at the midheaven (the highest point of the sky), gives different values.

Read rule SB-03
What does the ratio field mean?

It is the planet's strength in rupas divided by the traditional minimum for that planet. At 1.0 or above, the planet meets that minimum and can give the results its placement shows. Below 1.0, the placement shows the same thing, but the results may come only in part.

What shadbala is
Are Rahu and Ketu included?

No. Shadbala covers the seven planets from the Sun to Saturn. In ashtakavarga, Rahu and Ketu have no table and give no points, while the ascendant gives points as the eighth contributor.

Are the ashtakavarga reductions applied?

No. The two standard reductions, trikona and ekadhipatya shodhana, are worked out and returned next to the raw points, each labelled. They are not applied because the classical texts disagree on whether to use them, in what order, and how to treat signs that hold planets.

Read rule AV-04
Is any part of shadbala left out?

Any part that cannot be worked out is named in not_computed with the reason, instead of being set to zero. The main one is yuddha bala (planetary war), which applies only when two planets are within one degree of each other.

Read rule SB-06
Do transits use the ashtakavarga points?

The transit forecasts show each transit's points beside its result, but the points never change it. The result comes from the classical table and vedha (one planet blocking another) only. That way you can show how strong a transit is without hiding the traditional answer.

Read rule AV-06

Astrology API

Call it with a free test key

Create an account and a test key, then call any endpoint on this page. Or try a request in the API reference first.

Your first answer

John Doe, New York

POST /v1/planets200 OK
  • RisingVirgoHast
  • SunCancerAshlesha
  • MoonTaurusMrigashira
  • MarsAriesKrittika

Real API output. A free test key gets the same answer.

  1. 01

    Test key: 1,000 test calls a month to build with

  2. 02

    Free plan: 2,000 live calls a month, no card needed

  3. 03

    Open rules: every rule is published, so you can check any answer