New Numerology API
Docs menu
Download

Yoga, dosha and sade sati API reference

Updated

The yoga, dosha and sade sati endpoints of API for Astrology (apiforastrology.com) report what a birth chart holds. You get the yogas (planet combinations) a chart has and lacks. Manglik, kaal sarp and pitra dosha checks come too. Sade sati, Saturn's 7.5-year pass around the Moon sign, is listed for 100 years from birth. The group has 4 endpoints.

Send the birth details to POST /v1/dosha/{name} with manglik, kaalsarpa or pitra, or with all for the three together. Each dosha comes with a plain answer your app can show as it is. Its rule field names the test the API ran, and the rulebook explains each one. Why rule IDs matter shows how that helps your support team. An AI chatbot can quote the same fields, as the AI assistants guide explains. POST /v1/avasthas gives each planet's state, such as its age and mood. Always send hour and minute: they are optional, and they default to 0 (midnight).

Findings about a chart, such as yogas (planetary combinations), doshas (unfavorable placements) and sade sati (a long Saturn transit). Each finding states the rule it applied and the chart facts that met it, so you can check the reasoning.

4 endpoints. Paths are relative to https://apiforastrology.com/api/astrology. Send your API key in the Authorization: Bearer header (see authentication). No key yet? Get a key. To send test requests from the browser, open the interactive reference.

Overview: Yogas and doshas, Planetary strength.

Which yoga or dosha endpoint to call

What you needEndpointCost
The yogas a chart has, and the ones it does not havePOST /v1/yogas1 call
A manglik, kaal sarp or pitra dosha check, or all threePOST /v1/dosha/{name}1 call
Every sade sati in a life, and the phase running nowPOST /v1/sadesati1 call
Each planet's state, such as its age, mood and activityPOST /v1/avasthas1 call

Yogas: planetary combinations found and not found

POST /v1/yogas

Returns every yoga this API checks for, split into formed and not_formed. A yoga is a named combination of planet placements that classical texts link to a particular result. The not_formed list is often the more useful one. It tells you a yoga is absent from this chart, not just unchecked.

Each yoga states the rule it applied and the chart facts that met it. So any disagreement is about the rule, not the answer.

Two yogas can form by aspect as well as by placement. Dharma-Karmadhipati yoga forms when the rulers of the 9th and 10th houses aspect each other. Neecha Bhanga is the cancellation of a planet's weak, debilitated state. One of its routes is the debilitated planet being joined or aspected by the ruler of its sign. See rulebook AS-07 (the API's rule reference).

Every debilitated planet is listed in neecha_bhanga, cancelled or not. is_neecha_bhanga says whether the weakness is cancelled, and rules names the routes that did it (R1 to R5, rulebook YG-16). is_raja_yoga says whether it also becomes a Neecha Bhanga Raja yoga (YG-102). That needs the planet in house 1, 4, 5, 7, 9 or 10, and a lagna lord (ruler of the ascendant) that is neither debilitated nor combust. In house 6, 8 or 12 it is a cancellation only.

The response also names lagnesh, the ruler of the ascendant. It names yogakaraka too: a planet that rules both an angular house and a trine house for this ascendant, which makes it especially favorable.

Kartari (hemmed in). kartari.by_house gives each of the 12 houses, and kartari.by_graha each of the 9 planets, as papa (hard planets in the signs on both sides, no helpful one), shubha (the reverse) or none, with the planets on each side. Only planets sitting in those signs count, never aspects. A hemmed house carries reading, a short plain-words paragraph. House 1 matches Papa or Shubha Kartari in formed, and the Moon matches Papa or Shubha Kartari (Moon). See rulebook YG-98 to YG-101 and KT-01.

Several yogas carry extra conditions since the astrologer's ruling N-22 (2026-10-31), because the plain rule fired too often to be a finding (CON-01). Raja yoga now excludes a lord that also rules house 6, 8 or 12, and a combust or debilitated lord. Budhaditya is nullified within 3 degrees of exact conjunction (deep combustion, a stricter test than the orb /v1/shadbala uses), in house 6, 8 or 12, or aspected by Rahu, Ketu or Saturn. Gajakesari excludes a debilitated, combust or node-conjunct Jupiter, a Moon at amavasya, or either planet in house 6, 8 or 12. Parivartana (two planets in each other's signs) comes back as one of three yogas, named by the two houses exchanged: Maha Parivartana (both good houses), Khala Yoga (house 3) or Dainya Yoga (house 6, 8 or 12). Harsha, Sarala and Vimala (the vipareeta raja yogas) now also need the trik lord free of any touch from a benefic or a kendra/trikona lord, and the lagna lord stronger in shadbala; without a stronger lagna lord the yoga does not form, read here as a crisis the native does not rise from rather than a weaker version of the yoga. See rulebook YG for each rule.

Add ?lang=hi for Hindi, and ?detail=expanded for the longer readings.

Cost: Each successful request counts as 1 call toward your monthly calls.

Required inputs

NameInWhat it is
yearbodyYear of birth, from 1850 to 2149 (the range the planetary data covers).
monthbodyMonth of birth, from 1 (January) to 12 (December).
daybodyDay of the month, from 1 to 31.
latitudebodyLatitude of the birth place in degrees, negative for south. Text in a local number format, such as "40,7128", is also accepted.
longitudebodyLongitude of the birth place in degrees east of Greenwich, negative for west, so places in the Americas are negative. Text in a local number format is also accepted.
timezonebodyTime zone of the birth place. Either an IANA time zone name, such as America/New_York, America/Chicago or Europe/London. Or a fixed offset from UTC in hours, such as -5 or 5.5.
Optional inputs (8), with their defaults
NameInWhat it does
langqueryLanguage of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too.
detailqueryLength of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field.
hourbodyHour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0.
minutebodyMinute of birth, from 0 to 59. Default 0.
secondbodySecond of birth, from 0 to 59. Default 0.
timezone_foldbodyOnly needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force.
ayanamsabodyThe ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart.
nodebodyHow to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position.

Main response fields

  • formed (array of objects): each item holds name, category, rule, detail.
  • not_formed (array of objects): each item holds name, rule, reason.
  • neecha_bhanga (array)
  • meta (object): holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
  • lagnesh (string)
  • yogakaraka (null)
  • kartari (object): holds by_house, by_graha, rule.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/yogas" \
  -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"}'
Sample response
{
  "formed": [
    {
      "name": "Sarala",
      "category": "vipareeta raja",
      "rule": "lord of house 8 placed in a dusthana (6,8,12); free of conjunction or aspect from a natural benefic or a kendra/trikona lord (1,4,5,7,9,10), and the lagna lord stronger in shadbala",
      "detail": "Mars in house 8, unafflicted; lagna lord Mercury stronger in shadbala (532.98 vs 526.26 virupas)"
    },
    {
      "name": "Anapha",
      "category": "lunar",
      "rule": "a graha other than the Sun and the nodes in the 12th from the Moon",
      "detail": "Mars"
    },
    {
      "name": "Vesi",
      "category": "solar",
      "rule": "a graha other than the Moon and the nodes in the 2nd from the Sun",
      "detail": "Mercury"
    }
  ],
  "not_formed": [
    {
      "name": "Ruchaka",
      "rule": "Mars in its own or exaltation sign AND in a kendra (1,4,7,10)",
      "reason": "Mars is dignified but house 8 is not a kendra"
    },
    {
      "name": "Hamsa",
      "rule": "Jupiter in its own or exaltation sign AND in a kendra (1,4,7,10)",
      "reason": "Jupiter is dignified but house 11 is not a kendra"
    },
    {
      "name": "Harsha",
      "rule": "lord of house 6 placed in a dusthana (6,8,12); free of conjunction or aspect from a natural benefic or a kendra/trikona lord (1,4,5,7,9,10), and the lagna lord stronger in shadbala",
      "reason": "Saturn is in house 4"
    }
  ],
  "neecha_bhanga": [],
  "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"
    }
  },
  "lagnesh": "Mercury",
  "yogakaraka": null,
  "kartari": {
    "by_house": {
      "1": {
        "sign": "Virgo",
        "state": "none",
        "in_twelfth": [
          "Mercury"
        ],
        "in_second": []
      },
      "2": {
        "sign": "Libra",
        "state": "none",
        "in_twelfth": [],
        "in_second": []
      },
      "3": {
        "sign": "Scorpio",
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Saturn"
        ]
      },
      "4": {
        "sign": "Sagittarius",
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Rahu"
        ]
      },
      "5": {
        "sign": "Capricorn",
        "state": "none",
        "in_twelfth": [
          "Saturn"
        ],
        "in_second": []
      },
      "6": {
        "sign": "Aquarius",
        "state": "none",
        "in_twelfth": [
          "Rahu"
        ],
        "in_second": []
      },
      "7": {
        "sign": "Pisces",
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Mars"
        ]
      },
      "8": {
        "sign": "Aries",
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Moon"
        ]
      },
      "9": {
        "sign": "Taurus",
        "state": "none",
        "in_twelfth": [
          "Mars"
        ],
        "in_second": []
      },
      "10": {
        "sign": "Gemini",
        "state": "none",
        "in_twelfth": [
          "Moon"
        ],
        "in_second": [
          "Sun",
          "Jupiter",
          "Venus"
        ]
      },
      "11": {
        "sign": "Cancer",
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Mercury"
        ]
      },
      "12": {
        "sign": "Leo",
        "state": "none",
        "in_twelfth": [
          "Sun",
          "Jupiter",
          "Venus"
        ],
        "in_second": []
      }
    },
    "by_graha": {
      "Sun": {
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Mercury"
        ]
      },
      "Moon": {
        "state": "none",
        "in_twelfth": [
          "Mars"
        ],
        "in_second": []
      },
      "Mars": {
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Moon"
        ]
      },
      "Mercury": {
        "state": "none",
        "in_twelfth": [
          "Sun",
          "Jupiter",
          "Venus"
        ],
        "in_second": []
      },
      "Jupiter": {
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Mercury"
        ]
      },
      "Venus": {
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Mercury"
        ]
      },
      "Saturn": {
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Rahu"
        ]
      },
      "Rahu": {
        "state": "none",
        "in_twelfth": [
          "Saturn"
        ],
        "in_second": []
      },
      "Ketu": {
        "state": "none",
        "in_twelfth": [],
        "in_second": [
          "Mercury"
        ]
      }
    },
    "rule": "Hemmed by occupation only: grahas in both the 12th and the 2nd sign from the house or graha. papa = malefics on both sides and no benefic; shubha = the reverse; none otherwise. The Moon by paksha, Mercury by its company. Aspects never form…"
  }
}

Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.

Parameters, schemas and a test request in the interactive reference. Feature: Yogas and doshas.

Doshas: manglik, kaal sarpa, pitra, or the papa count

POST /v1/dosha/{name}

Checks the chart for one dosha, or for all three. A dosha is a placement that tradition treats as a problem, mostly in marriage matching. Each result says whether the dosha is present, the rule used, and the placements that decided it.

  • manglik: Mars in house 1, 2, 4, 7, 8 or 12, counted three ways: from the ascendant, from the Moon and from Venus. Known cancellations are listed in cancellations but not applied; weighing them is left to the astrologer.
  • kaalsarpa: all seven planets from the Sun to Saturn on one side of the Rahu-Ketu axis.
  • pitra: the Sun, Rahu or Ketu afflicting the 9th house or its ruler. It also counts when the 9th house ruler is placed in house 6, 8 or 12.
  • all: the three doshas above together.
  • papa: the papa samyam count. It asks the manglik question (the same six houses, counted the same three ways) of all five papa grahas, not Mars alone. The papa grahas are the malefic planets Sun, Mars, Saturn, Rahu and Ketu. It is a count, not a dosha, so all does not include it. Comparing two people's counts is part of /v1/matching. It is offered here because the count belongs to one chart.

Cost: Each successful request counts as 1 call toward your monthly calls.

Required inputs

NameInWhat it is
namepathWhich dosha: manglik, kaalsarpa or pitra; all for those three together; or papa for the papa samyam count.
yearbodyYear of birth, from 1850 to 2149 (the range the planetary data covers).
monthbodyMonth of birth, from 1 (January) to 12 (December).
daybodyDay of the month, from 1 to 31.
latitudebodyLatitude of the birth place in degrees, negative for south. Text in a local number format, such as "40,7128", is also accepted.
longitudebodyLongitude of the birth place in degrees east of Greenwich, negative for west, so places in the Americas are negative. Text in a local number format is also accepted.
timezonebodyTime zone of the birth place. Either an IANA time zone name, such as America/New_York, America/Chicago or Europe/London. Or a fixed offset from UTC in hours, such as -5 or 5.5.
Optional inputs (8), with their defaults
NameInWhat it does
langqueryLanguage of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too.
detailqueryLength of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field.
hourbodyHour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0.
minutebodyMinute of birth, from 0 to 59. Default 0.
secondbodySecond of birth, from 0 to 59. Default 0.
timezone_foldbodyOnly needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force.
ayanamsabodyThe ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart.
nodebodyHow to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position.

Main response fields

  • dosha (string)
  • rule (string)
  • present (boolean)
  • by_reference (object): holds natal, lunar, venus.
  • cancellations (array of strings)
  • cancellation_codes (array of strings)
  • note (string)
  • answer (object): holds status, headline, meaning, exception, next, note.
  • meta (object): holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/dosha/manglik" \
  -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"}'
Sample response
{
  "dosha": "manglik",
  "rule": "Mars occupying house 1, 2, 4, 7, 8 or 12, counted separately from the ascendant, from the Moon and from Venus",
  "present": true,
  "by_reference": {
    "natal": {
      "present": true,
      "mars_house_from_reference": 8,
      "reference": "natal"
    },
    "lunar": {
      "present": true,
      "mars_house_from_reference": 12,
      "reference": "lunar"
    },
    "venus": {
      "present": false,
      "mars_house_from_reference": 10,
      "reference": "venus"
    }
  },
  "cancellations": [
    "Mars is in its own sign"
  ],
  "cancellation_codes": [
    "own_sign"
  ],
  "note": "cancellations are reported, not applied -- weighing them is the astrologer's judgment",
  "answer": {
    "status": "present",
    "headline": "Manglik dosha is present, counted from your ascendant and your Moon. The main checks count from your ascendant (the sign rising at your birth) and from your Moon. It is common: about three in four charts have it from one of them.",
    "meaning": "Manglik is about Mars, the planet of energy and heat, sitting where it can bring clashes into married life. Astrologers read it mainly when matching two charts, where the tradition prefers both partners to have it or neither.",
    "exception": "Your chart also has a classical exception: Mars is in its own sign. Whether it cancels the dosha is for an astrologer to weigh.",
    "next": [
      "Don't worry about it on its own. It matters mostly when two charts are matched.",
      "In matching, a partner who is also Manglik balances it, which the tradition accepts.",
      "If it worries you, ask an astrologer about the exceptions in your chart and the usual remedies."
    ],
    "note": "A dosha is a tendency to keep in mind, not a fixed fate. The rest of your chart decides how much it shows."
  },
  "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"
    }
  }
}

Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.

Parameters, schemas and a test request in the interactive reference. Feature: Yogas and doshas. Free tool: Manglik dosha check.

Sade sati: Saturn's 7.5-year transit around the birth Moon

POST /v1/sadesati

Sade sati is the period of about seven and a half years when Saturn passes through three signs. They are the sign before the birth Moon's sign, the Moon's sign itself, and the sign after it. This endpoint returns every sade sati in the 100 years from birth. It also says which phase is running on as_of: rising (the sign before), peak (the Moon's sign) or setting (the sign after).

Saturn goes retrograde (appears to move backward), so it often crosses a sign boundary three times instead of once. The dates include every crossing. Saturn can step back out of the three signs for a while. This shows as a break inside one sade sati, not as two separate ones. During a break, present is false but current is still set: Saturn has left the three signs, but the sade sati has not finished.

The two dhaiya periods (Saturn spending about two and a half years in one sign) are reported separately. They are kantaka shani, Saturn in the 4th sign from the Moon, and ashtama shani, Saturn in the 8th. They are not sade sati.

Kantaka shani is Saturn in the 4th, 7th or 10th sign from the Moon (the key houses, or kendras). kantaka lists the 7th and 10th. The 4th is the dhaiya entry whose labels holds both dhaiya and kantaka, so no period is listed twice. dhaiya_present and kantaka_present say whether Saturn stands in one of those houses on as_of, and dhaiya_kantaka is that period (with present and in_break, read like sade sati's). See rulebook SS-05.

Cost: Each successful request counts as 1 call toward your monthly calls.

Required inputs

NameInWhat it is
yearbodyYear of birth, from 1850 to 2149 (the range the planetary data covers).
monthbodyMonth of birth, from 1 (January) to 12 (December).
daybodyDay of the month, from 1 to 31.
latitudebodyLatitude of the birth place in degrees, negative for south. Text in a local number format, such as "40,7128", is also accepted.
longitudebodyLongitude of the birth place in degrees east of Greenwich, negative for west, so places in the Americas are negative. Text in a local number format is also accepted.
timezonebodyTime zone of the birth place. Either an IANA time zone name, such as America/New_York, America/Chicago or Europe/London. Or a fixed offset from UTC in hours, such as -5 or 5.5.
Optional inputs (8), with their defaults
NameInWhat it does
as_ofqueryDate to check the current phase on, YYYY-MM-DD. Defaults to today; set it if you need the same response on every call.
langqueryLanguage for the names in the response, such as planets, signs, nakshatras (lunar mansions), tithis (lunar days), months and festivals. The default is en (English); GET /v1/meta lists the others. Each translated value comes with its English original in a matching <field>_en field; use the English value as a key in your code. Codes (such as result or kaal) and object keys always stay in English. Any name not yet translated stays in English and is listed in localization.untranslated.
hourbodyHour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0.
minutebodyMinute of birth, from 0 to 59. Default 0.
secondbodySecond of birth, from 0 to 59. Default 0.
timezone_foldbodyOnly needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force.
ayanamsabodyThe ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart.
nodebodyHow to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position.

Main response fields

  • moon_sign (number)
  • present (boolean)
  • phase (null)
  • phase_detail (null)
  • in_break (boolean)
  • current (null)
  • next (object): holds starts, ends, complete, phases, breaks.
  • periods (array of objects): each item holds starts, ends, complete, phases, breaks.
  • dhaiya (array of objects): each item holds kind, name, house_from_moon, labels, starts, ends, spans, breaks.
  • kantaka (array of objects): each item holds kind, name, house_from_moon, labels, starts, ends, spans, breaks.
  • dhaiya_present (boolean)
  • kantaka_present (boolean)
  • dhaiya_kantaka (null)
  • as_of (string)
  • rule (string)
  • kantaka_rule (string)
  • window (object): holds from, to.
  • meta (object): holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/sadesati?as_of=2026-10-01" \
  -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"}'
Sample response
{
  "moon_sign": 2,
  "present": false,
  "phase": null,
  "phase_detail": null,
  "in_break": false,
  "current": null,
  "next": {
    "starts": "2027-06-02T19:58:14",
    "ends": "2034-07-12T18:52:55",
    "complete": true,
    "phases": [
      {
        "phase": "rising",
        "sanskrit": "arohini",
        "house_from_moon": 12,
        "starts": "2027-06-02T19:58:14",
        "ends": "2027-10-19T21:42:17"
      },
      {
        "phase": "rising",
        "sanskrit": "arohini",
        "house_from_moon": 12,
        "starts": "2028-02-23T08:54:04",
        "ends": "2029-08-08T03:02:02"
      },
      {
        "phase": "peak",
        "sanskrit": "madhya",
        "house_from_moon": 1,
        "starts": "2029-08-08T03:02:02",
        "ends": "2029-10-05T07:22:54"
      }
    ],
    "breaks": [
      {
        "starts": "2027-10-19T21:42:17",
        "ends": "2028-02-23T08:54:04",
        "reason": "Saturn retrograde back out of the band"
      }
    ]
  },
  "periods": [
    {
      "starts": "1998-04-17T03:36:19",
      "ends": "2005-05-25T21:53:10",
      "complete": true,
      "phases": [
        {
          "phase": "rising",
          "sanskrit": "arohini",
          "house_from_moon": 12,
          "starts": "1998-04-17T03:36:19",
          "ends": "2000-06-06T15:28:19"
        },
        {
          "phase": "peak",
          "sanskrit": "madhya",
          "house_from_moon": 1,
          "starts": "2000-06-06T15:28:19",
          "ends": "2002-07-22T22:39:56"
        },
        {
          "phase": "setting",
          "sanskrit": "avarohini",
          "house_from_moon": 2,
          "starts": "2002-07-22T22:39:56",
          "ends": "2003-01-08T03:22:37"
        }
      ],
      "breaks": [
        {
          "starts": "2004-09-05T19:04:15",
          "ends": "2005-01-13T04:34:20",
          "reason": "Saturn retrograde back out of the band"
        }
      ]
    },
    {
      "starts": "2027-06-02T19:58:14",
      "ends": "2034-07-12T18:52:55",
      "complete": true,
      "phases": [
        {
          "phase": "rising",
          "sanskrit": "arohini",
          "house_from_moon": 12,
          "starts": "2027-06-02T19:58:14",
          "ends": "2027-10-19T21:42:17"
        },
        {
          "phase": "rising",
          "sanskrit": "arohini",
          "house_from_moon": 12,
          "starts": "2028-02-23T08:54:04",
          "ends": "2029-08-08T03:02:02"
        },
        {
          "phase": "peak",
          "sanskrit": "madhya",
          "house_from_moon": 1,
          "starts": "2029-08-08T03:02:02",
          "ends": "2029-10-05T07:22:54"
        }
      ],
      "breaks": [
        {
          "starts": "2027-10-19T21:42:17",
          "ends": "2028-02-23T08:54:04",
          "reason": "Saturn retrograde back out of the band"
        }
      ]
    },
    {
      "starts": "2057-04-06T22:26:47",
      "ends": "2064-05-09T04:48:32",
      "complete": true,
      "phases": [
        {
          "phase": "rising",
          "sanskrit": "arohini",
          "house_from_moon": 12,
          "starts": "2057-04-06T22:26:47",
          "ends": "2059-05-27T14:19:04"
        },
        {
          "phase": "peak",
          "sanskrit": "madhya",
          "house_from_moon": 1,
          "starts": "2059-05-27T14:19:04",
          "ends": "2061-07-10T19:16:07"
        },
        {
          "phase": "setting",
          "sanskrit": "avarohini",
          "house_from_moon": 2,
          "starts": "2061-07-10T19:16:07",
          "ends": "2062-02-13T02:01:40"
        }
      ],
      "breaks": [
        {
          "starts": "2063-08-24T02:27:34",
          "ends": "2064-02-05T16:46:01",
          "reason": "Saturn retrograde back out of the band"
        }
      ]
    }
  ],
  "dhaiya": [
    {
      "kind": "ashtama",
      "name": "ashtama shani",
      "house_from_moon": 8,
      "labels": [
        "dhaiya"
      ],
      "starts": "1990-08-15T10:29:59",
      "ends": "1990-12-14T14:37:55",
      "spans": [
        {
          "starts": "1990-08-15T10:29:59",
          "ends": "1990-12-14T14:37:55"
        }
      ],
      "breaks": []
    },
    {
      "kind": "kantaka",
      "name": "kantaka shani (also ardha shani)",
      "house_from_moon": 4,
      "labels": [
        "dhaiya",
        "kantaka"
      ],
      "starts": "2006-10-31T20:43:25",
      "ends": "2009-09-09T14:30:53",
      "spans": [
        {
          "starts": "2006-10-31T20:43:25",
          "ends": "2007-01-10T07:32:29"
        },
        {
          "starts": "2007-07-15T19:15:56",
          "ends": "2009-09-09T14:30:53"
        }
      ],
      "breaks": [
        {
          "starts": "2007-01-10T07:32:29",
          "ends": "2007-07-15T19:15:56",
          "reason": "Saturn retrograde back out of the house"
        }
      ]
    },
    {
      "kind": "ashtama",
      "name": "ashtama shani",
      "house_from_moon": 8,
      "labels": [
        "dhaiya"
      ],
      "starts": "2017-01-26T09:01:06",
      "ends": "2020-01-23T23:26:33",
      "spans": [
        {
          "starts": "2017-01-26T09:01:06",
          "ends": "2017-06-20T19:08:13"
        },
        {
          "starts": "2017-10-26T05:57:55",
          "ends": "2020-01-23T23:26:33"
        }
      ],
      "breaks": [
        {
          "starts": "2017-06-20T19:08:13",
          "ends": "2017-10-26T05:57:55",
          "reason": "Saturn retrograde back out of the house"
        }
      ]
    }
  ],
  "kantaka": [
    {
      "kind": "kantaka",
      "name": "kantaka shani (10th from the Moon)",
      "house_from_moon": 10,
      "labels": [
        "kantaka"
      ],
      "starts": "1993-03-05T08:01:40",
      "ends": "1996-02-16T07:50:02",
      "spans": [
        {
          "starts": "1993-03-05T08:01:40",
          "ends": "1993-10-15T02:34:51"
        },
        {
          "starts": "1993-11-09T18:37:01",
          "ends": "1995-06-02T01:00:21"
        },
        {
          "starts": "1995-08-09T16:32:15",
          "ends": "1996-02-16T07:50:02"
        }
      ],
      "breaks": [
        {
          "starts": "1993-10-15T02:34:51",
          "ends": "1993-11-09T18:37:01",
          "reason": "Saturn retrograde back out of the house"
        },
        {
          "starts": "1995-06-02T01:00:21",
          "ends": "1995-08-09T16:32:15",
          "reason": "Saturn retrograde back out of the house"
        }
      ]
    },
    {
      "kind": "kantaka",
      "name": "kantaka shani (7th from the Moon)",
      "house_from_moon": 7,
      "labels": [
        "kantaka"
      ],
      "starts": "2014-11-02T10:24:32",
      "ends": "2017-10-26T05:57:55",
      "spans": [
        {
          "starts": "2014-11-02T10:24:32",
          "ends": "2017-01-26T09:01:06"
        },
        {
          "starts": "2017-06-20T19:08:13",
          "ends": "2017-10-26T05:57:55"
        }
      ],
      "breaks": [
        {
          "starts": "2017-01-26T09:01:06",
          "ends": "2017-06-20T19:08:13",
          "reason": "Saturn retrograde back out of the house"
        }
      ]
    },
    {
      "kind": "kantaka",
      "name": "kantaka shani (10th from the Moon)",
      "house_from_moon": 10,
      "labels": [
        "kantaka"
      ],
      "starts": "2022-04-28T22:23:36",
      "ends": "2025-03-29T12:15:03",
      "spans": [
        {
          "starts": "2022-04-28T22:23:36",
          "ends": "2022-07-12T05:17:55"
        },
        {
          "starts": "2023-01-17T07:34:16",
          "ends": "2025-03-29T12:15:03"
        }
      ],
      "breaks": [
        {
          "starts": "2022-07-12T05:17:55",
          "ends": "2023-01-17T07:34:16",
          "reason": "Saturn retrograde back out of the house"
        }
      ]
    }
  ],
  "dhaiya_present": false,
  "kantaka_present": false,
  "dhaiya_kantaka": null,
  "as_of": "2026-10-01T00:00:00",
  "rule": "Saturn transiting the 12th, 1st or 2nd sign from the natal Moon. Dates resolve every crossing, so a retrograde re-entry appears as a break within one passage rather than as two.",
  "kantaka_rule": "Kantaka shani is Saturn transiting the 4th, 7th or 10th sign from the natal Moon. The 4th is also a dhaiya: it is listed once, under `dhaiya`, with both labels. `kantaka` lists the 7th and 10th.",
  "window": {
    "from": "1990-08-15T10:30:00",
    "to": "2090-08-15T10:30:00"
  },
  "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"
    }
  }
}

Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.

Parameters, schemas and a test request in the interactive reference. Feature: Yogas and doshas. Free tool: Sade sati check.

Planetary states (graha avasthas)

POST /v1/avasthas

Returns the five traditional sets of planetary states (avasthas) from Brihat Parashara Hora Shastra (BPHS), chapter 45, for every planet. Where a planet sits says what it promises. Its state says what condition it is in to deliver it.

  • Baladi (5 states, by age): bala, kumara, yuva, vriddha, mrita. They come from the degree in the sign, reversed in even signs. fraction is the share of results the text gives each age (a quarter, half, full, none). The text gives no number for vriddha, so none is invented.
  • Jagradadi (3, awake to asleep): from the planet's dignity, read by degree with natural friendship.
  • Deeptadi (9, mood): from the compound (natural plus temporary) relation to the sign lord. Vikala (with a malefic) and kopa (combust, too close to the Sun) are conditions. They are listed in additional_avasthas beside the sign state.
  • Lajjitadi (6, emotional condition): from sign, company and aspects. A planet can be in several or in none, and reasons lists every condition that fired.
  • Shayanadi (12, activity): from the BPHS formula. It uses the planet's nakshatra, its number (Sun 1 to Ketu 9) and its navamsa number. It also uses the birth nakshatra, the ghatis (24-minute units) since sunrise and the ascendant sign. The ghati is the one running at birth. Some software counts the finished ghatis instead, one fewer. That gives the state one step back, which is in other_reckoning. shayanadi_reckoning shows the inputs.

The nodes (Rahu and Ketu) get baladi and shayanadi only. The other three sets read how a planet relates to the lord of its sign. Rahu and Ketu own no sign and have no natural friendships. So those sets are listed in not_computed rather than shown as neutral.

The sets are reported side by side and are never combined into one score. Each state has a short reading in reading. See rulebook section GA (the API's rule reference).

Cost: Each successful request counts as 1 call toward your monthly calls.

Required inputs

NameInWhat it is
yearbodyYear of birth, from 1850 to 2149 (the range the planetary data covers).
monthbodyMonth of birth, from 1 (January) to 12 (December).
daybodyDay of the month, from 1 to 31.
latitudebodyLatitude of the birth place in degrees, negative for south. Text in a local number format, such as "40,7128", is also accepted.
longitudebodyLongitude of the birth place in degrees east of Greenwich, negative for west, so places in the Americas are negative. Text in a local number format is also accepted.
timezonebodyTime zone of the birth place. Either an IANA time zone name, such as America/New_York, America/Chicago or Europe/London. Or a fixed offset from UTC in hours, such as -5 or 5.5.
Optional inputs (8), with their defaults
NameInWhat it does
langqueryLanguage of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too.
detailqueryLength of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field.
hourbodyHour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0.
minutebodyMinute of birth, from 0 to 59. Default 0.
secondbodySecond of birth, from 0 to 59. Default 0.
timezone_foldbodyOnly needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force.
ayanamsabodyThe ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart.
nodebodyHow to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position.

Main response fields

  • grahas (array of objects): each item holds graha, baladi, jagradadi, deeptadi, lajjitadi, shayanadi.
  • shayanadi_reckoning (object): holds ghatis_elapsed, ghati, convention, other_reckoning, sources_agree, birth_nakshatra, lagna, note.
  • friendship (object): holds jagradadi, deeptadi, lajjitadi.
  • nodes (string)
  • not_scored (string)
  • not_computed (array of objects): each item holds what, why.
  • framing (object): holds text, language, detail.
  • gaps (array)
  • language (string)
  • detail (string)
  • meta (object): holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/avasthas" \
  -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"}'
Sample response
{
  "grahas": [
    {
      "graha": "Sun",
      "baladi": {
        "avastha": "Bala",
        "results": "quarter",
        "fraction": 0.25,
        "degree_in_sign": 28.7753,
        "sign_parity": "even",
        "reading": {
          "text": [
            "**Your Sun is in the bala (infant) state.** It sits in the young part of its sign. So by itself, it tends to give about a quarter of its results. What it promises grows as you put effort and time into it."
          ],
          "language": "en",
          "detail": "standard"
        }
      },
      "jagradadi": {
        "avastha": "Svapna",
        "results": "middling",
        "fraction": null,
        "dignity": "friend",
        "reading": {
          "text": [
            "**Your Sun is in svapna (the dreaming state).** It sits in a friendly or neutral sign, so it acts, but not with full attention. Its results tend to be moderate, and they grow when you give them focus."
          ],
          "language": "en",
          "detail": "standard"
        }
      },
      "deeptadi": {
        "avastha": "Mudita",
        "basis": "great_friend",
        "dignity": "friend",
        "sign_lord": "Moon",
        "additional_avasthas": [
          "Vikala"
        ],
        "malefics": [
          "Ketu"
        ],
        "combust": false,
        "reading": {
          "text": [
            "**Your Sun is mudita (glad).** It sits in the sign of a close friend, so it tends to act cheerfully and helpfully. Its matters often bring you pleasure."
          ],
          "language": "en",
          "detail": "standard"
        },
        "additional_readings": [
          {
            "text": [
              "**Your Sun is also vikala (unsettled),** because it shares its sign with a harsh planet. That company can scatter its energy, so its matters go better when you keep them simple and steady."
            ],
            "language": "en",
            "detail": "standard"
          }
        ]
      },
      "lajjitadi": {
        "avasthas": [
          "Kshudhita",
          "Trushita",
          "Mudita"
        ],
        "reasons": [
          {
            "avastha": "Kshudhita",
            "because": [
              "with Venus, a natural enemy"
            ]
          },
          {
            "avastha": "Trushita",
            "because": [
              "in a watery sign, aspected by Mars and by no benefic"
            ]
          },
          {
            "avastha": "Mudita",
            "because": [
              "in the sign of Moon, a natural friend",
              "with Jupiter, a natural friend",
              "aspected by Mars, a natural friend"
            ]
          }
        ],
        "readings": [
          {
            "text": [
              "**Your Sun is kshudhita (hungry).** An unfriendly sign, unfriendly planets beside it or looking at it, or Saturn beside it leave it wanting. So its matters can feel like they never quite satisfy. Setting clear, modest goals for them…"
            ],
            "language": "en",
            "detail": "standard"
          },
          {
            "text": [
              "**Your Sun is trushita (thirsty).** It sits in a water sign and is watched by harsh planets, with no gentle one to balance them. So its matters can bring emotional strain. Kindness and support from others help it a great deal."
            ],
            "language": "en",
            "detail": "standard"
          },
          {
            "text": [
              "**Your Sun is mudita (delighted).** A friendly sign, friendly planets beside it or looking at it, or Jupiter beside it lift it. So its matters tend to bring you happiness and good fortune."
            ],
            "language": "en",
            "detail": "standard"
          }
        ]
      },
      "shayanadi": {
        "avastha": "Sabha",
        "number": 7,
        "inputs": {
          "nakshatra": 9,
          "planet_number": 1,
          "navamsa_number": 9,
          "birth_nakshatra": 5,
          "ghati": 11,
          "lagna": 6,
          "total": 103
        },
        "convention": "running_ghati",
        "other_reckoning": {
          "avastha": "Agamana",
          "number": 6,
          "ghati": 10,
          "convention": "completed_ghati",
          "sources_agree": false,
          "reading": {
            "text": [
              "**Your Sun is in agamana (coming back).** It tends to return to its matters again and again. So what it offers often comes through repeated attempts rather than at the first try."
            ],
            "language": "en",
            "detail": "standard"
          }
        },
        "reading": {
          "text": [
            "**Your Sun is in sabha (in the assembly).** The planet is at home among people, so its results tend to come through company, conversation and public life."
          ],
          "language": "en",
          "detail": "standard"
        }
      }
    },
    {
      "graha": "Moon",
      "baladi": {
        "avastha": "Bala",
        "results": "quarter",
        "fraction": 0.25,
        "degree_in_sign": 24.575,
        "sign_parity": "even",
        "reading": {
          "text": [
            "**Your Moon is in the bala (infant) state.** It sits in the young part of its sign. So by itself, it tends to give about a quarter of its results. What it promises grows as you put effort and time into it."
          ],
          "language": "en",
          "detail": "standard"
        }
      },
      "jagradadi": {
        "avastha": "Jagrat",
        "results": "full",
        "fraction": 1,
        "dignity": "mulatrikona",
        "reading": {
          "text": [
            "**Your Moon is jagrat (awake).** It sits in a sign where it is at home or at its best. So it is alert and ready to act. Its results usually come in full."
          ],
          "language": "en",
          "detail": "standard"
        }
      },
      "deeptadi": {
        "avastha": "Swastha",
        "basis": "mulatrikona",
        "dignity": "mulatrikona",
        "sign_lord": "Venus",
        "additional_avasthas": [],
        "malefics": [],
        "combust": false,
        "reading": {
          "text": [
            "**Your Moon is swastha (at ease).** It sits in its own sign, so it works comfortably and steadily. Its results usually feel natural and secure."
          ],
          "language": "en",
          "detail": "standard"
        }
      },
      "lajjitadi": {
        "avasthas": [
          "Garvita"
        ],
        "reasons": [
          {
            "avastha": "Garvita",
            "because": [
              "in its exaltation sign",
              "in its mulatrikona"
            ]
          }
        ],
        "readings": [
          {
            "text": [
              "**Your Moon is garvita (proud).** The planet is exalted or in its most comfortable stretch of sign. So it tends to bring confidence, a good name and good results in its matters."
            ],
            "language": "en",
            "detail": "standard"
          }
        ]
      },
      "shayanadi": {
        "avastha": "Agamana",
        "number": 6,
        "inputs": {
          "nakshatra": 5,
          "planet_number": 2,
          "navamsa_number": 8,
          "birth_nakshatra": 5,
          "ghati": 11,
          "lagna": 6,
          "total": 102
        },
        "convention": "running_ghati",
        "other_reckoning": {
          "avastha": "Gamana",
          "number": 5,
          "ghati": 10,
          "convention": "completed_ghati",
          "sources_agree": false,
          "reading": {
            "text": [
              "**Your Moon is in gamana (going out).** Going out, it is on the move, so its matters often involve travel, change and effort to keep up with."
            ],
            "language": "en",
            "detail": "standard"
          }
        },
        "reading": {
          "text": [
            "**Your Moon is in agamana (coming back).** It tends to return to its matters again and again. So what it offers often comes through repeated attempts rather than at the first try."
          ],
          "language": "en",
          "detail": "standard"
        }
      }
    },
    {
      "graha": "Mars",
      "baladi": {
        "avastha": "Mrita",
        "results": "none",
        "fraction": 0,
        "degree_in_sign": 27.7149,
        "sign_parity": "odd",
        "reading": {
          "text": [
            "**Your Mars is in the mrita state,** the last of the five ages, at the very edge of its sign. It gives little on its own. So its matters tend to depend on your effort and on the planets it works with. Treat it as a planet to support, not…"
          ],
          "language": "en",
          "detail": "standard"
        }
      },
      "jagradadi": {
        "avastha": "Jagrat",
        "results": "full",
        "fraction": 1,
        "dignity": "own sign",
        "reading": {
          "text": [
            "**Your Mars is jagrat (awake).** It sits in a sign where it is at home or at its best. So it is alert and ready to act. Its results usually come in full."
          ],
          "language": "en",
          "detail": "standard"
        }
      },
      "deeptadi": {
        "avastha": "Swastha",
        "basis": "own sign",
        "dignity": "own sign",
        "sign_lord": "Mars",
        "additional_avasthas": [],
        "malefics": [],
        "combust": false,
        "reading": {
          "text": [
            "**Your Mars is swastha (at ease).** It sits in its own sign, so it works comfortably and steadily. Its results usually feel natural and secure."
          ],
          "language": "en",
          "detail": "standard"
        }
      },
      "lajjitadi": {
        "avasthas": [],
        "reasons": [],
        "readings": []
      },
      "shayanadi": {
        "avastha": "Sabha",
        "number": 7,
        "inputs": {
          "nakshatra": 3,
          "planet_number": 3,
          "navamsa_number": 9,
          "birth_nakshatra": 5,
          "ghati": 11,
          "lagna": 6,
          "total": 103
        },
        "convention": "running_ghati",
        "other_reckoning": {
          "avastha": "Agamana",
          "number": 6,
          "ghati": 10,
          "convention": "completed_ghati",
          "sources_agree": false,
          "reading": {
            "text": [
              "**Your Mars is in agamana (coming back).** It tends to return to its matters again and again. So what it offers often comes through repeated attempts rather than at the first try."
            ],
            "language": "en",
            "detail": "standard"
          }
        },
        "reading": {
          "text": [
            "**Your Mars is in sabha (in the assembly).** The planet is at home among people, so its results tend to come through company, conversation and public life."
          ],
          "language": "en",
          "detail": "standard"
        }
      }
    }
  ],
  "shayanadi_reckoning": {
    "ghatis_elapsed": 10.8026,
    "ghati": 11,
    "convention": "running_ghati",
    "other_reckoning": {
      "ghati": 10,
      "convention": "completed_ghati"
    },
    "sources_agree": false,
    "birth_nakshatra": 5,
    "lagna": 6,
    "note": "ghatis are counted from the sunrise of the Vedic day (the previous sunrise for a birth before dawn). The formula takes the RUNNING ghati, the one in progress at birth, as a desktop program does. Some software takes the COMPLETED ghatis,…"
  },
  "friendship": {
    "jagradadi": "natural (chart.natural_dignity_in, read by degree)",
    "deeptadi": "compound (natural with temporal): five grades",
    "lajjitadi": "natural (naisargika) for every friend and enemy: the sign lord, the grahas with it and those aspecting it"
  },
  "nodes": "baladi and shayanadi only; the nodes own no sign and hold no friendship, so the three dignity-based sets are not computed for them",
  "not_scored": "the five sets are reported side by side and never combined into one verdict",
  "not_computed": [
    {
      "what": "shayanadi sub-state (drishti, cheshta, vicheshta)",
      "why": "the BPHS formula for it takes a number from the first letter of the native's name, which a birth chart does not carry"
    },
    {
      "what": "the specific result BPHS gives for each graha in each shayanadi state",
      "why": "a hundred and eight graha-by-state readings; the reading here describes each state once"
    },
    {
      "what": "jagradadi, deeptadi and lajjitadi for Rahu and Ketu",
      "why": "all three read the relation between a graha and the lord of its sign. The nodes own no sign and have no natural friendships here. Reporting them neutral would claim what the classical scheme does not say"
    }
  ],
  "framing": {
    "text": [
      "**A planet's avastha (state) describes the condition it is in when it acts.** Where a planet sits says what it promises. Its state says how freely it can deliver that promise: fully, partly, or only with your effort.",
      "Five traditional sets of states are shown side by side. Each looks at the planet from a different angle, so they are not added up into one verdict. One set does not cancel another."
    ],
    "language": "en",
    "detail": "standard"
  },
  "gaps": [],
  "language": "en",
  "detail": "standard",
  "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"
    }
  }
}

Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.

Parameters, schemas and a test request in the interactive reference. Feature: Planetary strength.

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 arc seconds. An arc second is 1/3,600 of a degree. A practicing astrologer reviews the rules behind these answers. See how we test accuracy.

Terms in this group

From the blog