curl -X POST https://yogataraapi.prahlad.app/api/astro/strength/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keys":["harsha_bala"],"date_time":"2025-03-27T11:11:24.366Z","latitude":26.9124,"longitude":75.7873,"timezone":5.5,"asc_house":2}'Shadbala, "six strengths", is the classical way of putting a number on how much a planet can actually deliver. Six sources are scored separately — position, time, direction, motion, natural rank and aspects received — and added together. The total is expressed in virupas, sixty of which make one rupa; each planet has a threshold in rupas it is expected to clear, and the ratio of what it scored to what it needed is the usable answer. This endpoint exposes that total, every component and sub-component of it, and several related strength schemes. Start with `shad_bala`. It returns a nine-element array: the six component lists, then the totals in virupas, the same totals in rupas, and finally each planet's rupas divided by its requirement (Sun 5, Moon 6, Mars 5, Mercury 7, Jupiter 6.5, Venus 5.5, Saturn 5). A ratio above 1 means the planet met its requirement. Every seven-element list on this endpoint is in the order Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn; every twelve-element list is houses one to twelve. Send `date_time`, `latitude`, `longitude` and `timezone`. Note that the field is `timezone` here, not `timezone_as_float` as on most other endpoints. `asc_house` is required but is used only by the three house-classification keys, and `planet_index`, `include_houses` and `use_epoch_table` only by the keys that name them. Alongside Shadbala the endpoint carries the Tajaka five-fold and twelve-fold strengths, the Ishta Phala benefic score, the Rashmi ray measures and Harsha Bala. Bhava Bala, the strength of the houses rather than the planets, is present in the key list but its three components are unimplemented stubs returning zeros, so `bhava_bala` returns zeros too.
| Field | Type | Required | Notes |
|---|---|---|---|
| asc_house | integer | required | |
| date_time | string (date-time) | required | The moment to calculate for, ISO 8601. ALWAYS include an offset or a trailing Z - a value with no zone is read as Asia/Kolkata (UTC+05:30), not UTC, and can return the previous day's result with a 200. '2026-09-01T06:00:00Z' and '2026-09-01 06:00:00' are different instants and give different answers. |
| keys | array | required | Which calculations to return, as a list of names. See the key table for this endpoint; an unrecognised name rejects the whole request. One call costs one credit however many keys you ask for, so request everything you need at once rather than making several calls. |
| latitude | number (double) | required | Latitude of the place, in decimal degrees. Positive is north, negative is south. Example: 26.9124 for Jaipur, 40.7128 for New York. Minutes and seconds are not accepted - convert first. min -90 · max 90 |
| longitude | number (double) | required | Longitude of the place, in decimal degrees. Positive is east, negative is west. Example: 75.7873 for Jaipur, -74.0060 for New York. Note the sign: a missing minus puts New York in China. min -180 · max 180 |
| timezone | number (double) | required | UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30). Identical in meaning to timezone_as_float, which other endpoints call the same thing by a different name. min -12 · max 14 |
| include_houses | boolean | optional | |
| planet_index | integer | optional | |
| use_epoch_table | boolean | optional |
Ask for exactly the calculations you want by listing them in keys. An unknown key rejects the whole request, and you are charged 1 credit however many you ask for — so batch them.
| Key | Extra fields needed | Description | |
|---|---|---|---|
| abda_bala | — | Year-lord strength: the planet ruling the year receives 15 virupas and the rest zero. Returns seven values, Sun through Saturn, with exactly one entry of 15. Note that this implementation picks the lord from the weekday of `date_time`; `abdadhipathi` computes the year lord the classical way, from elapsed days, and is the one to prefer. | |
| abdadhipathi | — | The lord of the year, found the classical way from the ahargana — the count of days elapsed since a base epoch — rather than from the weekday. The ruling planet receives 15 virupas and the rest zero. Returns seven values, Sun through Saturn, with exactly one entry of 15. Prefer this to `abda_bala`. | |
| apoklimas | asc_house | The four cadent houses — the 3rd, 6th, 9th and 12th — counted from the ascendant house you pass as `asc_house`. Returns four integers, `(asc_house + n - 1) mod 12` for n of 3, 6, 9 and 12, zero-based like `panapharas`. Planets here are held to be weakest by house position, which is why Kendra Bala awards them the fewest points. | |
| ayana_bala | — | Declination strength, from each planet's distance north or south of the celestial equator: declination plus 24, multiplied by 1.25, with the Sun's result doubled. Returns seven numbers in virupas, Sun through Saturn. | |
| bhava_adhipathi_bala | — | The house-lord component of Bhava Bala: the contribution a house draws from the strength of its own lord. Returns twelve numbers, houses one to twelve. Currently an unimplemented placeholder returning zeros. | |
| bhava_bala | — | Bhava Bala, the strength of the houses rather than the planets, formed from Bhava Adhipathi, Bhava Dig and Bhava Drik Bala. Returns a three-element array — twelve values in virupas, the same in rupas, and each divided by the minimum of 5 rupas — houses one to twelve. Its three components are unimplemented placeholders in the current engine, so every figure here is presently zero. | |
| bhava_dig_bala | — | The directional component of Bhava Bala: the strength a house draws from the kind of matters it governs matching the direction it occupies. Returns twelve numbers, houses one to twelve. Currently an unimplemented placeholder returning zeros. | |
| bhava_drik_bala | — | The aspectual component of Bhava Bala: the net of benefic and malefic aspects falling on each house. Returns twelve numbers, houses one to twelve. Currently an unimplemented placeholder returning zeros. | |
| bhava_madhya | — | The twelve bhava madhyas, the midpoints of the houses, computed from Placidus cusps in sidereal longitude. Returns twelve numbers in degrees from 0 to 360, house one first. Used internally by Dig Bala, and useful on its own if you want house midpoints rather than cusps. | |
| cheshta_bala | — | Motional strength, the fourth of the six components: the difference between a planet's seeghrocha and the mean of its true and mean longitudes, divided by three — high when a planet is slow, stationary or retrograde and low when it races forward. Returns seven numbers in virupas; the Sun and Moon are always 0, since they never retrograde. | |
| cheshta_bala_new | use_epoch_table | A second implementation of motional strength that computes mean longitudes from the Ujjain 1900 epoch rather than from the ephemeris. Pass `use_epoch_table` true to read the classical mean-motion tables, false to use a linear rate from the same epoch. Returns seven numbers in virupas, Sun and Moon always 0. Use it to compare against `cheshta_bala`; the two do not agree exactly, by design. | |
| cheshta_rashmi | — | Cheshta Rashmi, the rays a planet casts by virtue of its motion, derived from Cheshta Bala and folded into a 0–180 range before being converted to rays. Returns seven numbers, Sun through Saturn. Marked experimental in the source and not intended to be relied on. | |
| dig_bala | — | Directional strength, the third of the six components: how far each planet stands from the house midpoint at which it is held to be powerless — the fourth for the Sun and Mars, the tenth for the Moon and Venus, the seventh for Mercury and Jupiter, the first for Saturn — with the separation divided by three. Returns seven numbers in virupas, Sun through Saturn, rounded to two decimals. | |
| drekkana_bala | — | Drekkana strength for the five-fold set: 10 virupas for a planet in its own sign in the D3 chart, 5 in a friend's and 2.5 in an enemy's. Returns seven numbers, Sun through Saturn. `drekkana_bala_simple` is the same rule with the D3 position derived directly from longitude. | |
| drekkana_bala_simple | — | Drekkana strength with the D3 position computed directly from longitude (longitude times three) rather than from a built D3 chart: 10 virupas in its own sign, 5 in a friend's, 2.5 in an enemy's. Returns seven numbers, Sun through Saturn. This is the variant `pancha_vargeeya_bala` uses. | |
| dreshkon_bala | — | Drekkana strength: 15 virupas to a masculine planet (Sun, Mars, Jupiter) in the first third of its sign, to Mercury or Saturn in the middle third, and to the Moon or Venus in the last third; 0 otherwise. Returns seven values of 0 or 15, Sun through Saturn. | |
| drik_bala | — | Aspectual strength: every planet's aspects on every other are scored by the angle between them, benefic aspects are added and malefic ones subtracted, and the net is divided by four. Returns seven numbers in virupas, Sun through Saturn, which may be negative — a planet heavily aspected by malefics loses strength here. | |
| dwadhasa_vargeeya_bala | — | The twelve-fold strength: each planet is placed in the twelve divisional charts D1 to D12 and scores one point for every chart in which it lands in a friendly or better sign. Returns an object keyed `"0"` to `"6"` for Sun through Saturn, each an integer from 0 to 12 — a straightforward count of how many divisions treat the planet kindly. | |
| get_planet_mean_longitude | planet_index | A planet's mean longitude at the given moment, computed from its mean position and daily rate at the Ujjain 1900 epoch plus a per-year correction. Pass `planet_index` as 0 to 6 for Sun through Saturn. Returns a single number of degrees from 0 to 360 — except for the Moon, index 1, which is not implemented and returns 0.0. Mean longitude is the ingredient Cheshta Bala needs; it is not the planet's true position. | |
| get_planet_mean_longitude_using_epoch_table | planet_index | The same mean longitude as `get_planet_mean_longitude`, but read from the classical Ujjain 1900 mean-motion tables digit by digit instead of from a linear rate. Pass `planet_index` as 0 to 6 for Sun through Saturn. Returns a single number of degrees from 0 to 360, again 0.0 for the Moon. Results differ slightly from the linear method; `cheshta_bala_new` lets you switch between the two. | |
| hadda_bala | — | Hadda strength, from the Egyptian terms: each sign is split into five unequal stretches with a planetary lord apiece, and a planet scores 15 virupas in its own hadda, 7.5 in a friend's and 3.75 in an enemy's. Returns seven numbers, Sun through Saturn. | |
| hadda_bala_simple | — | Hadda strength computed straight from each planet's longitude and the term tables — 15 virupas in its own hadda, 7.5 in a friend's, 3.75 in an enemy's. Returns seven numbers, Sun through Saturn. This is the variant `pancha_vargeeya_bala` actually uses; unlike `hadda_bala` it needs no chart passed in. | |
| harsha_bala | — | Harsha Bala, the "strength of joy" used in Tajaka work: a planet scores 5 points for each of four conditions — being in its house of joy, being in its own or a friendly sign, being in a sign matching its gender, and being in the half of the day matching its nature. Returns an object keyed `"0"` to `"6"` for Sun through Saturn, each an integer from 0 to 20 in steps of 5. | |
| hora_bala | — | Planetary hour strength: the planet ruling the hora in force at the given moment receives 60 virupas and every other planet zero. Returns seven values, Sun through Saturn, with exactly one non-zero entry. | |
| ishta_phala | — | Ishta Phala, the measure of the benefic result a planet is likely to deliver. This implementation scores it from dignity in the birth chart: 60 for exaltation, 45 for moolatrikona, 30 for own sign, then 22, 15, 8, 4 or 2 by the planet's relationship to the sign's lord. Returns seven integers, Sun through Saturn. Note that the classical definition derives Ishta Phala from Uccha and Cheshta Bala instead, so these figures will not match a text that follows that route. | |
| kaala_bala | — | Temporal strength, the sum of nine sub-components: Nathonnatha, Paksha, Tribhaga, Abda, Masa, Vaara, Hora, Ayana and Yuddha Bala. Returns seven numbers in virupas, Sun through Saturn, rounded to two decimals. Each sub-component is available as its own key. | |
| kendra_bala | — | Quadrant strength by house type: 60 virupas in an angle (1, 4, 7, 10), 30 in a succedent house (2, 5, 8, 11) and 15 in a cadent house (3, 6, 9, 12). Returns seven values of 60, 30 or 15, Sun through Saturn. The reference ascendant is derived internally from the Sun's position at sunrise, not from the `asc_house` you send. | |
| kendras | asc_house | The four angular houses counted from the ascendant you pass in `asc_house`: a flat list of four ZERO-based sign indices, houses 1, 4, 7 and 10. Note both differences from the `kendras` key on /api/astro/house_hora/, which returns twelve rows of ONE-based numbers and takes no argument. | |
| kshetra_bala | — | Field strength, the first component of the Tajaka five-fold set: 30 virupas for a planet in its own sign, 22.5 in a great friend's, 15 in a friend's, 7.5 in a neutral's and 3.75 in an enemy's, judged on the birth chart. Returns seven numbers, Sun through Saturn. | |
| masa_bala | — | Month-lord strength: the planet ruling the month receives 30 virupas and the rest zero. Returns seven values, Sun through Saturn, with exactly one entry of 30. As with `abda_bala`, this implementation picks the lord from the weekday of `date_time`, while `masadhipathi` derives it from elapsed days. | |
| masadhipathi | — | The lord of the month, found from the ahargana rather than from the weekday. The ruling planet receives 30 virupas and the rest zero. Returns seven values, Sun through Saturn, with exactly one entry of 30. Prefer this to `masa_bala`. | |
| naisargika_bala | — | Natural strength, a fixed ranking of the planets by brightness that never varies with the chart: 60.00, 51.43, 17.14, 25.71, 34.29, 42.86 and 8.57 virupas for Sun, Moon, Mars, Mercury, Jupiter, Venus and Saturn. Returns those seven constants. Included because Shadbala counts it as one of the six. | |
| nathonnath_bala | — | Day-night strength, the first part of Kaala Bala: strength measured from local midnight, awarded to the Sun, Jupiter and Venus as the day advances and to the Moon, Mars and Saturn as the night does, with Mercury given a flat 60 because it is strong at all hours. Returns seven numbers in virupas, Sun through Saturn. | |
| navamsa_bala | — | Navamsa strength for the five-fold set: 5 virupas for a planet in its own sign in the D9 chart, 2.5 in a friend's and 1.25 in an enemy's. Returns seven numbers, Sun through Saturn. `navamsa_bala_simple` is the same rule with the D9 position derived directly from longitude. | |
| navamsa_bala_simple | — | Navamsa strength with the D9 position computed directly from longitude (longitude times nine) rather than from a built D9 chart: 5 virupas in its own sign, 2.5 in a friend's, 1.25 in an enemy's. Returns seven numbers, Sun through Saturn. This is the variant `pancha_vargeeya_bala` uses. | |
| ojayugama_bala | — | Odd-even strength: 15 virupas for standing in an odd sign in the birth chart and 15 more for an odd sign in the navamsa, with the test inverted for the Moon and Venus, which want even signs. Returns seven integers of 0, 15 or 30, Sun through Saturn. | |
| paksha_bala | — | Lunar fortnight strength, from the Sun-Moon separation divided by three: benefics score that figure and malefics score 60 less it, so the waxing half favours benefics and the waning half malefics. The Moon's value is then doubled, which is why it can exceed 60. Returns seven numbers in virupas, Sun through Saturn. | |
| panapharas | asc_house | The four succedent houses — the 2nd, 5th, 8th and 11th — counted from the ascendant house you pass as `asc_house`. Returns four integers, `(asc_house + n - 1) mod 12` for n of 2, 5, 8 and 11, so the results are zero-based sign indices and follow whatever convention you used for `asc_house`. Planets here are held to give middling results, between the angles and the cadent houses. | |
| pancha_vargeeya_bala | — | The Tajaka five-fold strength, used for annual charts: the average of Kshetra, Uchcha, Hadda, Drekkana and Navamsa Bala. A planet in its own sign scores 30 for Kshetra, 22.5 in a great friend's, 15 in a friend's, 7.5 in a neutral's and 3.75 in an enemy's; Drekkana and Navamsa are scored out of 10 and 5 on the same principle, and Hadda out of 15 on the Egyptian term lords. Returns an object keyed `"0"` to `"6"` for Sun through Saturn, each a number to two decimals, typically between 5 and 20. | |
| planet_aspect_relationship_table | include_houses | The full aspect matrix underlying Drik Bala: for every ordered pair of planets, the strength of the aspect the second casts on the first, scored on the angular separation between them. Returns a nested array of numbers to two decimals, with one row per aspecting planet. Pass `include_houses` true to extend the columns with the twelve house cusps as aspected points as well as the planets. | |
| sapthavargaja_bala | — | Strength from the seven-fold divisional set: each planet is scored in D1, D2, D3, D7, D9, D12 and D30 according to whether it falls in its moolatrikona, its own sign, or a friendly, neutral or inimical sign, and the seven scores are added. Returns seven numbers in virupas, Sun through Saturn. | |
| shad_bala | — | The full six-fold strength calculation. Returns a nine-element array: the Sthana, Kaala, Dig, Cheshta, Naisargika and Drik components, each a list of seven numbers in virupas; then the totals in virupas; then the same totals in rupas (virupas divided by 60); then each planet's rupas divided by its classical requirement of 5, 6, 5, 7, 6.5, 5.5 and 5 for Sun through Saturn. That last list is the one to read — above 1 means the planet met its requirement. | |
| sthana_bala | — | Positional strength, the first of the six: the sum of Uchcha, Sapthavargaja, Ojayugama, Kendra and Dreshkona Bala. Returns seven numbers in virupas, Sun through Saturn, rounded to two decimals. Request the five components separately if you need to see where the total came from. | |
| subha_rashmi | — | Subha Rashmi, the count of "auspicious rays" a planet casts, computed here as a quarter of the sum of its Cheshta and Uccha Rashmi. Returns seven numbers, Sun through Saturn. Inherits the experimental status of `cheshta_rashmi`. | |
| tribhaga_bala | — | Third-of-day strength: the day and the night are each divided into three, and whichever planet governs the current third receives 60 virupas. Jupiter always receives 60 regardless. Returns seven values of 0 or 60, Sun through Saturn. | |
| uccha_rashmi | — | Uccha Rashmi, the rays a planet casts by virtue of its exaltation: the distance from its deep debilitation point, folded into a 0–180 range, plus 30, converted to rays by multiplying by 2 and dividing by 30. Returns seven numbers from about 2 to 14, Sun through Saturn, rounded to one decimal. | |
| uchcha_bala | — | Exaltation strength: how far each planet stands from its point of deep debilitation, scaled so that a planet exactly on its deep exaltation degree scores 20 and one on its deep debilitation degree scores 0. Returns seven numbers from 0 to 20 in virupas, Sun through Saturn. | |
| vaara_bala | — | Weekday-lord strength: the planet ruling the day of the week receives 45 virupas and the rest zero. Returns seven values, Sun through Saturn, with exactly one entry of 45. `vaaradhipathi` computes the same thing from an elapsed-day count and rolls the day over at sunrise rather than at midnight. | |
| vaaradhipathi | — | The lord of the weekday, found from the ahargana and rolled over at sunrise rather than at midnight, so a moment before sunrise still belongs to the previous day's lord. The ruling planet receives 45 virupas and the rest zero. Returns seven values, Sun through Saturn, with exactly one entry of 45. Prefer this to `vaara_bala`. | |
| yuddha_bala | — | Planetary war strength. Where two planets stand close together, the one with the greater accumulated strength is deemed the winner; the difference in their totals is divided by the difference in their apparent disc diameters, added to the winner and subtracted from the loser. Returns seven numbers, Sun through Saturn, mostly zero with a matched positive and negative pair where a war is found. Wars involving the Sun or Moon are skipped. |