Your app can say Jupiter is in Cancer. It cannot yet say how much that placement counts. Two classical systems answer that with numbers, and they score different things.

Ashtakavarga scores the signs. For each of the seven planets from the Sun to Saturn, every sign gets 0 to 8 points, called bindus. Add the seven tables and every chart holds exactly 337 points. That combined table is the sarvashtakavarga, and its average is 28.08 points per sign.

Shadbala scores the planets. It adds six kinds of strength, measured in virupas. 60 virupas make 1 rupa. Each planet has its own minimum, from 5 rupas for Mars and Saturn to 7 for Mercury.

John Doe was born on Aug 15, 1990, at 10:30 AM in New York. In his chart, Taurus scores 37 points, the highest of the 12 signs. His Mars totals 7.64 rupas against a minimum of 5, a ratio of 1.53.

So show a sign's points against 28, and a planet's ratio against 1. A table or a bar does both. Below are John's full numbers from our API, run on Oct 13, 2026, and the choices that make two calculators disagree.

What ashtakavarga counts

Ashtakavarga has eight contributors: the seven planets and the ascendant, the sign rising in the east at birth. Each contributor gives a point to certain signs, counted from where it sits. Classical tables fix which signs. Rule AV-01 in our rulebook sets this out.

The work is done once for each of the seven planets. Rahu and Ketu, the two points where the Moon's path crosses the Sun's, have no table. So the answer is seven tables of 12 signs, plus their sum. The rising sign's own table always holds 49 points, kept out of the sum (AV-07).

One fact makes ashtakavarga easy to check. The chart decides where the points land, never how many there are. Each planet's table always holds the same total. The seven tables always hold 337, as rule AV-02 states. Our API checks that total on every call. If a table had a typo, the total would be wrong, and the call would fail instead of returning bad points.

John Doe's ashtakavarga

Here is John's sarvashtakavarga, the points each sign collects from all seven tables:

Sign

Points

Against the 28.08 average

Aries

28

at average

Taurus

37

above

Gemini

31

above

Cancer

30

above

Leo

20

below

Virgo

22

below

Libra

31

above

Scorpio

23

below

Sagittarius

31

above

Capricorn

26

below

Aquarius

33

above

Pisces

25

below

Six signs sit above the average and six sit at or below it. His rising sign, Virgo, has 22. His Moon sign, Taurus, has 37.

The seven planet tables hold these totals: Sun 48, Moon 49, Mars 39, Mercury 54, Jupiter 56, Venus 52 and Saturn 39. Those totals were the same in all five charts we ran for this post. Only the spread across signs changed.

Each planet's own table also scores the sign it sits in. John's Moon has 7 of 8 points in Taurus. His Sun has 6 in Cancer. His Mars in Aries and his Saturn in Sagittarius have 3 each.

What shadbala adds up

Shadbala means "six-fold strength". Rule SB-01 names the six parts. The API returns each one on its own and also adds them up.

Part

Plain name

What it measures

sthana

Position

The planet's sign, how near it is to its best degree, and its place in 7 divisional charts, which cut each sign into smaller parts

dig

Direction

How close the planet is to its best direction in the chart

kala

Time

Day or night birth, the Moon's phase, the weekday, the planetary hour and more

cheshta

Motion

How the planet moves; retrograde, or moving backward as seen from Earth, scores highest

naisargika

Natural

A fixed value per planet, the same in every chart

drik

Aspects

Gains and losses from the other planets that look at it

The natural part is a built-in check. Across the seven planets it always adds up to 240 virupas. The API checks that on every call, just as it checks the 337 points.

The total is then divided by 60 to get rupas, and compared with the planet's minimum. The API returns that as ratio. At 1 or more, the planet meets its minimum, and strong is true.

John Doe's shadbala

All values are in virupas, except the last three columns.

Planet

Position

Direction

Time

Motion

Natural

Aspects

Total

Rupas

Minimum

Ratio

Sun

196.24

47.05

181.94

95.86

60

−122.88

458.21

7.64

6.5

1.17

Moon

214.06

8.45

55.98

21.40

51.43

11.94

363.27

6.05

6

1.01

Mars

240.10

42.59

134.30

30

17.14

−5.63

458.50

7.64

5

1.53

Mercury

177.33

51.94

221.73

30

25.71

−86.84

419.87

7.00

7

1.00

Jupiter

213.52

35.25

244.82

45

34.29

−120.78

452.11

7.54

6.5

1.16

Venus

206.22

6.13

124.10

30

42.86

−120.78

288.53

4.81

5.5

0.87

Saturn

144.83

32.06

124.22

60

8.57

28.42

398.11

6.64

5

1.33

Bar chart of John Doe's shadbala ratios against a line at 1: Mars 1.53, Saturn 1.33, Sun 1.17, Jupiter 1.16 and Moon 1.01 meet their minimum, while Mercury at 419.87 of 420 virupas and Venus at 0.87 fall just short

Five planets meet their minimum. Venus does not, at 0.87. Saturn was retrograde at John's birth, so its motion part is the full 60.

Look at Mercury. It shows 7.00 rupas and a ratio of 1.00, yet strong is false. The exact total is 419.87 virupas, and the minimum is 420. Mercury is 0.13 virupas short. The rounded numbers hide that, so always read the strong field rather than testing the rounded ratio.

The API also returns not_computed. For John it lists one item, yuddha, the planetary war between two planets within 1 degree of each other. Rule SB-06 says such a part is named, never set to zero and added in quietly.

How to show the scores in your app

Use a table for ashtakavarga. Give it 12 rows, one per sign, with the points and a mark for above or below 28. On a phone, a row of 12 short bars works too. Draw a thin line at 28 so the eye has a reference.

Use one bar per planet for shadbala. Scale each bar by the ratio, and draw a line at 1. A bar past the line meets the minimum. This reads at a glance, and it compares planets fairly, since each one is measured against its own minimum.

Keep the six parts in a details view. The aspect part can be below zero. John's Sun has −122.88 there. A stacked bar of the six parts cannot show that cleanly, so use a small table.

Pick one order and name it. The API's ranked list sorts planets by total virupas: Mars, Sun, Jupiter, Mercury, Saturn, Moon, Venus. Sorted by ratio, Saturn moves from 5th to 2nd. Both are correct, so label the one you show.

Choose calm words. Write "above its minimum" and "below its minimum", or "more points than average". A score below 1 means the planet has less strength to give its results in full. It does not mean harm. The strong and weak bands in the API's short readings are the API's own, not the texts', as rule AV-05 states. Say so if you show them.

The shadbala and ashtakavarga API page lists every table and field these numbers come from, including house strength for all 12 houses.

Banner reading "Every part of the score, in one call", linking to the shadbala and ashtakavarga API page

Where calculators differ

We changed one input at a time for John and compared the answers. Here is what moved.

The ayanamsa. Vedic charts use the sidereal zodiac, set against the fixed stars. The ayanamsa is the offset used to get there, and there is more than one. Our conventions guide explains the choice. Under KP instead of Lahiri, no planet changed sign. All 12 sign totals stayed the same, and no planet's strength moved by more than 0.04 virupas.

Raman was different. It moved John's Sun from Cancer 28.78° to Leo 0.22°. That changed 9 of the 12 sign totals, and Gemini went from 31 to 36. Leo is the Sun's own sign, so its position part rose from 196.24 to 323.26 virupas. Its ratio went from 1.17 to 1.54, and it became the strongest planet.

The birth time. Ashtakavarga points depend only on the sign each contributor sits in. At 9:30 AM, John's rising sign was still Virgo, and every sign total stayed the same. At 11:30 AM, Libra was rising, and 10 of the 12 totals changed. Virgo dropped from 22 to 18.

Shadbala moves with every minute. The daylight is split into 12 planetary hours, each ruled by a planet. The ruler of the birth hour gets 60 virupas. At 10:30 AM the hour was Jupiter's. At 9:30 AM it was Saturn's. Saturn's total rose to 467.35 virupas, and it went from 5th place to 1st.

The reductions. The texts describe two ways to reduce the raw points, called trikona and ekadhipatya. For John, the first leaves 88 of the 337 points, and both together leave 71. The texts disagree on whether to use them at all. So our API returns all three sets, labelled, and applies neither, as rule AV-04 explains. A calculator that applies them would show John 88 or 71 points, not 337.

The minimums. We read three guides that list the minimum for each planet. One gives the Sun 300 virupas, or 5 rupas. Another gives Mars 390, or 6.5 rupas. Our API uses 390 for the Sun and 300 for Mars. With the first guide's table, John's Sun ratio would be 1.53, not 1.17. With the second, his Mars ratio would be 1.18, not 1.53.

The direction part. Our API measures it from the planet's exact degree, with equal houses as reference points. The API reference notes that software using quadrant houses gives other values. We did not test any other product, so we give no numbers for that gap.

For each field in both answers, with its type, see the API reference.

Banner reading "See every field in the answer", linking to the API reference

Get the scores from the API

Send the same birth details to POST /v1/ashtakavarga and POST /v1/shadbala. Here is the request for John Doe, born Aug 15, 1990, at 10:30 AM in New York:

{
  "year": 1990,
  "month": 8,
  "day": 15,
  "hour": 10,
  "minute": 30,
  "latitude": 40.7128,
  "longitude": -74.006,
  "timezone": "America/New_York"
}

And here is part of the shadbala answer for John's Sun:

{
  "shadbala": {
    "ranked": ["Mars", "Sun", "Jupiter", "Mercury", "Saturn", "Moon", "Venus"],
    "unit": "virupas",
    "virupas_per_rupa": 60,
    "grahas": {
      "Sun": {
        "totals": {
          "sthana": 196.24,
          "dig": 47.05,
          "kala": 181.94,
          "cheshta": 95.86,
          "naisargika": 60,
          "drik": -122.88
        },
        "total_virupas": 458.21,
        "rupas": 7.64,
        "required_rupas": 6.5,
        "ratio": 1.17,
        "strong": true,
        "rank": 2
      }
    }
  }
}

The ashtakavarga answer returns bhinna, the seven planet tables, sarva, the sign totals, and sarva_total, which is always 337. It also returns lagna, the rising sign's table, and reductions, with applied set to false.

Both systems turn a chart into numbers your app can sort and draw. John's scores moved when the zodiac offset, the birth hour or the minimums changed. Show the numbers plainly, and tell users which ayanamsa and which minimums sit behind them.