# API for Astrology: full text
> The key facts, pricing and FAQ of API for Astrology, then every endpoint of the Astrology API and the Numerology API (what it does, its inputs, its main response fields and an example request), then the glossary. The short site map is https://apiforastrology.com/llms.txt. Sample answers are in https://apiforastrology.com/astrology/openapi.json.
## Key facts (as of November 7, 2026)
- API for Astrology (apiforastrology.com) is a web API for Vedic astrology and numerology. Apps send birth details or a name as JSON over HTTPS and get JSON back.
- Two APIs on one key and one plan: the Astrology API (65 endpoints, https://apiforastrology.com/api/astrology) and the Numerology API (16 endpoints, https://apiforastrology.com/api/numerology). 81 endpoints in all.
- Astrology API features (14): Kundli and birth charts, Dashas (planetary periods), Panchang and muhurat, Hindu calendar and festivals, Kundli matching, Transits and forecasts, Daily horoscopes, Yogas and doshas, Planetary strength, Jaimini astrology, Readings and reports, Remedies, Karmic reading, Prashna (horary).
- Numerology API features (8): Core numbers, Name checker, Number checks, Compatibility, Western numbers, Personal year and dates, Baby names, Numerology report. Chaldean by default, with the Pythagorean numbers beside it.
- Free plan: $0, every endpoint, 2,000 calls and 150 reading credits a month, 90 calls a minute per live key, no card needed. A live product on the Free plan shows a "Powered by API for Astrology" link.
- Paid plans, in US dollars before tax. A year costs the same as 10 months.
- Starter: $29 a month (the launch price until March 31, 2027, then $39), with 50,000 calls and 1,000 reading credits a month.
- Growth: $99 a month (the launch price until March 31, 2027, then $139), with 250,000 calls and 5,000 reading credits a month.
- Scale: $399 a month (the launch price until March 31, 2027, then $549), with 2,000,000 calls and 22,000 reading credits a month.
- Test keys: free on every plan, 1,000 calls a month and 10 a minute. Written readings come back only for the sample charts (John Doe and Jane Doe).
- Calls and reading credits: a calculation uses 1 call. A written reading uses reading credits instead: 1 for a chapter, 25 for a full astrology report (40 with the topic chapters), and 1 to 25 for a numerology answer. Failed requests use nothing.
- Readings follow 480 published rules, each with a stable ID in the rulebook (https://apiforastrology.com/astrology/rulebook). The text comes from a fixed library chosen by those rules, not from an AI model, so the same input always gets the same words.
- Glossaries: 216 Vedic astrology terms and 47 numerology terms, in plain English.
- Languages: English and Hindi (send lang=hi for Hindi). Paths, codes and error messages stay in English. Coming soon: Chinese and Spanish. Planned, with no dates yet: Tamil, Telugu, Japanese, Kannada, French, Malayalam, Portuguese, Russian and Bengali.
- Astrology method: Sidereal (Vedic) zodiac; the Lahiri ayanamsa by default, KP and Raman on request; whole sign houses. Planet positions come from NASA JPL DE440s data, for dates from 1850 to 2149.
- Accuracy: planet positions and the rising sign are tested against Swiss Ephemeris, and the tests fail if a result drifts past a set limit. The method and the current figures: https://apiforastrology.com/astrology/accuracy.
Authenticate with an API key in the Authorization header (Bearer) or in X-API-Key. The examples use John Doe, born Aug 15, 1990, at 10:30 AM in New York.
## Pricing
Page: https://apiforastrology.com/pricing. Prices in US dollars, before tax. Every plan calls every endpoint of both APIs.
| Plan | Price a month | Calls a month | Reading credits a month | Calls a minute per live key |
| --- | --- | --- | --- | --- |
| Free | $0 | 2,000 | 150 | 90 |
| Starter | $29 | 50,000 | 1,000 | 250 |
| Growth | $99 | 250,000 | 5,000 | 500 |
| Scale | $399 | 2,000,000 | 22,000 | 1,000 |
### What reading credits buy (Astrology API)
- One chapter (`POST /v1/reading/section/{section_id}`): 1 credit
- Life summary (`POST /v1/summary`): 2 credits
- Karma reading (`POST /v1/karma`): 2 credits
- Spiritual path reading (`POST /v1/spiritual`): 2 credits
- The year-ahead chapter (`POST /v1/reading/section/forecast:year`): 3 credits
- Love, career or wealth forecast (`POST /v1/forecast/{theme}`): 3 credits
- Weekly reading (`POST /v1/reading/weekly`): 3 credits
- Varshaphal (annual chart) (`POST /v1/varshaphal`): 3 credits
- Question chart (prashna) (`POST /v1/prashna`): 5 credits
- KP question chart (KP horary) (`POST /v1/prashna/kp`): 5 credits
- Couple forecast (`POST /v1/forecast/couple/{theme}`): 6 credits
- Full report (`POST /v1/report`): 25 credits
- Topic chapters in the full report (`POST /v1/report?topics=true`): +15 credits
- Annual forecast (`POST /v1/forecast/annual`): 25 credits
### What reading credits buy (Numerology API)
- Health check (`GET /v1/health`): free
- Name checker (`POST /v1/name`): 1 credit
- Name spelling suggestions (`POST /v1/name/suggest`): 1 credit
- Mobile, vehicle, house or business number (`POST /v1/number`): 1 credit
- Two people (`POST /v1/compatibility`): 1 credit
- Good dates in a month (`POST /v1/dates`): 1 credit
- A day's number (`GET /v1/day`): 1 credit
- Personal year, month and day (`POST /v1/cycles`): 2 credits
- Compare several numbers (`POST /v1/numbers`): 2 credits
- Business name and launch date (`POST /v1/business`): 2 credits
- Baby name finder (`POST /v1/baby-names`): 2 credits
- A year for a mulank (`GET /v1/year/{mulank}`): 2 credits
- Core numbers and Lo Shu grid (`POST /v1/profile`): 3 credits
- Western numbers (`POST /v1/western`): 3 credits
- One number as a mulank (`GET /v1/guide/{number}`): 3 credits
- Numerology report (HTML or JSON) (`POST /v1/report`): 25 credits
### What does one call or one written reading cost?
Page: https://apiforastrology.com/pricing#what-a-call-costs
On API for Astrology (apiforastrology.com), one calculation call costs under 1 cent on every paid plan. At launch prices, reading credits cost about $18.14 to $29.00 per 1,000, and a chapter uses 1 credit. A full report of 25 credits costs about $0.45 to $0.73.
The launch price runs until Mar 31, 2027. Amounts are in US dollars, rounded to the cent, before tax.
#### Starter
50,000 calls and 1,000 reading credits a month.
| Cost of | Launch price | Regular price |
| --- | --- | --- |
| Plan price, a month | $29 | $39 |
| 1,000 calculation calls | $0.58 | $0.78 |
| 1,000 reading credits | $29.00 | $39.00 |
| Full report, 25 credits | $0.73 | $0.98 |
| Full report with topic chapters, 40 credits | $1.16 | $1.56 |
| Numerology profile, 3 credits | $0.09 | $0.12 |
Pay as you go: $30.00 per 1,000 extra reading credits, or $0.75 for an extra full report.
#### Growth
250,000 calls and 5,000 reading credits a month.
| Cost of | Launch price | Regular price |
| --- | --- | --- |
| Plan price, a month | $99 | $139 |
| 1,000 calculation calls | $0.40 | $0.56 |
| 1,000 reading credits | $19.80 | $27.80 |
| Full report, 25 credits | $0.50 | $0.70 |
| Full report with topic chapters, 40 credits | $0.79 | $1.11 |
| Numerology profile, 3 credits | $0.06 | $0.08 |
Pay as you go: $22.00 per 1,000 extra reading credits, or $0.55 for an extra full report.
#### Scale
2,000,000 calls and 22,000 reading credits a month.
| Cost of | Launch price | Regular price |
| --- | --- | --- |
| Plan price, a month | $399 | $549 |
| 1,000 calculation calls | $0.20 | $0.27 |
| 1,000 reading credits | $18.14 | $24.95 |
| Full report, 25 credits | $0.45 | $0.62 |
| Full report with topic chapters, 40 credits | $0.73 | $1.00 |
| Numerology profile, 3 credits | $0.05 | $0.07 |
Pay as you go: $18.00 per 1,000 extra reading credits, or $0.45 for an extra full report.
**How are these costs worked out?**
Each cost is the monthly plan price split over one monthly allowance, as if you use all of it. Calculations use calls, and written readings use reading credits. One plan price buys both, so extra credits can cost less per 1,000 than the plan's own. Amounts are in US dollars, rounded to the cent, before tax.
**How should I compare astrology API prices?**
Compare the cost of a finished result, not a request or credit. Some APIs charge different credits per endpoint, so a cheap credit can still mean a costly chart. A birth chart is one call here. 1,000 charts cost about $0.20 to $0.58. A full report costs about $0.45 to $0.73, and a numerology profile about $0.05 to $0.09.
**What do extra calls and extra reading credits cost?**
Extra calls are never billed. Past the monthly calls, the API answers 429 until the 1st of the month (UTC). A bigger plan ends the wait. On paid plans, pay as you go adds extra reading credits, up to a cap you set. Per 1,000 extra credits, the price is $30.00 on Starter, $22.00 on Growth and $18.00 on Scale.
### Pricing questions
**What are reading credits?**
Reading credits are what written readings use. Calculations, such as birth charts, dasha, panchang and kundli matching, use calls. A written reading uses credits instead: 1 for a chapter, 25 for a full report. Each plan has a monthly allowance of credits: Free 150, Starter 1,000, Growth 5,000 and Scale 22,000.
**Which calls use reading credits?**
The written readings: one chapter; life summary; karma reading; spiritual path reading; love, career or wealth forecast; weekly reading; varshaphal (annual chart); couple forecast; full report; annual forecast; question chart (prashna); and kp question chart (kp horary). Everything else uses calls, including the daily horoscopes, the list of chapters and the rule list. Credits are the same in every language, and for standard or longer text.
**What happens if I use up my calls?**
Calculations get a 429 answer, with a Retry-After header, until the 1st of the next month (UTC) or a move to a bigger plan. Calls already in progress at that moment still finish, and any calls over your allowance come off next month's. Reading credits are separate, so readings keep working while credits are left. We never charge extra for calls.
**What happens when reading credits run out?**
A reading that does not fit in the credits left gets a 429 answer with the code reading_credits_exceeded. That lasts until the 1st of the month (UTC), or until you move to a bigger plan. Calculations keep working. Without pay as you go, credits never go past your allowance, so there is nothing extra to pay.
**How does pay as you go work?**
Pay as you go is for paid plans. Turn it on in Billing and set a monthly cap ($50 unless you change it). When your reading credits run out, readings keep working, and you pay for the extra credits each month. The price is $0.75 a full report on Starter, $0.55 a full report on Growth and $0.45 a full report on Scale. On a monthly plan, the extras are a line on your plan's monthly invoice, in the same payment. On a yearly plan, they come on a separate monthly invoice with no monthly fee. At the cap, readings answer 429 until the 1st (UTC). Extra credits are not refunded.
**Can I try full readings before I pay?**
Yes. Test keys return every reading in full, free, on every plan. They work for the sample charts in the docs: John Doe (New York) and Jane Doe (Chicago). And the Free plan gives 150 reading credits a month for any chart: about 6 full reports, or 150 chapters.
**Can I use the API in an app or site I sell?**
Yes. On every plan, you may show API output to your own users, in a free or a paid product. Paid plans need no link to us. One exception: on Starter, a public page with the 12 daily sign horoscopes must link to us. The Free plan needs a visible "Powered by API for Astrology" link. You may not resell the output as your own data feed or API.
**Do I need to link to you on the Free plan?**
Yes, once real users see it. On the Free plan, each page or screen with API output needs a visible link. It reads "Powered by API for Astrology" and goes to https://apiforastrology.com. It can go in the footer of that page, for example. Test keys need no link, and paid plans need none, except the daily sign horoscopes on Starter.
**Do unused calls or credits carry over?**
No. Calls and reading credits start again on the 1st of each month (UTC), and unused ones do not carry over.
**Does one plan cover every API you offer?**
Yes. One plan, one account and one set of keys cover the Astrology API and the Numerology API, with one invoice. Both use the same calls and reading credits.
**How is the Numerology API priced?**
Every numerology answer is a written reading. So it uses reading credits, never calls. A name or phone number check uses 1 credit, and a full report uses 25. The price is the same in every language. Failed requests are free.
**How do I pay?**
Choose a plan and pay by card on a secure checkout page. Our reseller, Dodo Payments, handles the payment and the tax, and emails you an invoice. The plan applies within a minute of paying.
**Can I change or cancel my plan?**
Yes, from Billing in your account. A bigger plan applies at once, and you pay only the difference for the rest of the period. A smaller plan starts on your next billing date. If you cancel, the plan runs to the end of the period you paid for, then your account moves to Free.
**What if a payment fails?**
Your plan keeps working while the payment is retried, for up to 7 days after the paid period ends. Update your card in Billing to keep it. After that, your account moves to Free and your keys keep working within the Free limits.
**Do you give refunds?**
Payments are final, but we refund double or mistaken charges. The refund policy has the details.
**Can my account be suspended?**
Yes, if it breaks the Terms. Examples are copying the reading text in bulk, getting around a limit, or opening more than one Free account. Fair use applies to every plan. A Free account can be disabled without notice if we find the API being misused there. The Terms list the rules and what happens when an account is suspended.
## Astrology API FAQ
Page: https://apiforastrology.com/astrology/faq
### About API for Astrology
**What is API for Astrology?**
API for Astrology (apiforastrology.com) is a web API for Vedic astrology and numerology. Your app sends birth details or a name as JSON. It gets back birth charts (kundli), dashas, the panchang, kundli matching, numerology numbers and written readings. One key calls both the Astrology API and the Numerology API, in English and other languages.
**How many endpoints does API for Astrology have?**
API for Astrology has 81 endpoints on one key. The Astrology API has 65 and the Numerology API has 16. The astrology endpoints cover charts, dashas, the panchang, matching, transits, yogas, doshas, remedies and readings. The numerology endpoints cover the core numbers, names, phone and vehicle numbers, compatibility and a printable report.
**How do I start using API for Astrology?**
Sign up with your email, confirm it and create a test key in your account. Test keys are free on every plan. They return full readings for the sample charts, John Doe and Jane Doe. For real charts, the Free plan gives 2,000 calls and 150 reading credits a month, with no card needed.
**Are API for Astrology readings written by rules or by AI?**
By rules, not AI. Each reading comes from a fixed library of text written ahead of time. Stated rules pick the text from the chart. Every rule is in the public rulebook with its own ID, such as DO-01 for manglik dosha. The same birth details always get the same words, in every language.
**Which dates does API for Astrology cover?**
Every astrology calculation covers dates from January 1, 1850, to December 31, 2149. That is the range of NASA JPL's DE440s planet data, which the API uses for planet positions. A birth date outside the range gets a 422 error with the code invalid_input. Numerology birth dates are not tied to this range.
### How the API works
**What can the API calculate?**
Birth charts (kundli), dashas (planetary periods), the panchang (Hindu calendar), muhurat (good times) and festival dates. Kundli matching, transits (the planets' current positions), daily horoscopes, yogas (planet combinations) and doshas (chart flaws). Planetary strength, the Jaimini system, remedies, and written readings and reports. Every answer comes back as JSON.
**Which zodiac, ayanamsa and house system does the astrology API use?**
The sidereal (Vedic) zodiac and whole-sign houses (one sign per house). The ayanamsa (zodiac offset) is Lahiri by default. Send "ayanamsa": "kp" for KP (Krishnamurti Paddhati, a Vedic method) or "raman" for Raman. Or send another of the eight, such as "true_chitra". POST /v1/kp is the one exception to whole-sign houses: it uses Placidus house borders, as KP requires. Read planets by name, not by number, since apps number them differently.
**Does the astrology API do Western astrology or KP?**
It is Vedic only, with no Western (tropical) positions. For KP (Krishnamurti Paddhati), POST /v1/kp returns house borders by the Placidus method. It also returns sub lords (the finer rulers KP reads) and significators (the planets that give each house its results). Every other endpoint keeps whole-sign houses. You can also use the KP ayanamsa in any call with "ayanamsa": "kp".
**How accurate are the astrology API's planet positions?**
We check 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. We also cast 2,000 random charts from a birth clock time and compare them with Swiss Ephemeris. There, the Sun and planets agree within 0.06 arc seconds. The Moon agrees within 0.41 arc seconds, and the rising sign within 0.004. The Lahiri ayanamsa (zodiac offset) agrees with Swiss Ephemeris within 0.001 arc seconds, checked on 8 dates from 1900 to 2100. Our tests fail if a result drifts past these figures. An arc second is 1/3,600 of a degree.
**Does the astrology API return readings in plain English, or only numbers?**
Both. Every calculation returns the numbers as JSON. The reading endpoints, and checks such as doshas and yogas, also return short readings in plain words. Add lang, such as lang=hi, for another language. Each reading names the rule it applied, so your team can check it.
**Does the astrology API work for any place in the world?**
Yes. Send the latitude, longitude and time zone of any place. Inside the polar circles, some dates have no sunrise. Calls that need sunrise, such as the panchang, then answer 422 with the code no_sunrise instead of guessing.
**Does the astrology API return Hindi?**
Yes. Send lang=hi. Names and reading text come in Hindi from the same computation: weekdays, colors, sign names and gemstone names. Other languages work the same way, and GET /v1/meta lists every lang code. Endpoint paths, codes and error messages stay in English.
### Using the API
**Do I need a birth time?**
For a birth chart, yes: the rising sign and the houses depend on it. Matching can run on the two nakshatras (birth stars) alone. Tara bala (a daily rating) needs only a birth nakshatra. The panchang and festival calendars need only a date and a place.
**How are time zones and daylight saving time handled?**
Send a time zone name such as America/New_York. The API applies the rules that were in force at the birth moment. It refuses a local time that happens twice when the clocks go back, instead of guessing.
**Does the astrology API return chart images?**
Yes. POST /v1/chart/svg draws the birth chart, or any divisional chart, in North, South or East Indian style. It sends an SVG image, or a PNG picture with format=png. The other endpoints return the data, so you can also draw the chart yourself.
**Can I use the astrology API with an AI assistant or chatbot?**
Yes. Offer a few endpoints to the model as tools. The model calls the API for the chart and quotes the result, so it does not invent positions or rules. The reading text comes from fixed rules, not an AI model. So the same question gets the same answer in your tests. The guide lists a good first set of tools and the fields to quote.
**Can I get a PDF report?**
The API returns a self-contained printable HTML page from /v1/report. Print it to PDF in any browser, or convert it on your side.
**Do you store the birth details I send?**
No. The API uses them only to compute the answer, and request bodies are not stored. Send birth details in the body of a POST request, because web addresses (URLs) can appear in server logs.
**Which programming languages can I use?**
Any common one. Your code only has to make an HTTPS call and parse the JSON that comes back. The docs show every call in curl, JavaScript, Python and PHP. There is no SDK to install. To try every call, download our Postman collection or OpenAPI file from the API reference.
**How do I get help, and is there a status page?**
Write to us from the contact page. We aim to reply within one business day. The status page shows whether the API is working right now.
### Keys and limits
**Does one key work for every API you offer?**
Yes. One account, one set of keys and one plan cover every service we offer, with one invoice.
**How much does the astrology API cost?**
The Free plan costs nothing and includes 2,000 calls and 150 reading credits a month. Starter is $29 a month, Growth $99 and Scale $399. These launch prices last until March 31, 2027. Then they are $39, $139 and $549. Paying for a year costs the same as 10 months. Test keys are free on every plan.
**Is there a free plan?**
Yes. Sign up, confirm your email and create a key in your account. The Free plan can call every endpoint. It gives 2,000 calls a month for calculations and 150 reading credits for written readings. Test keys on any plan get their own free allowance of 1,000 calls a month. They get full readings for the sample charts (John Doe and Jane Doe). A live product on the Free plan shows a "Powered by API for Astrology" link wherever it shows API output. The live demo on the home page shows one real call without a key.
**What is the difference between test and live keys?**
Use a test key (afa_test_) while you build and a live key (afa_live_) in production. Both call the same API and get real results. Test calls are free and never count toward your plan. Written readings come back only for the sample charts, John Doe and Jane Doe.
**What is the rate limit, and what happens at 429?**
Each live key has its own per-minute limit, so one busy key does not slow the others. Free keys get 90 calls a minute, Starter 250, Growth 500 and Scale 1,000. Every call counts as 1, a full report too. Test keys get 10 a minute each. Over a limit, the API answers 429. The Retry-After header says how many seconds to wait, and the error code says which limit you hit. If you often get 429s, move to a larger plan.
## Numerology API FAQ
Page: https://apiforastrology.com/numerology/faq
### The Numerology API
**What does the Numerology API return?**
Indian and Western numerology from a name and a date of birth. It returns the mulank (birth day number), the bhagyank (destiny number) and the name number. The Lo Shu grid comes with them, a 3 by 3 square filled from the birth date. Other routes check names, phone, vehicle and house numbers and business names. They also cover two-person compatibility, the Western numbers, the personal year, baby names and a printable report.
**Does the API use Chaldean or Pythagorean numerology?**
Both, kept apart. Names are read in the Chaldean system by default, which is what Indian numerology uses. The Pythagorean number comes back beside it, labelled, but it is not read. The Western numbers, such as the life path, use Pythagorean only.
**Does the Numerology API need a birth time or a birth place?**
No. A person's numbers come from the calendar date of birth, with no time of day and no place. The mulank uses the date as it is, not a day that starts at sunrise.
**Which languages do the readings come in?**
English and Hindi. Send lang=hi for Hindi. Codes such as planet and outcome stay in English. The words in the reader's language sit beside them in *_name fields. The names you send must still be in English letters.
**Can I get longer readings?**
Yes. Every route takes detail. Send standard for short text that fits an app card, or expanded for text about three times longer. The report uses expanded unless you send standard. The length never changes the price.
**Can the API make a printable numerology report?**
Yes. POST /v1/report returns the whole reading as one HTML page that fetches nothing and prints to A4. Send format=json for the same chapters as data, to lay out yourself. Send brand to print your app or company name at the top of the cover.
### About API for Astrology
**How does the Numerology API relate to API for Astrology?**
The Numerology API is one of two APIs from API for Astrology (apiforastrology.com). The other is the Astrology API. One account, one key and one plan call both, and both use the same monthly reading credits. The Numerology API reads Indian (Chaldean) and Western (Pythagorean) numbers from a name and a birth date.
**How many endpoints does the Numerology API have?**
The Numerology API has 16 endpoints in 8 features, from the core numbers to a printable report. The health check is free, and every other route is a written reading paid for with reading credits. With the Astrology API's 65 endpoints, one API for Astrology key reaches 81 endpoints in all.
**How do I start using the Numerology API?**
Sign up with your email, confirm it and create a test key. The same key also calls the Astrology API. Test keys are free and answer for the sample people, John Doe and Jane Doe. For real people, the Free plan gives 150 reading credits a month, with no card needed. Start with POST /v1/profile.
**Are Numerology API readings written by rules or by AI?**
By rules, not AI. The API turns the name's letters into numbers with the Chaldean table from Cheiro's Book of Numbers (1926). It also adds up the digits of the birth date. Fixed rules then pick each reading from a library of text written ahead of time. The same inputs always get the same words, in every language.
**Which birth dates can the Numerology API read?**
The Numerology API reads a birth date as a plain calendar date in YYYY-MM-DD form. It needs no time of day, no place and no planet positions. So it is not tied to the Astrology API's 1850 to 2149 range. Routes about a time, such as the personal year, take as_of, month or year, and default to today.
### Numbers, names and rules
**How does the API work out the mulank and the bhagyank?**
The mulank (birth day number) adds the digits of the day of birth until one is left. The 15th gives 1 + 5 = 6. The bhagyank (destiny number) adds every digit of the full date. John Doe, born August 15, 1990, has a total of 33. So his bhagyank is 6, with master set to true.
**Does the API return the driver and conductor numbers?**
Yes. Many apps call the mulank the driver number and the bhagyank the conductor number. POST /v1/profile returns both.
**How does the API decide whether a number suits a person?**
Each number from 1 to 9 has a ruling planet. The API asks whether the planets of the person's mulank and bhagyank count the number's planet as a friend. A friend and no enemy is good, and an enemy and no friend is difficult. One of each is mixed, and neither is neutral.
**Can I send a name written in Hindi?**
No. Names must be in English letters (A to Z), with spaces, dots, hyphens and apostrophes allowed. A name in another script is refused with a 422 error. The API does not change it into English letters for you, because each spelling gives a different number.
**Does the API rank names, spellings or numbers?**
No. Spellings, suggestions, baby names and numbers come back in a fixed order, and the answer says ranked: false. The API gives each one its fit, and the choice stays with the person.
**How are mobile, vehicle and house numbers read?**
All the digits are added until one is left: 212 555 0147 adds up to 32, then 5. Letters in a vehicle or house number are not counted, because books disagree on whether they count. The answer lists them in ignored_letters.
**Are compound and master numbers read?**
Compound numbers (10 to 52) come back in compound, but they are not read. Master numbers are 11, 22 and 33. The bhagyank and the name numbers end on one digit. They set master to true when the sum passes through a master number. The Western numbers keep the master number itself in number.
**Does the API predict what will happen to a person?**
No. Every reading carries a not_claimed line saying that numbers describe tendencies, not fixed events. Karmic debt and karmic lessons are read as patterns to work on, not as a claim about a past life.
### Keys, credits and limits
**Do I need a separate key for the Numerology API?**
No. One key works for the Astrology API and the Numerology API. Send it the same way, to the numerology base URL https://apiforastrology.com/api/numerology, with paths such as POST /v1/profile.
**What does a numerology call cost?**
Every route but the health check uses reading credits on live keys, never calls. Most cost 1 to 3 credits, and the full report costs 25, the same as the astrology full report. The language and the length never change the price.
**Do astrology and numerology share reading credits?**
Yes. Your plan's reading credits are one monthly pool for all your live keys, and both APIs use it. The credits reset on the 1st of each month (UTC).
**Can I try the Numerology API for free?**
Yes. Test keys are free and answer for the sample people in the docs. These are John Doe, born August 15, 1990, and Jane Doe, born March 22, 1992. They work for today or the dates in the docs, and each test call counts as 1 test call. For real people, the Free plan includes 150 reading credits a month.
**Does a failed call use credits?**
No. Only a successful live call uses credits, and the credits held for a failed one are given back. The X-Reading-Credits-Counted header shows what a call used, and X-Reading-Credits-Remaining shows what is left this month.
**What happens when the credits run out?**
The API answers with a 429 error and the code reading_credits_exceeded until the credits reset on the 1st (UTC). The per-minute limit is separate, and every call counts as 1 toward it, a report too.
## Astrology API reference
Base address: https://apiforastrology.com/api/astrology
### Meta
Service health, and what the API supports: ayanamsas, the house system, divisional charts and the date range. No birth data needed.
#### Health check
`GET /v1/health`
Returns `{"status": "ok"}` while the service is running. Use it for uptime checks and load balancer probes. This is the only endpoint that needs no API key.
Main response fields:
- `status` (string)
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/health
```
#### Supported options and limits
`GET /v1/meta`
Lists what the API supports. That covers ayanamsas, node types and how time zones are handled. It also covers the languages and lengths for reading text, and the languages for names. Then the house system, all 16 divisional charts with what each is used for, the supported date range, the accuracy statement, and two measured checks: against NASA JPL Horizons and, from a clock time, against Swiss Ephemeris. Use it to build menus and input checks instead of hard-coding these lists. No birth data needed.
Optional inputs: `lang`.
Main response fields:
- `ayanamsas` (array of strings)
- `nodes` (array of strings)
- `timezones` (object) Holds accepts, daylight_saving, zones, database, ambiguous_times.
- `prose` (object) Holds languages, details, note.
- `names` (object) Holds languages, note.
- `house_system` (string)
- `vargas` (array of objects) Holds varga, divisions, name, signifies.
- `date_range` (object) Holds from, to, limited_by.
- `ephemeris` (string)
- `accuracy` (string)
- `accuracy_engine` (object) Holds reference, compared, bodies, positions, from, to, step_days, planets_arcsec, moon_arcsec, moon_median_arcsec, checked_on.
- `accuracy_clock` (object) Holds reference, compared, charts, from, to, planets_arcsec, moon_arcsec, moon_median_arcsec, true_node_arcsec, ascendant_arcsec, checked_on.
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/meta
```
### Charts
These endpoints work out the birth chart (kundli) itself. They cover planet positions, the ascendant (the sign rising at birth), the 16 divisional charts, aspects and planet strength, and the yearly chart (varshaphal). Most return numbers and placements only. The Jaimini, ashtakavarga and varshaphal endpoints also return short readings.
Page: https://apiforastrology.com/astrology/docs/reference/charts
#### Planet positions and the ascendant
`POST /v1/planets`
Returns the ascendant (the sign rising in the east at birth) and all nine grahas (planets). For each one you get its sidereal longitude, sign and house. You also get its nakshatra (one of 27 lunar mansions) and pada (one of the four quarters of a nakshatra). Each planet also has its speed and its dignity. It says whether the planet is retrograde (appears to move backward) and whether it is combust (too close to the Sun). Use this endpoint as the starting point for drawing a birth chart.
**`dignity`** says how well placed a planet is, based on its sign and its degree in the sign. It has seven values: `exalted`, `debilitated`, `mulatrikona`, `own sign`, `friend`, `enemy` and `neutral`. When several apply, only the strongest is reported. The degree matters for mulatrikona: Mars in Aries is `mulatrikona` up to 12 degrees and `own sign` after that. `friend` and `enemy` compare the planet with the planet that rules its sign. The Moon has no traditional enemies, so it never reports `enemy`. Rahu and Ketu have no friends or enemies, so they report neither. See rulebook CH-12 (the API's rule reference).
**`vargottama`** is true when the planet is in the same sign in the birth chart and the navamsa (D9).
**`pushkara`** says whether the planet is in a pushkara navamsa (two helpful ninths of each sign) and whether it is within 1 degree of the sign's pushkara degree. Two tables of pushkara degrees are in use, so both answers are given, with `sources_agree`. See rulebook CH-17 and CH-18.
**`planetary_war`** lists any pair of Mars, Mercury, Jupiter, Venus and Saturn within 1 degree of each other (graha yuddha). `winner` is the planet further north in latitude, as `rule` says. `winner_by_brightness` gives the brighter one, and `sources_agree` says whether they match. The list is usually empty. See rulebook CH-19.
`meta.timezone` shows the UTC offset used for the birth time, and whether daylight saving time was in effect.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object): How the chart was calculated. Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `ascendant` (object): The ascendant: the sign rising in the east at birth. Holds name, longitude, sign, sign_number, degree_in_sign, degree_dms, house, nakshatra, nakshatra_lord, pada, speed, retrograde.
- `positions` (array of objects): The nine planets, in the order Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Holds name, longitude, sign, sign_number, degree_in_sign, degree_dms, house, nakshatra, nakshatra_lord, pada, speed, retrograde.
- `planetary_war` (array): Planetary wars (graha yuddha): pairs among Mars, Mercury, Jupiter, Venus and Saturn within 1 degree. Usually empty. See rulebook CH-19.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/planets
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### The Tajik annual chart (varshaphal) for one year
`POST /v1/varshaphal`
Casts the annual chart for the moment the Sun returns to its exact birth position (varsha pravesh). The moment is found to the second, in the sidereal zodiac. It falls within a day or so of the birthday and drifts later over a lifetime. So it is never assumed to be the birthday. Tajik is the Indian method for yearly charts, which came from Persian astrology.
**Returned:**
- the varsha pravesh in UTC and local time;
- the annual chart (ascendant and the nine planets with their houses);
- **muntha**, the natal ascendant moved on one sign per completed year, and its house in the annual chart;
- the **five office-bearers** (panchadhikari), the candidates for the year lord;
- nine **sahams** (sensitive points). Each is A - B + C of three positions, reversed by night where the texts say so. There are also four `disputed_sahams` that published programs compute differently, given both ways with `sources_agree`. In `convention_a`, A and B never swap by night. In `convention_b`, they swap by night for paradara, vivaha and vanik, and roga adds no 30 degrees when C sits on an end;
- **mudda dasha**, Vimshottari squeezed into one year. Published software disagrees on it, so it comes in **two conventions**. `mudda_dasha` divides 365 days from the varsha pravesh. `mudda_dasha_solar` divides the Sun's year with the birth balance carried in, so it starts before the varsha pravesh. `mudda_conventions` says which is which;
- `masa_pravesh`: the twelve **monthly returns**, each the moment the Sun has moved on another 30 degrees, with its lagna. Month 1 is the varsha pravesh. Daily returns are at `/v1/varshaphal/dina`;
- `tri_pataki`: the **tri-pataki chakra** (three-flag chart). Each natal sign moves on by the running year; the result says which grahas pierce (vedha) the Moon and the lagna. The Moon is the main target and the lagna a second one some astrologers add; the Moon casts no vedha, and a graha on a target's own point is vedha on it. Two divisions of the years circulate and differ on Mars, so both are in `methods`, with `sources_agree` and `differ_on` for the year. No verdict is drawn from it.
**Place.** The chart is cast for the birth place unless `latitude`, `longitude` and `timezone` give the place the person lives now; traditions differ on which, and `place.basis` says which was used.
**Strengths and the year lord.** `strengths` gives pancha-vargeeya bala (five divisions scored by Tajik friendship) and harsha bala (four conditions). Both were checked against another program's results over five years. `year_lord` (the varsheshwar) is the strongest office-bearer that aspects the annual lagna, is not the Moon and holds at least 5 of 20 vishwa (a strength score out of 20). If none is left, the muntha lord is the year lord; if that is the Moon, the annual lagna lord; if that is the Moon too, the birth lagna lord. If all three are the Moon, `graha` is null and `disputed` says why. `basis` says which way it was found, `filters` lists the order the rules apply in, and `ranked` gives every office-bearer with the rule that `excluded` it.
`tajaka_yogas` lists the Tajik yogas (planet pairings) the year forms. Sixteen are checked: ithasala, ishrafa, nakta, yamaya, manau, kamboola, khallasara, radda, duhphali-kuttha, ikkavala, induvara, kuttha, durapha, gairi-kamboola, tambira and dutthottha-davira. For each you get the planets, the aspect and the orb (the allowed gap in degrees: the mean of the pair's deeptamsha). You also get how far the pair is from exact, and whether the two are moving closer (applying) or apart (separating). `tajaka_yogas.not_computed` lists any yoga left out; today it is empty.
**Not yet computed**, and named in `not_computed`: the sahams that need house cusps. See rulebook section VP.
**Uses 3 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `year` (query): Calendar year of the birthday the annual chart is for.
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `latitude`, `longitude`, `timezone`, `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `year` (number)
- `completed_years` (number)
- `varsha_pravesh` (object) Holds utc, local, offset_hours, day, next.
- `place` (object) Holds latitude, longitude, basis.
- `chart` (object) Holds ascendant, positions.
- `muntha` (object) Holds sign, sign_no, lord, house, result, house_in_birth_chart.
- `office_bearers` (array of objects) Holds office, graha.
- `strengths` (object) Holds pancha_vargeeya, harsha.
- `year_lord` (object) Holds graha, aspects_lagna, basis, munthesha, min_strength, filters, ranked, disputed.
- `sahams` (array of objects) Holds name, longitude, sign, degree_dms, lord, house, formula, plus_30, sensitive, reading.
- `disputed_sahams` (array of objects) Holds name, sources_agree, sensitive, convention_a, convention_b.
- `mudda_dasha` (array of objects) Holds lord, start, end, days, house, reading.
- `mudda_dasha_solar` (array of objects) Holds lord, start, end, sun_arc, balance_elapsed, house, reading.
- `mudda_conventions` (object) Holds mudda_dasha, mudda_dasha_solar, sources_agree.
- `birth_nakshatra` (string)
- `tajaka_yogas` (object) Holds yogas, counts, deeptamsha, orb_rule, motion_rule, not_computed, sources, review.
- `not_computed` (array of strings)
- `meta` (object) Holds ayanamsa, ayanamsa_value, ephemeris, node, natal_sun.
- `masa_pravesh` (array of objects) Holds month, utc, local, offset_hours, sun_longitude, sun_sign, day, lagna.
- `tri_pataki` (object) Holds running_year, methods, sources_agree, differ_on, basis, not_claimed, review.
- `reading` (object) Holds framing, muntha, year_lord, notes.
- `gaps` (array)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/varshaphal?year=2026&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Tajik daily return (dina pravesh) for a day or a short window
`POST /v1/varshaphal/dina`
Finds the **dina pravesh**: the moment the Sun has moved on another whole degree from its exact birth position. In the Tajik year each degree is one day, so this is the start of a "day" of the annual chart. It is solved to the second, the same way as the varsha pravesh in `/v1/varshaphal`.
**Returned:**
- `running`: the daily return in force when `date` begins (local midnight);
- `dina_pravesh`: every daily return from `date` for `days` days (1 to 31). Most days hold one; a day can hold none or two, because the Sun moves a little faster in January than in July.
Each return has its moment in UTC and local time, `day_of_year` (1 is the varsha pravesh, up to 360), the Sun's target longitude, whether the Sun was up, and the **lagna** (ascendant) at that moment. The place is the birth place unless `latitude`, `longitude` and `timezone` give another. The twelve monthly returns are in `/v1/varshaphal` as `masa_pravesh`. See rulebook VP-11.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `date`, `days`, `latitude`, `longitude`, `timezone`, `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `from` (string)
- `days` (number)
- `place` (object) Holds latitude, longitude, basis.
- `running` (object) Holds day_of_year, utc, local, offset_hours, sun_longitude, sun_sign, day, lagna.
- `dina_pravesh` (array of objects) Holds day_of_year, utc, local, offset_hours, sun_longitude, sun_sign, day, lagna.
- `basis` (string)
- `meta` (object) Holds ayanamsa, ephemeris, natal_sun.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/varshaphal/dina?date=2026-10-01&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### The ascendant only
`POST /v1/ascendant`
Returns only the ascendant (the sign rising in the east at birth). You get its degree, nakshatra (one of 27 lunar mansions) and pada (quarter of a nakshatra). It is the same data as the `ascendant` object in `/v1/planets`. Use it when the rising sign is all you need.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `ascendant` (object) Holds name, longitude, sign, sign_number, degree_in_sign, degree_dms, house, nakshatra, nakshatra_lord, pada, speed, retrograde.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/ascendant
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Sudarshana chakra: the chart from the ascendant, Moon and Sun
`POST /v1/chart/sudarshana`
Returns the sudarshana chakra: the birth chart read three times. Each ring numbers the houses from a different starting point: the ascendant (`lagna`), the Moon (`chandra`) and the Sun (`surya`). House 1 of each ring is the sign that point is in.
Each ring lists all 12 houses with their sign and the planets in it. The signs and planets are the same in all three rings. Only the house numbers change. Houses are whole signs, as everywhere in the API. See rulebook CH-20.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `rings` (array of objects) Holds ring, counted_from, start_sign, houses.
- `basis` (string)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/chart/sudarshana
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Bhava chalit: houses by the Sripati method
`POST /v1/chart/chalit`
Returns the bhava chalit chart, the house table found beside the birth chart in most printed kundlis (birth chart books). Here houses are measured from the exact degree of the ascendant (the rising degree) and of the midheaven (the degree overhead at birth). They are not whole signs. So a planet near the edge of a sign can fall in the next or previous house.
**Method (Sripati).** The ascendant is the middle (madhya) of house 1, and the midheaven is the middle of house 10. Their opposite points are the middles of houses 7 and 4. Each quarter between two of these is split into three equal parts, giving the middles of the other houses. A house begins and ends (its sandhi) halfway between two middles.
For each planet you get its `whole_sign_house` (the house every other endpoint reports), its `chalit_house`, and `moved`, which is true when they differ. `moved_grahas` lists those planets.
**This is the only endpoint that uses a quadrant house system** (houses measured from the exact degrees, not from signs). Every other house number in the API, and every reading, stays whole sign. See rulebook CH-15 and CH-16.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `method` (string)
- `house_system` (string)
- `ascendant` (object) Holds longitude, sign, sign_number, degree_in_sign, degree_dms.
- `midheaven` (object) Holds longitude, sign, sign_number, degree_in_sign, degree_dms.
- `bhavas` (array of objects) Holds bhava, start, madhya, end.
- `positions` (array of objects) Holds name, longitude, sign, sign_number, degree_dms, whole_sign_house, chalit_house, moved.
- `moved_grahas` (array of strings)
- `not_computed` (array of strings)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/chart/chalit
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### The birth chart or any divisional chart as an SVG or PNG image
`POST /v1/chart/svg`
Draws a chart (kundli) as an SVG image you can show as it is, or as a PNG with `format=png`. The planets and signs are the same ones `/v1/planets` and `/v1/chart/{division}` return for this birth.
**Three styles.** `style=north` (the default) is the North Indian diamond. The top diamond is house 1, and each house prints its sign number, 1 for Aries to 12 for Pisces. `style=south` is the South Indian square. The signs never move: Pisces is top-left, then they run clockwise. The rising sign (lagna) has a diagonal line across its corner and the label `Asc`. The name of the chart is in the middle. `style=east` is the East Indian chart used in Bengal and Odisha: a 3x3 grid with Aries in the top middle, the signs running counter-clockwise, and each corner split into two signs. Its lagna cell is shaded and labeled `Asc`.
**Any chart.** `chart=D1` (the default) is the main birth chart. Any of the 16 divisional charts works, such as `D9` (navamsa) or `D10` (dasamsa).
**Labels.** Each planet is a short name (`Su`, `Mo`). In D1 its degree in the sign follows, unless `degrees=false`. A divisional chart shows no degrees. A planet moving backward (retrograde) is marked `R`. Rahu and Ketu are never marked `R`. Tradition treats them as always moving backward.
**Safe to embed.** The image has no stylesheet, script, font file, picture or link. Every color and font is written on each element, so it looks the same in a browser, an `
` tag, a PDF or an app. It is one line of text, so it survives being put in JSON. `size` sets the width and height in pixels. Without it the image scales to fit its box.
**PNG.** `format=png` sends the same drawing as a PNG picture, for places that cannot show SVG, such as some email apps and chat messages. Its labels are set in Noto Serif, in English, Hindi, Marathi or Gujarati. Without `size` it is 800 pixels square.
`format=json` returns the image as the `svg` string, with the ascendant and planet placements it was drawn from.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `style`, `chart`, `lang`, `size`, `degrees`, `format`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `style` (string)
- `chart` (string)
- `divisions` (number)
- `title` (string)
- `size` (null)
- `ascendant` (object) Holds name, sign, sign_number, house.
- `positions` (array of objects) Holds name, sign, sign_number, house, degree_in_sign, retrograde.
- `svg` (string)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/chart/svg
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Any of the 16 divisional charts (D1 to D60)
`POST /v1/chart/{division}`
Returns one divisional chart (varga). A divisional chart splits each sign into smaller parts and places each planet by the part it falls in. Each chart is read for one area of life: for example, D9 (navamsa) for the spouse and D10 (dasamsa) for career. D1 is the main birth chart.
For the ascendant and each planet you get the sign and the house in this chart. `signifies` says what the chart is used for. `GET /v1/meta` lists all 16 supported charts.
Required inputs:
- `division` (path): Which divisional chart, such as `D9`. The allowed values are listed; `9` and `d9` also work.
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object): How the chart was calculated. Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `varga` (string): The chart's code, such as `D9`.
- `divisions` (number): How many equal parts each sign is divided into.
- `signifies` (string): What this chart is used for.
- `ascendant` (object): The ascendant in this chart. Holds name, sign, sign_number, house.
- `positions` (array of objects): The nine planets in this chart. Holds name, sign, sign_number, house.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/chart/D9
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Jaimini: sign aspects, argala, chara dasha and karakas
`POST /v1/jaimini`
Returns the chart as read in the Jaimini system, with short readings. Jaimini is a second classical school of Vedic astrology. It uses the same planet positions as the main (Parashari) school used in the rest of this API, but reads them differently. Signs aspect signs, instead of planets aspecting houses. Dashas (planetary periods) are counted in signs. The karakas (significator planets) are set by each planet's degree, not by the signs a planet rules. So they change with the birth time.
The response has the chara karakas and the arudha padas (A1 to A12: how each house appears to the outside world). It also has sign aspects, argala and chara dasha.
**Sign aspects (rashi drishti) are not what `/v1/aspects` returns.** That endpoint gives planet aspects (graha drishti) counted in whole houses. Here, signs aspect other signs and no planet is involved. The twelve signs fall into three groups of four: movable, fixed and dual. Movable signs aspect the fixed signs except the one next to them. Fixed signs aspect the movable signs except the one just before them. Dual signs aspect the other dual signs. These aspects always work both ways.
**Argala** is the influence on a sign from planets in the 2nd, 4th and 11th signs from it. Planets in the 12th block the 2nd, the 10th blocks the 4th, and the 3rd blocks the 11th. Some texts add a 5th and 9th pair; it is intentionally not included (rulebook JM-04, the API's rule reference).
**Chara dasha** (a period system based on signs) exists in several versions that give different periods for the same chart. This API uses the common Parashari form. Every rule it applies is stated in the response and in rulebook JM-06. So you can check it and have it corrected if needed.
`chara_dasha.dated` gives the same periods with dates, from birth, in the local time of the birth place. After the first round of twelve, each sign runs again for 12 minus its first-round years, so the two rounds cover 144 years. Each period has 12 equal sub-periods (antardashas) with their dates (rulebook JM-09).
Add `?lang=hi` for Hindi.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `chara_karakas` (object) Holds Atmakaraka, Amatyakaraka, Bhratrikaraka, Matrikaraka, Putrakaraka, Gnatikaraka, Darakaraka.
- `padas` (object) Holds A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12.
- `rashi_drishti` (object) Holds Aries, Taurus, Gemini, Cancer, Leo, Virgo, Libra, Scorpio, Sagittarius, Capricorn, Aquarius, Pisces.
- `argala` (object) Holds Aries, Taurus, Gemini, Cancer, Leo, Virgo, Libra, Scorpio, Sagittarius, Capricorn, Aquarius, Pisces.
- `chara_dasha` (object) Holds direction, direction_rule, periods, cycle_years, rule, note, disputed, dated.
- `argala_readings` (array of objects) Holds from_house, from_sign, caused_by, obstructed_from_house, obstructed_from_sign, obstructed_by, obstructed, on, on_sign, text, language, detail.
- `gaps` (array)
- `language` (string)
- `detail` (string)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/jaimini
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Ashtakavarga: strength points for each sign
`POST /v1/ashtakavarga`
Ashtakavarga is a point system. There are eight contributors: the seven planets from the Sun to Saturn, plus the ascendant. Each one either gives a sign a point, called a bindu, or gives it nothing. The response has one table per planet (bhinna ashtakavarga), their total (sarva ashtakavarga), and short readings.
Most of this API says whether a placement is favorable or not. Ashtakavarga is the one measure that says **how much**. For example, a transit through a sign with two bindus is not the same as one through a sign with seven.
**Built-in check:** for any chart, the seven planet tables always hold exactly **337 bindus** in total. The chart decides how they are spread across the twelve signs, never how many there are. The service checks this on every request.
**Reductions are calculated but not applied.** Two standard reductions, trikona and ekadhipatya shodhana, are returned next to the raw figures, each labelled. They are not applied because the classical texts disagree about them. The texts differ on whether to use them at all, in what order, and how to handle signs that hold planets. See rulebook AV-04 (the API's rule reference).
**The ascendant's own table** (`lagna`) is read from the same eight contributors. It always holds **49 bindus** (also checked on every request) and is never added into the 337 (rulebook AV-07).
**Pindas** (`pindas`) are weighted totals of the reduced tables, for each planet and the ascendant. Rashi pinda weights each sign by a multiplier for that sign. Graha pinda weights the signs the planets occupy by a multiplier for each planet. Shodhya pinda is the sum of the two. They are computed on the ekadhipatya-reduced tables. Like the reductions, they are reported and not applied. Other software can give different rashi pindas, because the schools differ on the reductions and on one multiplier (rulebook AV-08).
Rahu and Ketu have no table in this system and do not contribute points.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `bhinna` (object) Holds Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn.
- `bhinna_by_sign_number` (object) Holds Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn.
- `totals` (object) Holds Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn.
- `sarva` (object) Holds Aries, Taurus, Gemini, Cancer, Leo, Virgo, Libra, Scorpio, Sagittarius, Capricorn, Aquarius, Pisces.
- `sarva_by_sign_number` (object) Holds 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.
- `sarva_total` (number)
- `reductions` (object) Holds trikona, ekadhipatya, applied, note.
- `lagna` (object) Holds bhinna, bhinna_by_sign_number, total, reductions, in_sarva, note.
- `pindas` (object) Holds by_table, computed_on, applied, multipliers, conventions, disputed, note.
- `rule` (string)
- `invariant` (string)
- `readings` (array of objects) Holds id, graha, sign, bindus, bindus_out_of, band, note, text, language, detail.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/ashtakavarga
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Planet and house strength (shadbala and bhava bala)
`POST /v1/shadbala`
Returns how strong each planet is (shadbala, meaning "six-fold strength") and how strong each of the twelve houses is (bhava bala). Use it to see how much of what a placement promises a planet can actually deliver.
The rest of this API judges strength from **dignity** alone, which is one of six sources and the roughest. Shadbala is the traditional full measure. It combines six kinds of strength: positional, directional, time-based, motional, natural and aspectual. Results are in **virupas**; 60 virupas make one rupa.
`ratio` is the planet's strength in rupas divided by the traditional minimum for that planet. **At 1.0 or above**, the planet is strong enough to deliver what its placement promises. Below 1.0, the placement still makes the same promise, but the planet may lack the strength to deliver it in full.
**The six parts are reported separately on purpose.** A planet that is strong by position and weak by time reads differently from one that is middling on both. A single total hides that.
**Built-in check:** natural strength (naisargika bala) is the same for every chart. The seven planets' values always add up to exactly **240 virupas**. The service checks this on every request, as ashtakavarga checks its 337 points.
`not_computed` lists any part that could not be calculated, and why. Nothing is set to zero and then added in as if it were real.
Shadbala is where published software most often differs. Here, directional strength (dig bala) is measured from the planet's exact **degree** to the **real angles** of the sky: the ascendant, the descendant, the midheaven (MC, the degree overhead) and the point opposite it. Hora strength uses 60-minute hours from sunrise. When two planets are at war (within one degree), the winner gains strength and the loser loses the same amount, shown as `yuddha` with `yuddha_detail`. See rulebook section SB (the API's rule reference).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `shadbala` (object) Holds grahas, ranked, unit, virupas_per_rupa, not_computed, note.
- `bhava_bala` (object) Holds houses, ranked, unit, not_computed, note.
- `reckoned_at` (object) Holds is_day, hora_lord, hora_rule, weekday_lord, vedic_weekday_index, part_fraction, solar_noon_fraction.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/shadbala
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Upagrahas: Gulika, Mandi, the kaala velas and the Dhoomadi points
`POST /v1/upagrahas`
Returns the upagrahas, sensitive points that are not planets. There are two groups, worked out in different ways.
**The kaala velas (the Gulikadi group) come from the clock.** The day, from sunrise to sunset, or the night, from sunset to the next sunrise, is cut into eight equal parts. The first part belongs to the lord of the weekday by day, and to the lord of the fifth weekday from it by night. The next six follow in weekday order, and the eighth part has no lord. The Sun's part gives Kaala, the Moon's Paridhi, Mars's Mrityu, Mercury's Ardhaprahara, Jupiter's Yamakantaka, Venus's Kodanda and Saturn's Gulika. Each point is the degree rising in the east at a moment of its part. Parashara takes the start of the part (`at_start`) and the Kalidasa method takes the end (`at_end`). Both are returned. `gulika` is the start of Saturn's part and `mandi` its end.
The parts are divided from the real sunrise and sunset at the birth place: the center of the Sun on the true horizon, without refraction, the classical astrological sunrise shared with shadbala and the special lagnas. Some software ends the parts a few minutes before sunset and lists only seven. This API keeps all eight, as the classical text (BPHS) does.
**The Dhoomadi group is arithmetic on the Sun.** Dhooma is the Sun plus 133 degrees 20 minutes, and Vyatipata, Parivesha, Indrachapa and Upaketu follow from it. No clock is involved. See rulebook section UG.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `kaala_velas` (object) Holds divided, from, to, weekday_lord, first_part_lord, parts, rule.
- `gulika` (object) Holds name, method, taken_at, longitude, sign, sign_number, degree_in_sign, degree_dms, nakshatra, nakshatra_lord, pada.
- `mandi` (object) Holds name, method, taken_at, longitude, sign, sign_number, degree_in_sign, degree_dms, nakshatra, nakshatra_lord, pada.
- `dhoomadi` (array of objects) Holds name, lord, rule, longitude, sign, sign_number, degree_in_sign, degree_dms, nakshatra, nakshatra_lord, pada.
- `dhoomadi_rule` (string)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/upagrahas
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Special lagnas, the yogi point, Jaimini lords and dagdha signs
`POST /v1/special-lagnas`
Returns the special lagnas (extra rising points) and related points used alongside the ascendant.
**Bhava, hora and ghati lagna** start at the Sun's degree at sunrise and move at a fixed pace. They move one sign every two hours, every hour, and every 24 minutes. **Pranapada** turns the time since sunrise into degrees. It adds them to the Sun, or to the 9th or 5th sign from it, depending on the Sun's sign. **Indu lagna** is counted from the Moon by the values of the two 9th lords, and is a sign with no degree. **Varnada lagna** combines the ascendant and the hora lagna as BPHS (the classical text) describes.
These move fast. The ghati lagna moves a degree and a quarter a minute. So a few minutes' difference in when sunrise is taken changes it by several degrees. `reckoned_from` gives the sunrise and the time since it (`ishtakaal`), so a difference from other software can be traced. This API takes sunrise as the center of the Sun crossing the true horizon, without refraction (the bending of light by the air) – the classical astrological sunrise. Civil calendars print the moment the top edge appears, three to four minutes earlier; that one is used for festivals and the daily panchang, not here.
**The yogi point** is the Sun plus the Moon plus 93 degrees 20 minutes. It names the yogi, the duplicate yogi and the avayogi. **Maheshwara**, **Rudra** and **Brahma** are Jaimini's lords of longevity. Rudra's `disputed` list names the other readings tried and the planet each gives. **Brahma never comes back null**: the primary reading (odd sign and houses 7-12 from the lagna) falls back to an odd sign in any house, then – only if every candidate sits in an even sign – to an odd HOUSE, whatever the sign. `stage` names which of the three decided it. Saturn, Rahu and Ketu are never returned: where one of them wins a stage, it is named `nominal` and `graha` is the 6th planet from it instead, with the other counting convention in `disputed`. A chart where every candidate is even in both sign and house still leaves `graha` null, with `found: false` and `not_found` saying why – rare, and never invented away. **Dagdha rashis** are the signs "burnt" by the birth tithi.
`not_computed` names what is left out and why: a separate Jaimini hora lagna, and Sree lagna. See rulebook section SL.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `reckoned_from` (object) Holds sunrise, sun_at_sunrise, ishtakaal, sunrise_convention.
- `bhava_lagna` (object) Holds longitude, sign, sign_number, degree_in_sign, degree_dms, nakshatra, nakshatra_lord, pada, rule.
- `hora_lagna` (object) Holds longitude, sign, sign_number, degree_in_sign, degree_dms, nakshatra, nakshatra_lord, pada, rule.
- `ghati_lagna` (object) Holds longitude, sign, sign_number, degree_in_sign, degree_dms, nakshatra, nakshatra_lord, pada, rule.
- `pranapada` (object) Holds longitude, sign, sign_number, degree_in_sign, degree_dms, nakshatra, nakshatra_lord, pada, sun_sign_quality, rule.
- `indu_lagna` (object) Holds sign, sign_number, ninth_lord_from_lagna, ninth_lord_from_moon, kalas, rule.
- `varnada_lagna` (object) Holds sign, sign_number, combined, rule.
- `yogi` (object) Holds yogi_point, yogi, duplicate_yogi, avayogi, avayogi_point.
- `jaimini` (object) Holds atmakaraka, maheshwara, rudra, brahma.
- `dagdha_rashis` (object) Holds tithi, burnt_signs, rule.
- `not_computed` (object) Holds jaimini_hora_lagna, sree_lagna.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/special-lagnas
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Divisional-chart strength, ishta and kashta phala, and planet friendships
`POST /v1/strength/vimshopaka`
Three parts of the traditional strength chapter that sit beside shadbala.
**Vimshopaka bala** scores each planet out of **20** by its dignity across a set of divisional charts. Four sets are returned: 6 charts (shadvarga), 7 (saptavarga), 10 (dashavarga) and 16 (shodashavarga). Each chart carries a weight. The planet earns all of the weight (20 twentieths) in its own sign. It earns 18, 15, 10, 7 or 5 twentieths when the sign's lord is its great friend, friend, neutral, enemy or great enemy. Friendship is the same five-fold friendship `/v1/shadbala` scores with. Exaltation is not a separate grade, as in the source text. `vargas` shows the working chart by chart.
**Ishta and kashta phala** are how much good and how much harm a planet is able to give, each out of 60. They come from its exaltation strength and its strength of motion in `/v1/shadbala`. Ishta is the square root of their product. Kashta is the square root of the product of what each falls short of 60. Some software prints the plain average instead. That figure is returned beside it as `mean_rule`.
**`maitri`** is the five-fold friendship table: natural, temporal (from this chart) and the two combined, for every pair of planets. Read it from row to column. It is not symmetric: one planet's view of another can differ from the reverse.
Rahu and Ketu are left out and named in `not_computed`: the traditional friendship table has no entry for them. See rulebook section VB.
`/v1/shadbala` is unchanged by this endpoint.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `grahas` (object) Holds Sun, Moon, Venus, Jupiter, Mercury, Mars, Saturn.
- `maitri` (object) Holds Sun, Moon, Venus, Jupiter, Mercury, Mars, Saturn.
- `scale` (object) Holds vimshopaka, phala.
- `weights` (object) Holds shadvarga, saptavarga, dashavarga, shodashavarga.
- `points` (object) Holds own, great_friend, friend, neutral, enemy, great_enemy.
- `not_computed` (array of objects) Holds component, reason.
- `basis` (object) Holds vimshopaka, phala, maitri.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/strength/vimshopaka
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Planet aspects (graha drishti)
`POST /v1/aspects`
Returns which houses and planets each planet aspects. In Vedic astrology an aspect (drishti) is a planet's influence on another house, counted in whole houses. The count starts at the planet's own house as 1, so the 7th aspect from house 1 falls on house 7.
Every planet aspects the 7th house from itself. Mars also aspects the 4th and 8th, Jupiter the 5th and 9th, and Saturn the 3rd and 10th.
`aspects_grahas` and `aspected_by` are exact inverses, so you can read the relationship from either side. Set `nodes=false` to leave out Rahu and Ketu, as the schools that give them no aspects do.
**`graded`** gives the strength of each aspect in virupas, from 0 to 60, for the seven planets from the Sun to Saturn. `graded.by_graha.Mars.on_grahas.Moon` is how strongly Mars aspects the Moon, and `on_houses` gives the same for each house. Strength grows and shrinks with the distance in degrees, and is full (60) at the opposite point. The special aspects of Mars, Jupiter and Saturn are also graded by degree, full only at their exact distance (Saturn 60 degrees, Mars 90, Jupiter 120, and so on). A house is measured at its middle on equal houses: the ascendant degree plus 30 degrees per house. Rahu and Ketu cast none here, whatever `nodes` says, but they are listed as targets. These are the same values `/v1/shadbala` uses for drik bala (rulebook SB-09).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `nodes`, `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `by_graha` (object) Holds Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu.
- `by_house` (object) Holds 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.
- `rule` (string)
- `include_nodes` (boolean)
- `graded` (object) Holds unit, by_graha, house_reference, casts_none, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/aspects
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
### Dasha
Dashas are planetary periods: a life is divided into periods, each ruled by one planet. Vimshottari is a 120-year cycle, returned with up to five levels of sub-periods and calendar dates. Yogini is a second system of 36 years. Ashtottari is a third, of 108 years, with a test of whether it applies to the chart. Narayana is a Jaimini dasha whose periods are run by signs, not planets.
Page: https://apiforastrology.com/astrology/docs/reference/dasha
#### Vimshottari dasha periods with dates
`POST /v1/dasha/vimshottari`
Returns the Vimshottari dasha timeline. Dashas are planetary periods. Vimshottari divides a 120-year cycle into nine periods, each ruled by one planet. The starting point comes from the Moon's nakshatra (one of 27 lunar mansions) at birth. Each period divides into sub-periods, down to five levels.
Set `levels` in the request body. 1 gives the main periods (mahadasha) and 2 adds sub-periods (antardasha). 3 adds the next level (pratyantardasha), and so on up to 5. The default is 3.
Every period has start and end dates in the local time of the birth place. The first main period is listed at its full length, so it starts before birth; `balance_at_birth_years` gives the part that remained at birth.
**The balance is measured by time.** How much of the first period was over at birth comes from how long the Moon had been in its birth nakshatra, out of the whole time it takes to cross it (bhayat over bhabhog). This is the classical method. Measuring by distance instead is the common software shortcut, and the two can differ by days, up to about a month. `balance_conventions` gives both, with the end of the first period under each and `shift_days` between them. Set `dasha_balance` to `longitude` to build every date on the distance balance. See rulebook DA-03.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`, `dasha_balance`, `levels`.
Main response fields:
- `system` (string)
- `year_length_days` (number)
- `moon_nakshatra_index` (number)
- `nakshatra_fraction_elapsed` (number)
- `starting_lord` (string)
- `balance_at_birth_years` (number)
- `balance_method` (string)
- `levels` (number)
- `periods` (array of objects) Holds lord, start, end, years, partial_at_birth, balance_years, periods.
- `balance_conventions` (object) Holds longitude, time, used, other, shift_days, sources_agree, note.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/dasha/vimshottari
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Yogini dasha periods (a 36-year cycle)
`POST /v1/dasha/yogini`
Returns the Yogini dasha timeline, a second system of dashas (planetary periods) next to Vimshottari. It starts from the same Moon position as Vimshottari. It also measures the time already passed at birth the same way, so the two systems always agree about the starting point.
Eight periods, each named for a yogini and ruled by a planet, add up to **36 years**. So the cycle repeats two or three times in a lifetime. By comparison, most people live through only three or four of Vimshottari's main periods (mahadashas). Two levels are returned, periods and sub-periods; a third level would be only days long.
The first period is listed at its full length, so it starts before birth; `balance_at_birth_years` gives the part that remained at birth.
Neither system overrides the other, and they are not averaged. See rulebook section YD (the API's rule reference).
`dasha_balance` works as it does on the Vimshottari route: `time` by default, `longitude` for the old distance balance. `balance_conventions` gives both. Use the same setting on both routes and they still agree.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`, `dasha_balance`.
Main response fields:
- `system` (string)
- `total_years` (number)
- `year_length_days` (number)
- `moon_nakshatra_index` (number)
- `nakshatra_fraction_elapsed` (number)
- `starting_yogini` (string)
- `balance_at_birth_years` (number)
- `balance_method` (string)
- `levels` (number)
- `periods` (array of objects) Holds yogini, lord, years, start, end, periods, partial_at_birth, balance_years.
- `balance_conventions` (object) Holds longitude, time, used, other, shift_days, sources_agree, note.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/dasha/yogini
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Ashtottari dasha periods (a 108-year cycle)
`POST /v1/dasha/ashtottari`
Returns the Ashtottari dasha timeline, a third system of dashas (planetary periods) next to Vimshottari and Yogini. Eight planets rule periods that add up to **108 years**. They are Sun 6, Moon 15, Mars 8, Mercury 17, Saturn 10, Jupiter 19, Rahu 12 and Venus 21. Ketu rules no period.
The starting period comes from the Moon's nakshatra (lunar mansion) at birth. Ashtottari counts 28 of them, including Abhijit, in groups of three or four from Ardra, and each group belongs to one planet. The part already passed at birth is measured by time (bhayat over bhabhog), the same way as Vimshottari and Yogini (rulebook DA-03). `dasha_balance` works as it does on the Vimshottari and Yogini routes: `time` by default, `longitude` for the old distance balance. `balance_method` names which was used, and `balance_conventions` gives both.
Set `levels` to 1, 2 or 3 for main periods, sub-periods and sub-sub-periods. The default is 3. The first main period is listed at its full length, so it starts before birth. `balance_at_birth_years` gives the part that remained at birth.
**Whether it applies.** The classical texts use Ashtottari only for some charts. `applicability` checks the two conditions. The first is Rahu in an angle or a trine counted from the ascendant's ruler, but not in the first house. The second is birth in the waning half of the lunar month by day, or in the waxing half by night. Sources differ on whether one condition is enough or both are needed. So `applicable` is true when either one holds, and `both_conditions_met` when both do. `sources_agree` says whether those two answers are the same. The periods are returned either way. See rulebook section AD (the API's rule reference).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`, `dasha_balance`, `levels`.
Main response fields:
- `system` (string)
- `total_years` (number)
- `year_length_days` (number)
- `balance_method` (string)
- `moon_nakshatra_index` (number)
- `nakshatra_fraction_elapsed` (number)
- `moon_star` (string)
- `star_fraction_elapsed` (number)
- `star_group` (object) Holds lord, position, of.
- `starting_lord` (string)
- `balance_at_birth_years` (number)
- `levels` (number)
- `periods` (array of objects) Holds lord, years, start, end, partial_at_birth, balance_years, periods.
- `balance_conventions` (object) Holds longitude, time, used, other, shift_days, sources_agree, note.
- `applicability` (object) Holds applicable, both_conditions_met, sources_agree, conditions, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/dasha/ashtottari
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Narayana dasha: the Jaimini sign periods
`POST /v1/dasha/narayana`
Returns the Narayana dasha timeline. It is a Jaimini dasha: each period is run by a sign, not a planet. It takes the same birth details as `/v1/dasha/vimshottari`.
**Where it starts.** The first period is the stronger of the ascendant sign and the sign opposite it (the 7th). Strength is tested rule by rule: more planets in the sign, then more of Jupiter, Mercury and the sign's own ruler joining or aspecting it, then more exalted planets, then the ruler sitting in a sign of the other kind (odd or even), then the ruler further through its sign. The first rule that separates the two decides. `start_comparison` shows every test that was run.
**Order.** The direction comes from the 9th sign from the starting sign. Saturn in the starting sign makes the periods run forward, one sign after another; Ketu there turns the direction around. Signs come in three kinds: movable, fixed and dual. A movable start takes the signs in order. A fixed start jumps six signs each time. A dual start takes each angle sign with its two trine signs (1, 5, 9, then 10, 2, 6, and so on).
**Length.** Count from the sign to its ruler, minus one, 12 for a ruler in its own sign. One year is added for an exalted ruler and taken off for a debilitated one. Each period carries `why`, the working.
`dated` gives both rounds of twelve with dates from birth, in the local time of the birth place. The second round runs each sign for 12 minus its first years, so the two total 144 years. Each period has 12 equal sub-periods (antardashas). A year is 365.25 days.
Where texts read a step differently, `choices` names the reading used, and `not_computed` lists what is left out. `intro` says in plain words what Narayana dasha is. Each period's `text` is the sign reading `/v1/jaimini` gives for chara dasha, without its opening line about chara dasha. See rulebook JM-10 to JM-13. Add `?lang=hi` for Hindi.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `system` (string)
- `starting_sign` (string)
- `start_comparison` (object) Holds stronger, sign_number, decided_by, steps, between.
- `direction` (string)
- `direction_rule` (string)
- `progression` (string)
- `progression_rule` (string)
- `exceptions_applied` (array)
- `periods` (array of objects) Holds sign, sign_number, lord, lord_sign, base_years, years, why, starts_after_years, text, reading_shared_with, language, detail.
- `cycle_years` (number)
- `rule` (string)
- `choices` (array of objects) Holds rule, step, chosen, other_reading.
- `not_computed` (array of strings)
- `note` (string)
- `dated` (object) Holds year_length_days, periods, total_years, second_cycle_rule, antardasha_rule, note.
- `intro` (object) Holds text, language, detail.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/dasha/narayana
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
### KP
Krishnamurti Paddhati (KP) is a school of its own. It uses its own ayanamsa (the starting point of the zodiac) and Placidus house cusps (the points where houses begin). Each planet and cusp gets its sign, star and sub lords, and each house gets its significators (the planets that deliver its results). KP is the only part of this API that uses Placidus cusps. Everywhere else houses are whole signs.
Page: https://apiforastrology.com/astrology/docs/reference/kp
#### Krishnamurti Paddhati: cusps, sub lords, significators
`POST /v1/kp`
Returns the birth chart as Krishnamurti Paddhati (KP) reads it. KP uses its own ayanamsa (the Krishnamurti value, about 6 arcminutes below Lahiri) and **Placidus** house cusps. The `ayanamsa` field in the request is ignored here, and the response names the ayanamsa it used.
**Placidus is used here only.** KP is defined on Placidus cusps, so this endpoint uses them. Every other endpoint keeps whole-sign houses, and a house number here is not a house number anywhere else.
**Sub lords.** Each nakshatra (one of 27 lunar mansions) is divided into nine subs. Their sizes follow the Vimshottari dasha years, starting from the nakshatra's own lord. Six subs cross a sign boundary, so the zodiac holds 249 pieces, numbered in `sub_number`. The service checks on every start that they cover the zodiac exactly. Each sub is divided the same way again for the sub-sub lord.
**Houses and significators.** A planet is in the house from its cusp up to the next cusp. For each house, `significators.by_house` gives the four KP levels, strongest first. First come planets in the star of an occupant (a planet in the house), then the occupants. Then come planets in the star of the cusp lord (the lord of the sign on the cusp), and last the cusp lord. `by_planet` gives the same thing from each planet's side. The levels are not scored.
**Ruling planets are for the birth moment.** They are the day lord (the day runs sunrise to sunrise) and the sign, star and sub lords of the ascendant and the Moon. For ruling planets at the time a question is asked, use `POST /v1/prashna/kp`.
**Part of Fortune.** `part_of_fortune` is ascendant + Moon - Sun, with its sign, star, sub and sub-sub lords and its KP house. KP uses this one formula for day and night births. Some other schools reverse it at night (ascendant + Sun - Moon). For a night birth that point is given in `other_formula` and `sources_agree` is false. It is not used, and the Part of Fortune is not counted as a significator. See `not_computed` and rulebook section KP (the API's rule reference).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `ayanamsa` (object) Holds name, value, degree_dms, lahiri_minus_kp.
- `house_system` (string)
- `cusps` (array of objects) Holds cusp, longitude, degree_in_sign, degree_dms, sign, sign_number, sign_lord, nakshatra, star_lord, sub_lord, sub_sub_lord, sub_number.
- `planets` (array of objects) Holds graha, longitude, degree_in_sign, degree_dms, sign, sign_number, sign_lord, nakshatra, star_lord, sub_lord, sub_sub_lord, sub_number.
- `significators` (object) Holds by_house, by_planet, levels.
- `ruling_planets` (object) Holds day_lord, lagna_sign_lord, lagna_star_lord, lagna_sub_lord, moon_sign_lord, moon_star_lord, moon_sub_lord, grahas, for, at.
- `part_of_fortune` (object) Holds point, longitude, degree_in_sign, degree_dms, sign, sign_number, sign_lord, nakshatra, star_lord, sub_lord, sub_sub_lord, sub_number.
- `not_computed` (object) Holds significator_grading, node_agency, ruling_planets_now, horary_numbers.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/kp
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
### Panchang
The panchang is the Hindu calendar's way of describing a day. It uses five elements: the lunar day, the Moon's nakshatra (one of 27 lunar mansions), yoga, karana and weekday. `/v1/panchang` reads them at a birth moment. `/v1/panchang/daily` and `/v1/panchang/month` need only a date and a place, and include the times each element changes.
Page: https://apiforastrology.com/astrology/docs/reference/panchang
#### Panchang at the birth moment
`POST /v1/panchang`
Returns the panchang for the birth moment. The panchang is the Hindu calendar's way of describing a moment. It uses five elements: tithi (the lunar day) and nakshatra (the Moon's lunar mansion, one of 27). Then yoga (one of 27 combinations of the Sun's and Moon's positions), karana (half of a lunar day) and vara (the weekday). The nakshatra comes with its ruling planet and pada (quarter).
In the Vedic calendar a day runs from sunrise to sunrise. So a birth before sunrise belongs to the previous weekday. `vara` is the ordinary calendar weekday and `vedic_vara` is the sunrise-to-sunrise one. Both are returned.
For a date and place without a birth, use `/v1/panchang/daily`.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `tithi` (object) Holds index, name, paksha, completion_percent.
- `yoga` (object) Holds index, name, completion_percent.
- `karana` (object) Holds index, name, completion_percent.
- `vara` (object) Holds index, name, lord.
- `vedic_vara` (object) Holds index, name, lord, before_sunrise.
- `note` (string)
- `nakshatra` (object) Holds name, lord, pada.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/panchang
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Daily panchang for a date and place, no birth data
`GET /v1/panchang/daily`
Returns the panchang for a date and place. No birth data is needed.
The panchang is the Hindu calendar's way of describing a day. It uses five
elements: tithi (the lunar day) and nakshatra (the Moon's lunar mansion,
one of 27). Then yoga (a combination of the Sun's and Moon's positions),
karana (half of a lunar day) and vara (the weekday). The response also has
sunrise and sunset, moonrise and moonset, the lunar month, the season and
the era years. It also has daily periods such as rahu kaal (a period
avoided for new starts), choghadiya and hora (traditional divisions of the
day).
The lunar month is named both ways: `masa.amanta` (Maharashtra, Gujarat
and South India, where a month ends at the new moon) and
`masa.purnimanta` (North India, where it ends at the full moon). They
differ only in a month's waning half. `calendar` chooses which goes in
`masa.name`; without it, amanta. `samvat.vikram_kartikadi` is the Vikram
year as Gujarat counts it, from the day after Diwali.
The day is read **at sunrise**, as the Hindu calendar does. The tithi of a
date is the one running when the Sun rises, not at midnight. Each element
has a start and end time, because most of them change during the day.
`changes` lists every change of tithi, nakshatra, yoga and karana from this
sunrise to the next. `bands` lists the parts of the day and special
periods. These are pradosh (around sunset), nishita (around midnight), dur
muhurta (periods to avoid) and brahma muhurta (before dawn). They also
include bhadra (the time of the Vishti karana, avoided for new starts). The
last is panchaka (when the Moon is in Kumbha or Meena, the signs Aquarius
and Pisces). The muhurta and festival endpoints use these same periods. So
they always agree with this endpoint about, for example, when bhadra ended.
Varjyam and amrit kaal are not calculated yet; they are listed in
`bands.not_computed` until their table is verified.
`good_for` says what kinds of activity the day suits. It is not a
muhurta (a chosen good time for one activity).
`day_yogas` lists the day's yogas made from the weekday and the Moon's
nakshatra, each with its start and end. `anandadi` is the Anandadi yoga
(one of 28, counted with Abhijit as a 28th nakshatra), marked
`auspicious` or `inauspicious`. It changes when the nakshatra changes.
`special_yogas` covers Sarvartha Siddhi, Amrit Siddhi, Visha, Dwipushkar,
Tripushkar, Ravi Yoga, Guru Pushya and Ravi Pushya. Each has
`forms_today` and its `spans`, so an empty list means "not today", not
"not checked". While Amrit Siddhi runs with its cancelling tithi it is
Visha yoga (inauspicious) instead: those spans say `was` and
`cancelled_by`, and `sources_agree: false` because some calendars list
them as Amrit Siddhi. `disha_shool` carries three INDEPENDENT directions
to avoid starting a trip toward, never merged into one: `direction` from
the weekday, `tithi_shool.spans` from the running lunar day (always
holds – every tithi maps to one of eight directions) and
`nakshatra_shool.spans` from the Moon's star (only four of 27 forbid a
direction, so most days hold none). `chandrashtama` lists all 12 Moon
signs and, for each, when today the Moon is in the 8th sign from it.
Every span is cut to this sunrise and the next one. Each name carries a
short reading.
Every parameter is optional. With none, the answer is for today in
Ujjain, India, so `GET /v1/panchang/daily` works on its own. For any
other place, send `latitude`, `longitude` and `timezone` together.
Optional inputs: `lang`, `detail`, `date`, `latitude`, `longitude`, `timezone`, `calendar`.
Main response fields:
- `date` (string)
- `place` (object) Holds latitude, longitude, timezone, timezone_info.
- `sun` (object) Holds rise, set.
- `moon` (object) Holds rise, set.
- `tithi` (object) Holds index, name, paksha, completion_percent, starts, ends.
- `nakshatra` (object) Holds name, lord, pada, starts, ends.
- `yoga` (object) Holds index, name, completion_percent, starts, ends.
- `karana` (object) Holds index, name, completion_percent, starts, ends.
- `vara` (object) Holds index, name, lord.
- `masa` (object) Holds name, paksha, adhika, kshaya, convention, starts, ends, amanta, purnimanta, rule.
- `ritu` (object) Holds name, season.
- `ritu_lunar` (object) Holds name, season.
- `samvat` (object) Holds shaka, vikram, vikram_kartikadi, note.
- `ayana` (string)
- `ayana_sidereal` (string)
- `reckoning` (object) Holds ritu, ayana, ritu_lunar, ayana_sidereal, note.
- `inauspicious` (object) Holds rahu_kaal, yamaganda, gulika_kaal.
- `auspicious` (object) Holds abhijit_muhurta.
- `muhurta` (object) Holds weekday_lord, conflicts, choghadiya, hora, rule, note, readings, gaps, language, detail.
- `reckoned_at` (string)
- `meta` (object) Holds ayanamsa, ayanamsa_value, ephemeris.
- `changes` (object) Holds tithi, karana, yoga, nakshatra.
- `bands` (object) Holds day_parts, pradosh, nishita, dur_muhurta, brahma_muhurta, bhadra, panchaka, rule, not_computed.
- `day_yogas` (object) Holds weekday, anandadi, special_yogas, rule, not_computed, readings, gaps.
- `disha_shool` (object) Holds weekday, direction, rule, tithi_shool, nakshatra_shool, reading.
- `chandrashtama` (object) Holds by_moon_sign, rule, reading.
- `good_for` (object) Holds reckoned_at, limbs, gaps, not_a_muhurta.
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/panchang/daily?date=2026-10-01&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
```
#### Tara bala: a daily rating from a birth nakshatra, no chart
`GET /v1/tara`
Returns tara bala for one or more days. Tara bala is a traditional daily rating. Count from the birth nakshatra to the day's nakshatra, and take the remainder after dividing by nine. The birth nakshatra is the lunar mansion (one of 27) that the Moon was in at birth. That gives one of nine taras. The 3rd, 5th and 7th are unfavorable.
Only the birth nakshatra is needed, not a birth time. Many people know their nakshatra from a family horoscope or from their name.
The day's nakshatra is read **at sunrise**, the same way `/v1/reading/daily` reads it. So the two endpoints agree for the same nakshatra and day. The nakshatra usually changes during the day, so every change and its tara is listed too.
Each tara carries its `reading`: what the day tends to suit, in plain words. Takes `?lang` and `?detail`.
Required inputs:
- `nakshatra` (query): Birth nakshatra (lunar mansion): its name in any common spelling, or its number from 1 to 27.
Optional inputs: `date`, `latitude`, `longitude`, `timezone`, `days`, `lang`, `detail`.
Main response fields:
- `birth_nakshatra` (object) Holds nakshatra, nakshatra_lord, number.
- `place` (object) Holds latitude, longitude, timezone, timezone_info.
- `days` (array of objects) Holds date, sunrise, at_sunrise, during_the_day.
- `rule` (string)
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/tara?nakshatra=Mrigashira&date=2026-10-01&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
```
#### Panchang calendar for a month, with festivals and fasts
`GET /v1/panchang/month`
Returns one row per calendar day (sunrise to sunrise). Each row has the tithi (lunar day), nakshatra (lunar mansion), yoga and karana running at sunrise, and when each one ends. It also has the lunar month and the day's festivals and vrats (fasting days). This is what a printed Hindu calendar shows.
The days come from the same calculations as `/v1/panchang/daily`, `/v1/festivals` and `/v1/vrats`. So they agree for the same date and place.
An element can start and end between two sunrises. It is then never the one running at sunrise and would be missed, so each such element is listed in `skipped`. Printed calendars mark these as kshaya (skipped) tithis.
Each row also has `day_yogas`: the day's Anandadi yogas and the special yogas that form (Sarvartha Siddhi, Amrit Siddhi, Visha, Dwipushkar, Tripushkar, Ravi Yoga, Guru Pushya, Ravi Pushya), with times. `disha_shool` is the direction to avoid starting a trip toward. Readings and chandrashtama are on `/v1/panchang/daily`.
Lunar months in this view are named the amanta way (each month ends at the new moon) unless `calendar` asks for purnimanta. Both names are in `masa`. Without `latitude`, `longitude` and `timezone`, the calendar is for Ujjain, India.
The first request for a year and place takes about 8 seconds. It builds that year's festival and fasting calendars first. Later requests are cached.
Required inputs:
- `year` (query): Calendar year, from 1850 to 2149.
- `month` (query): Month number, from 1 (January) to 12 (December).
Optional inputs: `latitude`, `longitude`, `timezone`, `lang`, `calendar`.
Main response fields:
- `year` (number)
- `month` (number)
- `place` (object) Holds latitude, longitude, timezone, timezone_info, note.
- `days` (array of objects) Holds date, weekday, sunrise, sunset, tithi, nakshatra, yoga, karana, masa, skipped, festivals, vrats.
- `convention` (string)
- `note` (string)
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/panchang/month?year=2026&month=10&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
```
### Interpretation
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.
Page: https://apiforastrology.com/astrology/docs/reference/interpretation
#### 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.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `formed` (array of objects) Holds name, category, rule, detail.
- `not_formed` (array of objects) 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.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/yogas
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### 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.
Required inputs:
- `name` (path): Which dosha: `manglik`, `kaalsarpa` or `pitra`; `all` for those three together; or `papa` for the papa samyam count.
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
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.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/dosha/manglik
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### 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.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `as_of`, `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
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) Holds starts, ends, complete, phases, breaks.
- `dhaiya` (array of objects) Holds kind, name, house_from_moon, labels, starts, ends, spans, breaks.
- `kantaka` (array of objects) 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.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/sadesati?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### 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).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `grahas` (array of objects) 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) 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.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/avasthas
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
### Remedies
Remedies a chart points to, each with the reason it was chosen. `/v1/remedies/rudraksha` picks rudraksha beads. `/v1/remedies/charity` and `/v1/remedies/fasting` give daan (charity) and vrat (fasting), each keyed on the planet the chart picks. The written remedies are reading sections: send the chart to `/v1/reading/section/{section_id}` with one of these ids. `topic:remedy-life-gemstone` and `topic:remedy-lucky-gemstone` give gemstones. `topic:remedy-rudraksha` gives the rudraksha reading, and `topic:remedy-lucky-mantra` the lucky mantra. `topic:remedy-havan-puja` covers havan (fire ritual) and puja. `topic:remedy-general` gives everyday remedies. `topic:remedy-sadesati` gives the remedies for sade sati (Saturn's 7.5-year transit). `topic:remedy-kaal-sarp` and `topic:remedy-pitra-dosha` give the remedies for those doshas (chart flaws).
Page: https://apiforastrology.com/astrology/docs/reference/remedies
#### Rudraksha recommendation: which bead, and why
`POST /v1/remedies/rudraksha`
Returns the rudraksha beads this chart points to, each with the reason it was chosen. A rudraksha is the seed of a tree linked with Shiva, worn as a bead. Its **mukhi** is the number of natural faces on it, and each mukhi is linked with one planet.
**Three ways a chart chooses a bead**, each reported in `reasons`:
- The lord of the ascendant, for life.
- The lord of the mahadasha (main period) running on `as_of`, for that period.
- The lord of the birth nakshatra, for life.
When two name the same planet, the bead is listed once with both reasons.
**The mukhi table is one school among several.** It is returned in `scheme`: 1 Sun, 2 Moon, 3 Mars, 4 Mercury, 5 Jupiter, 6 Venus, 7 Saturn, 8 Rahu, 9 Ketu. The period remedy in the reading uses the same table. For the Sun the twelve-mukhi is reported as `alternative`, since it is the bead more often worn.
**Wearing guidance** is limited to the day to begin, the thread color, the metal if capped, and the planet's beeja mantra. Nothing here is a health claim or a guarantee: `not_claimed` says so, and the `not_a_guarantee` text says it in the reader's language. A bead with a caution is still returned, with `caution` beside it. Examples are the Rahu and Ketu beads, worn for a period, and the rare one-mukhi. See rulebook RM-06 to RM-08.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `recommended` (array of objects) Holds mukhi, graha, deity, wearing, selected_by, reasons, notes, title, reading.
- `dasha_lord` (string)
- `scheme` (object) Holds provenance, table, note.
- `not_claimed` (array of strings)
- `not_computed` (array of strings)
- `as_of` (string)
- `framing` (object) Holds title, text, language, detail.
- `not_a_guarantee` (object) Holds title, text, language, detail.
- `gaps` (array)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/remedies/rudraksha?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Charity (daan) this chart points to, and why
`POST /v1/remedies/charity`
Returns what to give, to whom and on which day, in sets chosen from this chart, each with the reason it applies. Each entry has `daan_items` (things to give), `give_to` (who to give them to) and `day`. The list is the classical one for each planet: its grain, its color, its metal and the people it stands for. See rulebook RM-10 and RM-11.
**How a set is chosen.** Every remedy list picks its planets the same way, so the lists agree. `dasha_lord`: the planet whose mahadasha (main period) runs on `as_of`. `sub_period`: the planet whose antardasha (sub-period) runs on `as_of`, with `starts`, `ends` and the `next` sub-period. The first sub-period of a mahadasha is the same planet, so it is listed in `not_applicable` as `same_lord`. `lagna_lord`: the ruler of the rising sign, for life. `sade_sati`: Saturn, while a sade sati passage runs. `manglik` (Mars), `kaalsarpa` (Rahu and Ketu) and `pitra` (the Sun, with `tithi: Amavasya`, the new-moon day): only when `/v1/dosha/all` reports that dosha present. A set that does not apply is in `not_applicable` with why, and sade sati with the date it next starts.
Each set has `entries`, one per planet. A planet named by more than one set is listed under each with its own reason; `grahas` lists each planet once with the sets that name it. `day` is the planet's weekday. Rahu and Ketu rule no weekday, so their day carries `day_review` naming the other days sources give. Nothing here is a promise of a result: `not_claimed` says so, and `not_a_guarantee` says it in the reader's language.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `kind` (string)
- `sets` (array of objects) Holds set, why, ends, entries, title, reading.
- `grahas` (array of objects) Holds graha, sets.
- `not_applicable` (array of objects) Holds set, why, next_starts, title, reading.
- `not_claimed` (array of strings)
- `as_of` (string)
- `framing` (object) Holds title, text, language, detail.
- `not_a_guarantee` (object) Holds title, text, language, detail.
- `gaps` (array)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/remedies/charity?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Fasting (vrat) this chart points to, and why
`POST /v1/remedies/fasting`
Returns which weekday fasts to keep, in sets chosen from this chart, each with the reason it applies. A fast here is one simple meal on the planet's day (`fast: one_meal`); each entry has `day`, `foods` (what that meal can be) and `no_salt` (true where the fast is commonly kept without salt).
**Every response carries `caution`**, in the reader's language and length: skip or soften the fast when pregnant, unwell, older or on medicine, and ask a doctor first. Show it with the list. See rulebook RM-10 to RM-12.
**How a set is chosen.** Every remedy list picks its planets the same way, so the lists agree. `dasha_lord`: the planet whose mahadasha (main period) runs on `as_of`. `sub_period`: the planet whose antardasha (sub-period) runs on `as_of`, with `starts`, `ends` and the `next` sub-period. The first sub-period of a mahadasha is the same planet, so it is listed in `not_applicable` as `same_lord`. `lagna_lord`: the ruler of the rising sign, for life. `sade_sati`: Saturn, while a sade sati passage runs. `manglik` (Mars), `kaalsarpa` (Rahu and Ketu) and `pitra` (the Sun, with `tithi: Amavasya`, the new-moon day): only when `/v1/dosha/all` reports that dosha present. A set that does not apply is in `not_applicable` with why, and sade sati with the date it next starts.
Each set has `entries`, one per planet. A planet named by more than one set is listed under each with its own reason; `grahas` lists each planet once with the sets that name it. `day` is the planet's weekday. Rahu and Ketu rule no weekday, so their day carries `day_review` naming the other days sources give. Nothing here is a promise of a result: `not_claimed` says so, and `not_a_guarantee` says it in the reader's language.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `kind` (string)
- `sets` (array of objects) Holds set, why, ends, entries, title, reading.
- `grahas` (array of objects) Holds graha, sets.
- `not_applicable` (array of objects) Holds set, why, next_starts, title, reading.
- `not_claimed` (array of strings)
- `as_of` (string)
- `framing` (object) Holds title, text, language, detail.
- `not_a_guarantee` (object) Holds title, text, language, detail.
- `caution` (object) Holds title, text, language, detail.
- `gaps` (array)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/remedies/fasting?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Life gemstone
`POST /v1/reading/section/topic:remedy-life-gemstone`
The gemstone for life, chosen from the ascendant lord, with why and how to wear it.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/topic:remedy-life-gemstone?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Lucky gemstone
`POST /v1/reading/section/topic:remedy-lucky-gemstone`
The gemstone for the period you are in now, chosen from the running mahadasha lord. Add `as_of` (YYYY-MM-DD) to read it for another date.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/topic:remedy-lucky-gemstone?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Rudraksha reading
`POST /v1/reading/section/topic:remedy-rudraksha`
The rudraksha bead for the period you are in now, as a written reading. For the beads and their reasons as data, use the rudraksha endpoint above. Add `as_of` (YYYY-MM-DD) to read it for another date.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/topic:remedy-rudraksha?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Lucky mantra
`POST /v1/reading/section/topic:remedy-lucky-mantra`
The beej (seed) mantra of the running mahadasha lord, with its japa count (how many times to say it) and its deity. Add `as_of` (YYYY-MM-DD) to read it for another date.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/topic:remedy-lucky-mantra?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Havan and puja
`POST /v1/reading/section/topic:remedy-havan-puja`
The havan (fire ritual) and puja that suit the running mahadasha lord. Add `as_of` (YYYY-MM-DD) to read it for another date.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/topic:remedy-havan-puja?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### General remedies
`POST /v1/reading/section/topic:remedy-general`
Everyday remedies for the period you are in now, chosen from the running mahadasha lord. Add `as_of` (YYYY-MM-DD) to read it for another date.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/topic:remedy-general?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Sade sati remedies
`POST /v1/reading/section/topic:remedy-sadesati`
Remedies for sade sati, Saturn's 7.5-year transit around your Moon sign. An empty `blocks` list means it does not apply to this chart. Add `as_of` (YYYY-MM-DD) to read it for another date.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/topic:remedy-sadesati?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Kaal sarp remedies
`POST /v1/reading/section/topic:remedy-kaal-sarp`
Remedies for kaal sarp dosha, when all seven planets from the Sun to Saturn sit on one side of Rahu and Ketu. An empty `blocks` list means it does not apply to this chart.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/topic:remedy-kaal-sarp?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Pitra dosha remedies
`POST /v1/reading/section/topic:remedy-pitra-dosha`
Remedies for pitra dosha, a duty to your ancestors read from the ninth house.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/topic:remedy-pitra-dosha?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
### Transits
Transits compare where the planets are now with where they were at birth (in Vedic astrology this is called gochara). The current-transit endpoint reads each planet from the birth Moon. It also applies vedha, a traditional rule by which one transiting planet blocks another's effect. The calendar endpoints give dates, and the `/v1/sky` endpoints describe the sky itself, with no chart. Every result names the rule it used.
Page: https://apiforastrology.com/astrology/docs/reference/transits
#### Yearly forecast: a year of sky events read against a chart
`POST /v1/forecast/annual`
Returns every dated sky event in one calendar year, and what each one means for this chart. The events are ingresses (a planet entering a new sign) and retrograde periods (a planet appearing to move backward). They also include combustion periods (a planet too close to the Sun) and two tracked conjunctions: Venus with Jupiter, and the Sun with Mars. Readings are grouped into `sections`.
**The result is personal to the chart.** Most annual horoscopes base the whole year on the ascendant (the rising sign). So everyone with the same rising sign gets the same twelve months. Here each event also has the house it falls in for this chart and the house counted from the birth Moon. It also has the traditional transit (gochara) result for that planet there. Two people with the same ascendant born two weeks apart have the Moon in different places, so they get different results.
**Facts and conventions are kept apart.** Ingresses and stations (the moments a planet appears to stop before changing direction) are facts. A sign boundary is a definition, and a station is when the planet's apparent motion passes through zero. Both match an independently produced 2026 calendar to the day. Combustion and conjunction periods depend on an **orb**: how close two bodies must be to count as together. Sources differ on the orb, so each event states the orb it used.
**The Moon is left out on purpose.** It changes sign about every two days, so it would bury the year under about 150 ingresses. The `topic:monthly-days` reading section covers the Moon over a shorter window.
Dates are in the birth time zone. An event already running on January 1 did not start then, and `started_before_the_year` says so. See rulebook section AN (the API's rule reference).
**Uses 25 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `year` (query): Calendar year to report, from 1850 to 2149. Dates are given in the birth time zone.
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `year` (number)
- `sections` (array of objects) Holds id, title, family, text, language, detail, events.
- `events` (array of objects) Holds kind, graha, starts, ends, starts_at, ends_at, started_before_the_year, runs_past_the_year, orb_degrees, reading.
- `counts` (object) Holds events.
- `note` (string)
- `gaps` (array)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/forecast/annual?year=2026
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Current transits read against a chart
`POST /v1/transits`
Returns where each planet is on `as_of` and how it affects this chart. For each planet you get its sign and which house that sign is, counted from the birth Moon. You also see whether the traditional result for that house is favorable. And you see whether another transiting planet in the **vedha** house is blocking it. Vedha is a traditional rule: a planet's transit effect is blocked when another planet occupies a paired house.
Both results are returned. `result` is the plain transit result; `net` is what remains after vedha. A blocked transit is cancelled, not reversed: it gives neither its good nor its bad effect.
A transit report that ignores vedha overstates the favorable transits. At any moment, a good share of them are blocked. See rulebook section TR (the API's rule reference) for the tables.
Transits (gochara) are counted from the **birth Moon**, because the traditional result tables are based on it. The house counted from the ascendant is also given, since many astrologers read it too. But no result is based on it here.
Dates allow for retrograde motion. A planet near a sign boundary often crosses it three times. So each re-entry is marked instead of being smoothed away.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `as_of`, `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `as_of` (string)
- `natal_moon_sign` (string)
- `ascendant_sign` (string)
- `transits` (array of objects) Holds graha, sign, sign_number, house_from_moon, house_from_ascendant, result, vedha_house, obstructed_by, obstructed, net, speed, retrograde.
- `summary` (object) Holds favorable, unfavorable, obstructed.
- `rule` (string)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/transits?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Upcoming transit periods for a chart
`POST /v1/transits/forecast`
The forward-looking version of `/v1/transits`. That endpoint says where Saturn is now; this one says how long it stays and what comes next.
Each period is one planet in one house (counted from the birth Moon). It has its dates and the traditional result, and periods come in date order.
**Vedha is not applied to future periods, on purpose.** Vedha (one planet blocking another's effect) depends on where every other planet is. That changes many times during a period that can last years. So a single verdict would be wrong for most of it. `result` here is the result without vedha. For one specific day, call `/v1/transits` with that `as_of`.
A planet that changes house too often to be worth listing is left out. It is named in `omitted`, with a count. Over a year the Moon changes house about 160 times. In a window of 31 days or less the Moon is always listed.
Each period carries a `reading`: `stay` says what a stay of that planet's length means for your month or year, and `about` what the house brings. A stay running past `to` also carries `leaves`, the day it really ends. Takes `?lang` and `?detail`.
Transits (gochara) are counted from the **birth Moon**, because the traditional result tables are based on it. The house counted from the ascendant is also given, since many astrologers read it too. But no result is based on it here.
Dates allow for retrograde motion. A planet near a sign boundary often crosses it three times. So each re-entry is marked instead of being smoothed away.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `from`, `to`, `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `from` (string)
- `to` (string)
- `natal_moon_sign` (string)
- `periods` (array of objects) Holds graha, house_from_moon, sign, starts, ends, entry_known, exit_known, resumes_visit, result, vedha_house, bindus, strength.
- `omitted` (array of objects) Holds graha, reason.
- `vedha_applied` (boolean)
- `rule` (string)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/transits/forecast?from=2026-10-01&to=2026-12-31
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### When a planet enters and leaves each sign
`POST /v1/transits/ingresses/{graha}`
Returns the sign-by-sign calendar for one planet over a date range, in date order. An ingress is a planet entering a new sign.
Retrograde motion can take a planet back into a sign it just left. The return is then a separate row with `resumes_visit: true`. This matches what actually happens and how printed planetary tables show it. For example, Jupiter moves from Gemini into Cancer, goes back into Gemini for a while, then enters Cancer again. Merging those rows would hide a real event.
`entry_known` and `exit_known` are false when the start or end of the date range cuts a row off. They are true when an actual ingress starts or ends it.
Fast planets cannot be scanned over long ranges (the Moon changes sign about every two and a quarter days). A range that is too wide is rejected with a 422 error (`window_too_wide`) instead of being served slowly.
Transits (gochara) are counted from the **birth Moon**, because the traditional result tables are based on it. The house counted from the ascendant is also given, since many astrologers read it too. But no result is based on it here.
Dates allow for retrograde motion. A planet near a sign boundary often crosses it three times. So each re-entry is marked instead of being smoothed away.
Required inputs:
- `graha` (path): The transiting planet (graha), such as `Saturn`.
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `from`, `to`, `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `graha` (string)
- `from` (string)
- `to` (string)
- `ingresses` (array of objects) Holds sign, sign_number, enters, leaves, entry_known, exit_known, resumes_visit, retrograde_re_entry.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/transits/ingresses/Saturn?from=2026-10-01&to=2026-12-31
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### When a transiting planet passes over a birth-chart point
`POST /v1/transits/over/{graha}`
Returns the periods when the transiting planet (`graha`) moves through the sign of a point in the birth chart. Use `target=Moon` for the traditional "Saturn over the Moon", `target=ascendant` for the rising sign, or any planet name.
The birth-chart point is reduced to its **sign**, because this API uses whole-sign houses throughout. So this means Saturn anywhere in the Moon's sign, not Saturn within a few degrees of the Moon. A degree-based conjunction would make a distinction the whole-sign house model cannot express.
Retrograde motion can take the planet briefly out of the sign. The result is then one period with a `break` in it, not two periods.
Transits (gochara) are counted from the **birth Moon**, because the traditional result tables are based on it. The house counted from the ascendant is also given, since many astrologers read it too. But no result is based on it here.
Dates allow for retrograde motion. A planet near a sign boundary often crosses it three times. So each re-entry is marked instead of being smoothed away.
Required inputs:
- `graha` (path): The transiting planet (graha), such as `Saturn`.
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `target`, `from`, `to`, `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `graha` (string)
- `target` (string)
- `natal_sign` (string)
- `from` (string)
- `to` (string)
- `windows` (array)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/transits/over/Saturn?from=2026-10-01&to=2026-12-31
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Planet positions at a moment, no chart
`GET /v1/sky`
Returns every planet's position at one moment: sign, degree, nakshatra (lunar mansion) and pada (quarter of a nakshatra). It also says whether each planet is retrograde (appears to move backward) or combust (too close to the Sun). This is the sky for everyone, so it needs no birth data and has no houses.
The positions and the combustion rule are the same ones the transit and birth chart endpoints use. So this endpoint always agrees with them. Rahu and Ketu are always reported as retrograde, as everywhere in this API, because tradition treats them that way; `speed` still gives their actual motion.
Optional inputs: `at`, `timezone`, `node`, `lang`.
Main response fields:
- `at` (string)
- `timezone` (number)
- `timezone_info` (object) Holds source, offset_hours, zone, abbreviation, dst, note.
- `grahas` (array of objects) Holds graha, longitude, sign, sign_number, degree_in_sign, nakshatra, nakshatra_lord, pada, speed, retrograde, combust.
- `meta` (object) Holds ayanamsa, ayanamsa_value, node, ephemeris.
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/sky?at=2026-10-01T12%3A00
```
#### Calendar of sky events, no chart
`GET /v1/sky/events`
Returns the sky events between two dates. They are ingresses (a planet entering a new sign), and retrograde periods with their stations (when a planet appears to stop and turn). They also include combustion periods (a planet too close to the Sun). The last are the tracked conjunctions: Venus with Jupiter, and the Sun with Mars. These are the same events `/v1/forecast/annual` places in a chart, before any chart is involved.
Events are calculated one calendar year at a time. An event that runs across New Year is **joined** into one. So Jupiter entering Leo on October 31 reads as one stay, not two. The calculation starts a year before `from`, so an event already running has its real start date. If it started even earlier, `starts_known` is false, instead of a date that only marks where the calculation began. `started_before_the_window` and `runs_past_the_window` say how each event sits against the dates you asked for.
Each calendar year is calculated once and then cached; the first request for a year takes about 2.5 seconds.
Dates are in `timezone`. With a zone name such as `America/Los_Angeles`, each date uses the offset in force on that date. So daylight saving time is followed. `timezone` and `timezone_info` in the response describe the `from` date.
Stations are facts. Combustion and conjunctions depend on an orb (how close two bodies must be to count as together). Each event states the orb it used. The Moon is left out, because it changes sign about every two days.
Optional inputs: `from`, `to`, `timezone`, `kind`, `node`, `lang`.
Main response fields:
- `from` (string)
- `to` (string)
- `timezone` (number)
- `timezone_info` (object) Holds source, offset_hours, zone, abbreviation, dst, note.
- `events` (array of objects) Holds kind, graha, starts, ends, starts_at, ends_at, sign, starts_known, ends_known, started_before_the_window, runs_past_the_window.
- `counts` (object) Holds ingress, retrograde, combust, conjunction.
- `note` (string)
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/sky/events?from=2026-10-01&to=2026-12-31
```
### Matching
Compatibility between two people, as used for marriage matching in India. The main result is the 36-point ashtakoot score, built from eight factors called kootas. The response also shows the standard exceptions that cancel a zero score on a factor, and checks that are reported outside the score. A forecast for a couple is here too. The score is not symmetric, so requests name the two people `bride` and `groom`.
Page: https://apiforastrology.com/astrology/docs/reference/matching
#### Marriage compatibility score (ashtakoot, 36 points)
`POST /v1/matching`
Returns the ashtakoot compatibility score for two people, out of 36 points, factor by factor, with readings. Ashtakoot (also called guna milan) is the traditional Vedic marriage-matching score. It has eight factors called kootas, worth 1 to 8 points each. Each result lists the conditions that qualify it.
**The score uses only the two Moons:** each person's Moon nakshatra (lunar mansion) and Moon sign. Nothing else in either chart affects it. Keep that in mind before treating the number as a verdict on two people.
**Standard exceptions are applied, and shown.** Two factors, nadi and bhakoot, are worth 15 points together, and each scores all or nothing. A zero on either can drop a couple below the usual pass mark of 18. The texts that describe these problems (doshas) also give exceptions that cancel them. `total` is the raw score and `total_after_cancellation` is the score with the exceptions applied. Both are returned, so you can ignore an exception you do not accept.
**Rajju, vedha and the Mars (mangal) comparison carry no points.** They are reported next to the score, not added to it. When both people are manglik, tradition holds that the two cancel out; the case tradition warns about is one manglik person and one who is not. Each person in `mangal` has a `grade`: `present` (found counting from the ascendant or the Moon, the main check), `partial` (found only from Venus, a milder sign) or `absent`. `mangal.balance` names the pairing. Only `present` beside `absent` (`one_sided`) is a concern; `present` beside `partial` is noted in the conclusion, not counted.
The response also has `dashakoot`, ten pass-or-fail checks (poruthams) used in South India. It also has `papasamyam`, which compares the two people's malefic planet counts (see `/v1/dosha/papa`).
Pass `as_of` with a proposed wedding date to add the dasha sandhi check. Dasha sandhi is the junction between two main planetary periods (mahadashas), traditionally avoided for weddings. Here it means the first or last sub-period of a main period. The check says whether either person is in one on that date.
The request names the two people `bride` and `groom` because the score is not symmetric: swapping them can change it.
The tables are in rulebook section **KM** (the API's rule reference), marked as school choices where the classical texts differ.
Required inputs:
- `bride` (body): The date, time and place of birth. Endpoints that read a birth chart take this as the request body.
- `groom` (body): The date, time and place of birth. Endpoints that read a birth chart take this as the request body.
Optional inputs: `lang`, `detail`, `as_of`.
Main response fields:
- `bride` (object) Holds nakshatra, nakshatra_lord, moon_sign.
- `groom` (object) Holds nakshatra, nakshatra_lord, moon_sign.
- `kootas` (object) Holds varna, vashya, tara, yoni, graha_maitri, gana, bhakoot, nadi.
- `total` (number)
- `out_of` (number)
- `cancellations` (array)
- `total_after_cancellation` (number)
- `band` (object) Holds band, note, text, language, detail.
- `rajju` (object) Holds bride, groom, dosha, signifies, rule, note, text, language, detail.
- `vedha` (object) Holds dosha, bride, groom, rule, note, text, language, detail.
- `mangal` (object) Holds bride, groom, balance, matched, verdict, rule, grading, note, text, language, detail.
- `dashakoot` (object) Holds poruthams, order, agreed, out_of, matched, essential, essential_failed, borrowed_from_ashtakoot, rule, not_scored, note, text.
- `papasamyam` (object) Holds bride, groom, bride_count, groom_count, excess_on_bride, balanced, verdict, rule, no_tolerance_applied, note, text, language.
- `cross_affliction` (object) Holds bride_seventh_lord, groom_seventh_lord, afflicted, afflicted_directions, provenance, rule, basis, not_classical.
- `note` (string)
- `dasha_sandhi` (object) Holds as_of, bride, groom, in_sandhi, clear, rule, note, text, language, detail.
- `conclusion` (object) Holds verdict, serious, concerns, strengths, noted, not_checked, total, out_of, essential_failed, rule, headline, next.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `meta` (object) Holds bride, groom.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/matching?as_of=2026-10-01
{
"bride": {
"year": 1992,
"month": 3,
"day": 22,
"hour": 14,
"minute": 45,
"second": 0,
"latitude": 41.8781,
"longitude": -87.6298,
"timezone": "America/Chicago"
},
"groom": {
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
}
```
#### Compatibility score from two nakshatras, no birth charts
`POST /v1/matching/nakshatra`
Returns the 36-point ashtakoot score, its standard exceptions, rajju, vedha and the ten poruthams (South Indian pass-or-fail checks). It uses only each person's Moon nakshatra (lunar mansion) and pada (quarter of a nakshatra). Use it when the two people know their nakshatras but not their birth times.
**The score is the same as with full charts.** Every scoring factor uses only the two Moons, so this runs the same calculation as `/v1/matching`. The same pair of nakshatras scores the same on both endpoints.
**What needs full charts** is listed in `not_computed`: the Mars (mangal) comparison and papa samyam need Mars and the other malefic planets; reading the two whole charts against each other needs both charts; and the dasha sandhi check needs the birth dates.
The pada is required because it fixes the Moon's sign, which the bhakoot, varna, vashya and graha maitri factors use.
Required inputs:
- `bride` (body): A Moon position given as a nakshatra and pada, with no birth time needed. A nakshatra is one of 27 lunar mansions, and a pada is one of its four quarters.
- `groom` (body): A Moon position given as a nakshatra and pada, with no birth time needed. A nakshatra is one of 27 lunar mansions, and a pada is one of its four quarters.
Optional inputs: `lang`, `detail`.
Main response fields:
- `bride` (object) Holds nakshatra, nakshatra_lord, moon_sign, pada.
- `groom` (object) Holds nakshatra, nakshatra_lord, moon_sign, pada.
- `kootas` (object) Holds varna, vashya, tara, yoni, graha_maitri, gana, bhakoot, nadi.
- `total` (number)
- `out_of` (number)
- `cancellations` (array of objects) Holds koota, granted, reason.
- `total_after_cancellation` (number)
- `band` (object) Holds band, note, text, language, detail.
- `rajju` (object) Holds bride, groom, dosha, signifies, rule, note, text, language, detail.
- `vedha` (object) Holds dosha, bride, groom, rule, note, text, language, detail.
- `dashakoot` (object) Holds poruthams, order, agreed, out_of, matched, essential, essential_failed, borrowed_from_ashtakoot, rule, not_scored, note, text.
- `note` (string)
- `conclusion` (object) Holds verdict, serious, concerns, strengths, noted, not_checked, total, out_of, essential_failed, rule, headline, next.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `not_computed` (array of strings)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/matching/nakshatra
{
"bride": {
"nakshatra": "Mrigashira",
"pada": 1
},
"groom": {
"nakshatra": "Mrigashira",
"pada": 1
}
}
```
#### Each person's planets placed in the other's chart
`POST /v1/matching/parasparam`
Places each person's planets in the other person's houses (bhavas). For example, his Jupiter may fall in her 7th house, or her Saturn in his 4th. This is the part `/v1/matching` leaves out, because its 36 points use only the two Moons. Rulebook KM-10 (the API's rule reference) names this gap. Readings are included.
**Not symmetric, so it is returned both ways.** His planets in her houses is a different reading from hers in his. Neither is averaged into the other.
**Nothing is scored.** Tradition gives no point value for a planet landing in another person's house. A total here would look like the 36-point score while resting on nothing. Instead, placements are grouped by the kind of house. The kinds are kendra (angular houses 1, 4, 7 and 10) and trikona (trine houses 1, 5 and 9). Then dusthana (difficult houses 6, 8 and 12) and upachaya (growth houses 3, 6, 10 and 11). They are also grouped by the relationship themes they bear on. Benefic (helpful) and malefic (harmful) planets are counted separately and never netted off.
The marriage houses (7, 2 and 4) and the friendship houses (11, 5 and 3) are weighed separately. So "would these two be good friends?" and "should these two marry?" can get different answers.
A composite (midpoint) chart and degree-based aspects between the two charts are **not** calculated. They come from Western astrology and have no counterpart here. See rulebook section PS.
Required inputs:
- `bride` (body): The date, time and place of birth. Endpoints that read a birth chart take this as the request body.
- `groom` (body): The date, time and place of birth. Endpoints that read a birth chart take this as the request body.
Optional inputs: `lang`, `detail`.
Main response fields:
- `bride_grahas_in_groom_houses` (object) Holds by_house, placements, host_ascendant.
- `groom_grahas_in_bride_houses` (object) Holds by_house, placements, host_ascendant.
- `marriage_bhavas` (object) Holds bride_on_groom, groom_on_bride, read_from, text, language, detail.
- `friendship_bhavas` (object) Holds bride_on_groom, groom_on_bride, read_from, text, language, detail.
- `conjunctions` (array of objects) Holds first, second, sign, same_graha.
- `bride_aspects_groom` (array of objects) Holds from, to, in_sign, special.
- `groom_aspects_bride` (array of objects) Holds from, to, in_sign, special.
- `cross_affliction` (object) Holds bride_seventh_lord, groom_seventh_lord, afflicted, afflicted_directions, provenance, rule, basis, not_classical.
- `rule` (string)
- `asymmetric` (string)
- `not_scored` (string)
- `not_computed` (array of strings)
- `framing` (object) Holds title, text, language, detail.
- `readings` (object) Holds conjunctions, bride_aspects_groom, groom_aspects_bride.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `meta` (object) Holds bride, groom.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/matching/parasparam
{
"bride": {
"year": 1992,
"month": 3,
"day": 22,
"hour": 14,
"minute": 45,
"second": 0,
"latitude": 41.8781,
"longitude": -87.6298,
"timezone": "America/Chicago"
},
"groom": {
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
}
```
#### Love, career or wealth forecast for a couple
`POST /v1/forecast/couple/{theme}`
Returns each person's own forecast for one theme (`love`, `career` or `wealth`). It also shows what neither forecast shows alone: what the two people **share**.
**A transit is one sky event, read twice.** Jupiter entering Cancer is a single fact. But it falls in a different house for each person, because houses are counted from each person's own rising sign (lagna). Whether it helps or tests is still counted from each person's birth Moon. When the same event lands in both people's theme houses at once, that is a real joint signal. It is the one thing here you could not get by reading two forecasts side by side. Both house numbers are returned; merging them would invent a house the sky does not have.
**Periods overlap by date.** The two people run different dashas (planetary periods). What matters is the stretch when **both** are in a period whose ruling planet relates to the theme. Periods weigh more than transits, so this is the more significant overlap.
**Nothing is merged and nothing is scored.** Two charts are not averaged into one, because the result would describe a person who does not exist; this is why no composite chart is offered (rulebook PS-05, the API's rule reference). For `love`, the response also shows how each person's planets fall in the other's marriage houses (as in `/v1/matching/parasparam`). That part does not change with the date range. See rulebook section OL.
**The date range is one year by default and 12 months at most.** A longer range returns 422; ask for the next months in another call.
The request names the two people `bride` and `groom`, as in `/v1/matching`.
**Uses 6 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `theme` (path): The theme to follow: `love`, `career` or `wealth`.
- `bride` (body): The date, time and place of birth. Endpoints that read a birth chart take this as the request body.
- `groom` (body): The date, time and place of birth. Endpoints that read a birth chart take this as the request body.
Optional inputs: `lang`, `detail`, `from`, `to`.
Main response fields:
- `theme` (string)
- `window` (object) Holds from, to.
- `bride` (object) Holds theme, focus, read_from, houses, lords, karakas, window, not_ranked, framing, transits, clashes, periods.
- `groom` (object) Holds theme, focus, read_from, houses, lords, karakas, window, not_ranked, framing, transits, clashes, periods.
- `read_from` (string)
- `shared_transits` (array)
- `shared_periods` (array of objects) Holds from, to, bride_lord, bride_level, bride_why, groom_lord, groom_level, groom_why, same_lord.
- `framing` (object) Holds text, language, detail.
- `shared_transits_reading` (object) Holds text, language, detail.
- `shared_periods_reading` (object) Holds text, language, detail.
- `overlay` (object) Holds bride_on_groom, groom_on_bride, read_from.
- `not_merged` (string)
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `meta` (object) Holds bride, groom.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/forecast/couple/love?from=2026-10-01&to=2026-12-31
{
"bride": {
"year": 1992,
"month": 3,
"day": 22,
"hour": 14,
"minute": 45,
"second": 0,
"latitude": 41.8781,
"longitude": -87.6298,
"timezone": "America/Chicago"
},
"groom": {
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
}
```
### Reading
Written readings. For a full chart reading, call `/v1/reading/sections` once to get the list of sections for a chart, then fetch the sections you need. Other endpoints here give a daily or weekly reading, a reading for a Moon sign, themed forecasts, a plain-language summary and a printable report. The text comes from the API's own library of written readings. **Topics:** Life Prediction (11), Monthly Forecast (6), Sade Sati (6), Remedies (9). Every topic is listed by `GET /v1/reading/topics`, with no chart needed, and in the table under `/v1/reading/section/{section_id}`.
Page: https://apiforastrology.com/astrology/docs/reference/reading
#### The Moon sign a name points to
`GET /v1/name/rashi`
Reads the first sound of a first name as a nakshatra pada (a quarter of a birth star). It uses the 108 traditional naming syllables backward. It returns the Moon sign (rashi) that pada is in. Use it for a visitor who does not know their rashi and has not given birth details. Then read the sign with `GET /v1/rashi/{sign}/today`.
**A name is not a birth chart.** It points to the Moon only when it was chosen from the birth star. Every response says so in `notes`, in the reader's language.
**A spelling can mean more than one sign.** English letters do not separate ट from त or ड from द, so `candidates` lists every pada the spelling can mean, and `moon_signs` the different signs among them, in order. Show the choice when there is more than one. A first sound missing from the table is read as the nearest one, and each step is named in `steps`. A name with no letters returns 422 `unreadable_name`.
**Shravana has two sets of syllables.** The API's table gives it Ju, Je, Jo and Kha, the 27-star set; Hindi, Gujarati and Marathi panchangs count 28 stars and give Khi, Khu, Khe and Kho. When the two tables read a name differently, `sources_agree` is false and `other_tradition` gives the other table's `candidates` and `moon_signs`. The top-level ones always follow the API's table.
Required inputs:
- `name` (query): A first name, in English or Devanagari (Hindi or Marathi) or Gujarati letters.
Optional inputs: `lang`, `detail`.
Main response fields:
- `name` (string)
- `script` (string)
- `read_as` (object) Holds consonant, vowel.
- `steps` (array)
- `approximate` (boolean)
- `candidates` (array of objects) Holds nakshatra, nakshatra_lord, number, pada, moon_sign, syllable, syllable_hi.
- `sources_agree` (boolean)
- `other_tradition` (object) Holds candidates, used_by, other_by, note, moon_signs.
- `moon_signs` (array of strings)
- `notes` (array of objects) Holds key, text, language, detail.
- `not_computed` (array of strings)
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/name/rashi?name=John
```
#### Every reading topic, no chart needed
`GET /v1/reading/topics`
Lists every `topic:` section the API can write. Each one has its `id`, `group` and `title` (in `?lang`). It also gives the `question` the topic answers, notes on `when` it answers, `has_answer` (it opens with a plain answer) and the `extra_points` that answer carries. Use it to build a topic menu. Then fetch a topic with `POST /v1/reading/section/topic:` and a chart. No birth data needed.
Optional inputs: `lang`.
Main response fields:
- `count` (number)
- `groups` (string)
- `topics` (array of objects) Holds id, group, title, question, when, has_answer, extra_points.
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/reading/topics
```
#### List of reading sections for a chart
`POST /v1/reading/sections`
Returns every reading section available for this chart, in reading order, as `id`, `title` and `group`, without the text. Call this once, then fetch the sections you want from `/v1/reading/section/{section_id}`.
The text comes from the service's built-in library of readings. So this endpoint needs no database and never returns 503 `not_configured`. A combination with no text written yet is listed in `gaps` instead of being left out silently.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `language` (string)
- `detail` (string)
- `sections` (array of objects) Holds id, group, title.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/sections
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### One section of a reading
`POST /v1/reading/section/{section_id}`
Returns one section of a written reading, by an `id` that `/v1/reading/sections` gave you for this chart.
| id | what it is |
|---|---|
| `ascendant` | the ascendant (rising sign) |
| `nakshatra` | the Moon's nakshatra (lunar mansion) |
| `rashi` | the Moon sign |
| `arudha` | the arudha padas: how the chart appears to others, as opposed to how it is. All twelve are included; A1 and A12 have readings |
| `planet:Mars` | one planet (nine in all) |
| `house:7` | one house (twelve in all) |
| `yogas` | the named planetary combinations that formed |
| `dosha:manglik` | manglik, kaalsarpa or pitra dosha, **only when the chart has it**; otherwise 404 |
| `transits` | the planets moving over the chart on `as_of`, with vedha (one planet blocking another) applied |
| `topic:` | a reading on one topic: 32 topics in four groups, listed below |
Other ids include `signature`, `birth-details`, `tensions`, `dasha`, `yogini`, `forecast:month` and `forecast:year`. Which ids exist depends on the chart, so there is no fixed list here; start from `/v1/reading/sections`. An unknown id returns 404; `/v1/reading/sections` lists the ids this chart has.
**`as_of` changes what several sections say.**
- `transits` and `topic:monthly-*` are calculated for that date.
- `topic:remedy-*` depends on the main planetary period (mahadasha) running on that date.
- `topic:sadesati-*` answers only for the sade sati phase actually running. Say you ask for the peak while the rising phase is running. You get a gap that says when the peak applies, not text about a phase the person is not in.
- `birth-details` gives `age` on that date, in years, months and days.
`as_of` defaults to today, so set it if you need the same response on every call.
**Every topic** (Life Prediction (11), Monthly Forecast (6), Sade Sati (6), Remedies (9)). The same list, with titles in any language, comes from `GET /v1/reading/topics`.
| id | answers | notes |
|---|---|---|
| **Life Prediction** (11) | | |
| `topic:personality` | Who am I? Temperament, strengths, how others see you | answer first, then the evidence; extra points: `mind`, `seen_as`, `gifts` |
| `topic:professional-life` | What work suits me? Fields, leadership, work-life balance | answer first, then the evidence; extra points: `balance`, `leadership` |
| `topic:love-and-marriage` | How do I love? Patterns, emotional needs, marriage | answer first, then the evidence; extra points: `needs`, `compatibility` |
| `topic:wealth` | How do I earn, save and spend? | answer first, then the evidence; extra points: `earning`, `saving`, `spending` |
| `topic:education` | How do I learn best, and what study suits me? | answer first, then the evidence; extra points: `style` |
| `topic:health-and-wellbeing` | How do I keep my energy, routine and rest in balance? (never a diagnosis) | answer first, then the evidence; extra points: `mind`, `routine`, `rest` |
| `topic:family-and-home` | Family bonds, home life, children and property | answer first, then the evidence; extra points: `children`, `property` |
| `topic:life-purpose` | Where is my life heading? Direction and the turning points ahead | answer first, then the evidence; extra points: `direction`, `milestone` |
| `topic:friends-and-social` | How do I connect with people? Friends, groups, close bonds | answer first, then the evidence; extra points: `everyday`, `close`, `talk` |
| `topic:travel-and-relocation` | Short trips, long journeys, moving and living abroad | answer first, then the evidence; extra points: `short_trips`, `long_journeys`, `leaving_home`, `abroad` |
| `topic:favorable-periods` | Which of my life periods build, and which cost? | |
| **Monthly Forecast** (6) | | |
| `topic:monthly-career` | Work this month: the transits that touch it | needs `as_of`: read for the month starting that date |
| `topic:monthly-love` | Love this month: the transits that touch it | needs `as_of`: read for the month starting that date |
| `topic:monthly-wealth` | Money this month: the transits that touch it | needs `as_of`: read for the month starting that date |
| `topic:monthly-days` | Which days this month go smoothly, and which need care? | needs `as_of`: read for the month starting that date |
| `topic:monthly-tips` | Practical tips for this month | needs `as_of`: read for the month starting that date |
| `topic:monthly-transits` | Every planet moving through the chart this month | needs `as_of`: read for the month starting that date |
| **Sade Sati** (6) | | |
| `topic:sadesati-predictions` | What does sade sati (Saturn's 7.5 years) mean for me? | answers for the phase running on `as_of`; otherwise dated, not read |
| `topic:sadesati-expect` | What to expect during sade sati | answers for the phase running on `as_of`; otherwise dated, not read |
| `topic:sadesati-rising` | The rising phase of sade sati | answers for the phase running on `as_of`; otherwise dated, not read |
| `topic:sadesati-peak` | The peak phase of sade sati | answers for the phase running on `as_of`; otherwise dated, not read |
| `topic:sadesati-setting` | The setting phase of sade sati | answers for the phase running on `as_of`; otherwise dated, not read |
| `topic:sadesati-remedies` | Remedies for sade sati | answers for the phase running on `as_of`; otherwise dated, not read |
| **Remedies** (9) | | |
| `topic:remedy-life-gemstone` | My life gemstone, from the ascendant's ruler | |
| `topic:remedy-lucky-gemstone` | A gemstone for the period I am in now | follows the period running on `as_of` |
| `topic:remedy-rudraksha` | The rudraksha for my running period | follows the period running on `as_of` |
| `topic:remedy-lucky-mantra` | The beej (seed) mantra for my running period, with its deity and japa count (how many times to say it) | follows the period running on `as_of` |
| `topic:remedy-havan-puja` | Havan and puja for my running period | follows the period running on `as_of` |
| `topic:remedy-general` | Everyday remedies for my running period | follows the period running on `as_of` |
| `topic:remedy-sadesati` | Remedies for the sade sati phase I am in | only when the chart has it |
| `topic:remedy-kaal-sarp` | Remedies for kaal sarp dosha | only when the chart has it |
| `topic:remedy-pitra-dosha` | Remedies for pitra dosha | only when the chart has it |
Text blocks have stable ids. Fetch both `planet:Mars` and `house:7`, and you can see the Mars-in-the-7th block is the same block in both. It is not two different opinions.
The text comes from the service's built-in library of readings. So this endpoint needs no database and never returns 503 `not_configured`. A combination with no text written yet is listed in `gaps` instead of being left out silently.
**Uses 1 reading credit (3 for `forecast:year`).** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `section_id` (path): A section id from `/v1/reading/sections`, such as `planet:Mars`.
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `section` (object) Holds id, group, title.
- `blocks` (array of objects) Holds id, title, family, score, text, language, detail, graha, attribute, themes.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `in_short` (object) Holds outcome, lines, basis.
- `tendency` (object) Holds graha, house, verdict, leans, counts, supports, strains, noted, not_evaluated, rule.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/section/planet:Mars?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Daily reading for a chart
`POST /v1/reading/daily`
Returns a reading of one day for one chart, in a single call.
It combines four things this API already calculates, for one date:
- the **panchang**: the day's lunar day, nakshatra, yoga, karana and weekday, with the times they change;
- the **Moon's transit**, counted from the birth Moon;
- the **slower planets' transits**, with vedha (one planet blocking another) applied;
- where the person is in their **dasha** (planetary period), and in sade sati (a long Saturn transit) if it is running.
**The Moon leads the reading.** It moves to a new house (counted from the birth Moon) about every two and a quarter days. It is the only part of the picture that moves fast enough to make one day differ from the next. The slower planets set the background for the day. A reading led by them would really be a monthly reading.
**Tara bala** (a daily rating from the nakshatras; see `/v1/tara`) is returned as data only. It is a real part of judging a day, but no reading text has been written for it yet.
By default the panchang is read at **sunrise at the birth place**. Pass `latitude` and `longitude` to read the day where the person is now, as tradition does. Sunrise in New York is not sunrise in Los Angeles, and every panchang element depends on it. Times use the UTC offset of the birth time (see `meta.timezone`), even when you pass another place.
The text comes from the service's built-in library of readings. So this endpoint needs no database and never returns 503 `not_configured`. A combination with no text written yet is listed in `gaps` instead of being left out silently.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `latitude`, `longitude`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `reckoned_at` (string)
- `panchang` (object) Holds date, place, sun, moon, tithi, nakshatra, yoga, karana, vara, masa, ritu, ritu_lunar.
- `moon` (object) Holds id, title, family, text, language, detail, sign, house_from_moon, result, net, obstructed, obstructed_by.
- `transits` (array of objects) Holds id, title, family, text, language, detail, graha, sign, house_from_moon, result, net, obstructed.
- `summary` (object) Holds favorable, unfavorable, obstructed.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `note` (string)
- `dasha` (array of objects) Holds level, lord, start, end.
- `sadesati` (object) Holds present, phase, in_break, current, next, dhaiya_present, kantaka_present, dhaiya_kantaka.
- `natal_moon_sign` (string)
- `date` (string)
- `tara_bala` (object) Holds count, tara, name, count_name, auspicious, severity, severity_reason, signifies, rule, reading.
- `place` (object) Holds latitude, longitude, is_birth_place.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/daily?as_of=2026-10-01&latitude=40.7128&longitude=-74.006
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Weekly reading for a chart
`POST /v1/reading/weekly`
Returns a reading of seven days for one chart, starting on the day you send in `from`.
It puts together what other endpoints already give, for one week:
- **dasha**: the planet period running when the week starts, read as the dasha section reads it, and any sub-period that begins during the week;
- **days**: for each day, the Moon's house counted from the birth Moon, tara bala (the day's star from the birth star) and chandra bala (the Moon's sign from the birth Moon). Each day's reading is the one `/v1/reading/daily` gives for that date. `moon_stays` joins the days the Moon spends in one house;
- **sky**: a planet entering a new house from the Moon (with the transit text), or turning retrograde or direct. Each turn has its own text and `at`, the moment of the turn in the birth time zone;
- **best_days** and **hardest_days**: a day is good when tara bala and chandra bala both pass, and hard when both fail. `rule` states it. Nothing is scored. The birth star and the 10th and 19th stars from it (Janma tara) count as failing tara bala, and the Moon in the 2nd, 5th or 9th passes chandra bala only in the bright half of the month;
- **dates**: the other dated items from the person's own calendar: the birth star day, eclipses, festivals, fasts and birthdays.
**A date is required.** Send `from` (or `as_of`, the same thing). With neither, the answer is the framing and `pending`, never a guessed week.
Each date uses the UTC offset in force on that date, so a week across a daylight saving change is still dated right. Pass `latitude` and `longitude` to read the days where the person is now, as `/v1/reading/daily` does.
The text comes from the service's built-in library of readings. So this endpoint needs no database and never returns 503 `not_configured`. A combination with no text written yet is listed in `gaps` instead of being left out silently.
**Uses 3 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `from`, `as_of`, `latitude`, `longitude`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `from` (string)
- `to` (string)
- `framing` (object) Holds id, family, key, title, text, language, detail.
- `dasha` (object) Holds framing, running, detail, changes.
- `days` (array of objects) Holds date, panchang, moon, tara_bala, chandra_bala, standing.
- `moon_stays` (array of objects) Holds house_from_moon, sign, result, from, to.
- `sky` (object) Holds framing, changes.
- `best_days` (object) Holds framing, days.
- `hardest_days` (object) Holds framing, days.
- `rule` (string)
- `dates` (object) Holds title, events.
- `counts` (object) Holds good, hard, mixed, sky_changes, period_changes, dates.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `note` (string)
- `sadesati` (object) Holds present, phase, in_break, current, next, dhaiya_present, kantaka_present, dhaiya_kantaka.
- `place` (object) Holds latitude, longitude, is_birth_place.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/weekly?from=2026-10-01&as_of=2026-10-01&latitude=40.7128&longitude=-74.006
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Daily reading for a Moon sign, no chart
`GET /v1/rashi/{sign}/today`
Returns the transit part of the daily reading for a Moon sign (rashi) alone. It counts the Moon and every slower planet from that sign, with vedha (one planet blocking another) applied. It also gives chandra bala (a daily rating from the Moon's position) and sade sati (a long Saturn transit) for that sign. The day's panchang is included.
**This is not a Sun-sign horoscope.** Traditional practice counts transits from the birth Moon. So a person who knows only their Moon sign gets the same transit reading that `/v1/reading/daily` gives a chart with the Moon in that sign. It uses the same code and the same text.
**It cannot say anything about one person.** No ascendant, house, running dasha (planetary period) or ashtakavarga goes into it. So the day is the same for everyone with the Moon in this sign. `applies_to` and `not_claimed` say so in every response.
Without `latitude`, `longitude` and `timezone`, the day is read for Ujjain, India.
The text comes from the service's built-in library of readings. So this endpoint needs no database and never returns 503 `not_configured`. A combination with no text written yet is listed in `gaps` instead of being left out silently.
Required inputs:
- `sign` (path): Moon sign: its English name (such as `Taurus`) or its Sanskrit name (such as `Vrishabha`). Or its number from 1 (Aries) to 12 (Pisces).
Optional inputs: `lang`, `detail`, `date`, `latitude`, `longitude`, `timezone`.
Main response fields:
- `reckoned_at` (string)
- `panchang` (object) Holds date, place, sun, moon, tithi, nakshatra, yoga, karana, vara, masa, ritu, ritu_lunar.
- `moon` (object) Holds id, title, family, text, language, detail, sign, house_from_moon, result, net, obstructed, obstructed_by.
- `transits` (array of objects) Holds id, title, family, text, language, detail, graha, sign, house_from_moon, result, net, obstructed.
- `summary` (object) Holds favorable, unfavorable, obstructed.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `fell_back_to_en` (boolean)
- `note` (string)
- `sadesati` (object) Holds present, phase, in_break, current, next, dhaiya_present, kantaka_present, dhaiya_kantaka.
- `natal_moon_sign` (string)
- `chandra_bala` (object) Holds house_from_natal_moon, strong, decided_by, paksha, sources_agree, rule.
- `date` (string)
- `place` (object) Holds latitude, longitude, timezone, timezone_info.
- `applies_to` (string)
- `not_claimed` (string)
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/rashi/Taurus/today?date=2026-10-01&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
```
#### Karma reading: what you bring and where you are headed
`POST /v1/karma`
Returns a reading of the Rahu-Ketu axis, the atmakaraka and its karakamsa, and the 5th, 9th and 12th houses. Rahu and Ketu are the lunar nodes. The atmakaraka ("soul significator") is the planet with the highest degree within its sign. Its karakamsa is the sign it occupies in the navamsa (D9) chart.
**What this does not claim.** Traditional language often presents these placements as a report on a past life. This reading does not. It describes leanings and direction. It shows where a person is already skilled but no longer engaged, and where they are eager but new. That is useful without asking anyone to believe anything in particular. `not_claimed` says this in every response, and the reading text says it too, in the reader's language.
**The axis is one thing, not two placements.** Rahu and Ketu are always opposite each other, seven houses apart. So moving toward one means moving away from the other. The reading is based on the axis, not on each end separately.
The **karakamsa** sign is read as a house counted from the ascendant of the main birth chart (D1), not of the navamsa. This step is often skipped, and reading it from the navamsa instead answers a different question while looking the same.
**Nothing is scored.** See rulebook section KR (the API's rule reference).
**Uses 2 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `axis` (object) Holds ketu, rahu, rule, nodes_rule_no_sign, houses_apart, is_an_axis, text, language, detail.
- `atmakaraka` (object) Holds graha, sign, house, sign_lord, lord_house, karaka, degree_in_sign, all_karakas, scheme, rule, text, language.
- `karakamsa` (object) Holds atmakaraka, navamsa_sign, rasi_sign, house_from_rasi_lagna, sign_lord, vargottama, rule, text, language, detail, sign_name, sign_lord_name.
- `houses` (object) Holds 5, 9, 12.
- `read_from` (string)
- `not_scored` (string)
- `not_claimed` (string)
- `not_computed` (array of strings)
- `framing` (object) Holds title, text, language, detail.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/karma
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Spiritual path reading: devotion and release
`POST /v1/spiritual`
Returns what Brihat Parashara Hora Shastra (BPHS), chapter 33, reads from the karakamsa and the sign twelfth from it: the deity a placement is linked to, the pull toward moksha (release), and spiritual leanings. The karakamsa is the navamsa (D9) sign of the atmakaraka, the planet at the highest degree within its sign. It also carries the karma reading (`/v1/karma`, from the same code) and any renunciation yoga the chart forms.
**Only the chapter's own verses are applied.** Each finding has an `id` (SP-01 to SP-14), the `verses` it comes from, and `holds_in`. The often quoted planet-to-deity table and the "12th lord when the sign is empty" method are not in this chapter, so they are not applied, and `not_applied` says so. Most charts form no deity verse; `no_deity_named` then says that plainly.
**Two readings, both given.** The grahas in the 12th from the karakamsa are counted in the rasi chart (D1) and in the navamsa (D9), because schools differ. Where a verse needs a drishti (aspect), both graha drishti and rashi drishti are checked. `sources_agree` is true only when every reading agrees.
**What this does not claim.** A deity named here is a leaning, not an instruction, and the reader's own tradition comes first. The verse about heaven after death is not reported. Nothing is scored. See rulebook section SP.
**Uses 2 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `karakamsa` (object) Holds atmakaraka, navamsa_sign, rasi_sign, house_from_rasi_lagna, sign_lord, vargottama, rule.
- `twelfth_from_karakamsa` (object) Holds sign, sign_lord, in_malefic_sign, occupants, findings, rule.
- `in_karakamsa` (array of objects) Holds id, rule, verses, holds_in, sources_agree, graha, text, language, detail.
- `devatas` (array)
- `renunciation_yogas` (array of objects) Holds name, category, rule, detail.
- `source` (string)
- `not_applied` (array of strings)
- `not_claimed` (array of strings)
- `not_scored` (string)
- `framing` (object) Holds text, language, detail.
- `no_deity_named` (object) Holds text, language, detail.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `karma` (object) Holds axis, atmakaraka, karakamsa, houses, read_from, not_scored, not_claimed, not_computed, framing, gaps, language, detail.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/spiritual
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Love, career or wealth forecast
`POST /v1/forecast/{theme}`
Returns what is happening for **one** theme (`love`, `career` or `wealth`) over a date range, and when.
There are two clocks, and they are intentionally not put on one scale. **Transits** through the houses the theme is read from last weeks or months. **Dasha periods** (planetary periods) last years. A period counts when its ruling planet rules one of those houses or sits in one. It also counts when that planet is a karaka (significator) for the theme. Tradition says a transit can only deliver what the running period already allows. So read the periods first.
**Every row has a `reading`**: what it means for this theme. A transit row says which of the theme's houses the planet is crossing. If the planet is a karaka here, the row also says what that means. Both lines are written for the transit's classical `result`. So one transit reads differently under love, career and wealth. The full transit text is not copied: `transit_reading_id` names it in the Transits section. A period row carries the dasha reading for its ruling planet. If no text has been written yet, the row comes back without one and the gap is listed. See rulebook OL-06.
**Two counts on each transit.** `result` comes from the house counted from the Moon (`house_from_moon`): it says good or hard. `natal_house` is counted from the lagna: it says which part of life is touched.
**`clashes`** lists two transits that pull opposite ways on the same house of the theme, or as its two karakas, at the same time, with the dates they share and a `reading`. Neither is ranked. See rulebook OL-07.
**A planet that changes house more than 14 times in the range is left out** and named in `omitted`. That is the Moon, and in most years Mercury or Venus. The theme's own karakas are never left out: love and wealth always list Venus and Jupiter, and career always lists Saturn, the Sun and Mercury.
Every entry says **why** it is on the list. A planet that qualifies in two ways is a stronger signal than one that qualifies in one way. **Nothing is ranked or scored**: a number that ranked a three-week transit against a twenty-year period would be made up by this API.
The houses and karakas for each theme are the same ones the `topic:` reading sections use. So this forecast and those readings always agree on where a theme is read from.
**The forecast always covers a date range**, set by `from` and `to` (by default, today to one year from today). Without dates it would have to pick a moment without telling you. And every period in a chart is running at some moment. The range can be at most 12 months; a longer one returns 422, so ask for the next months in another call. See rulebook section OL (the API's rule reference).
**Uses 3 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `theme` (path): The theme to follow: `love`, `career` or `wealth`.
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `from`, `to`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `theme` (string)
- `focus` (string)
- `read_from` (string)
- `houses` (array of numbers)
- `lords` (array of numbers)
- `karakas` (array of strings)
- `window` (object) Holds from, to.
- `not_ranked` (string)
- `framing` (object) Holds text, language, detail.
- `transits` (array of objects) Holds graha, house_from_moon, sign, starts, ends, entry_known, exit_known, resumes_visit, result, vedha_house, bindus, strength.
- `clashes` (array of objects) Holds subject, house, from, to, favorable, unfavorable, reading.
- `periods` (array of objects) Holds level, within, lord, lord_name, starts, ends, years, owns_theme_houses, occupies_house, is_karaka, why, counts.
- `transits_reading` (object) Holds text, language, detail.
- `periods_reading` (object) Holds text, language, detail.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `omitted` (array of objects) Holds graha, reason.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/forecast/love?from=2026-10-01&to=2026-12-31
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Plain-language summary of a chart
`POST /v1/summary`
Returns the whole reading as a summary of about two to three printed pages. It is written for a reader who knows no astrology. It has twelve sections. They are: in short, what comes easily, what takes effort, where life pulls two ways, work, money, love and marriage, health. Then what stands out, where you are now, the year ahead, and what to do.
The text uses no astrology terms: no planet names, signs, house numbers or Sanskrit. What each section is based on is given next to it in `because`. So the plain wording can still be checked: a summary a reader disputes can be traced back to a rule.
**Nothing is scored.** There is no overall rating for a chart, because no traditional method produces one. A number would look official while being made up by us. A section with nothing calculated behind it is left out and listed in `gaps`, never filled with vague text.
**Each section must differ from chart to chart.** Periods and life themes are described as helped, balanced or strained. That is based on the ruling planet's strength and which way it leans. "What stands out" names only features that fewer than a third of charts have. Both rules are checked against large sets of random charts in our tests.
**Uses 2 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `who` (object) Holds approach, feeling.
- `strengths` (object) Holds houses.
- `effort` (object) Holds houses.
- `contested` (object) Holds houses.
- `life` (object) Holds work, money, love, health.
- `features` (object) Holds buckets, doshas, yogas_by_bucket.
- `now` (object) Holds period, sub_period, sade_phase.
- `year` (object) Holds balance, counts_in_days, spans, read_from, not_claimed.
- `do` (object) Holds stone, stone_caution, days, colors.
- `because` (object) Holds ascendant_sign, moon_sign, lagna_lord, strength_houses, effort_houses, contested_houses, withheld_houses, life, features, period, sub_period, sade_phase.
- `read_from` (string)
- `not_claimed` (array of strings)
- `summary` (array of objects) Holds id, title, text, language, detail, because.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
- `as_of` (string)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/summary?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Full reading as a printable HTML page
`POST /v1/report`
Returns every section available for this chart, put together into one self-contained HTML page with print styles.
**HTML, not PDF, on purpose.** Making a PDF on the server would need a headless browser. That adds a heavy dependency, slower responses and new ways to fail. Printing this page to PDF takes one step in any browser.
**Nothing is loaded from anywhere else.** The page uses no external stylesheet, web font or image. So it opens without a network connection and prints the same offline. Viewing it sends no request to a third party.
**It assembles text; it does not write new text.** Every paragraph is the same text `/v1/reading/section` returns for that section. So the report cannot disagree with the sections it was built from.
Combinations with no text written yet are listed under *What is not here* instead of being left out. A report that silently leaves things out cannot be checked.
Pass `as_of` to include the transit and forecast chapters, and `lang=hi` for Hindi. Pass `topics=true` to add the 32 topic readings (the sade sati and dosha remedy topics appear only when the chart has them).
A birth date after `as_of`, or an `as_of` outside 1850 to 2148, returns 422 with a plain message.
**Uses 25 reading credits (40 with `topics=true`).** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `detail`, `as_of`, `topics`, `title`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Response: text/html: A self-contained HTML document.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/report?as_of=2026-10-01
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Rules this chart triggers, ranked
`POST /v1/reading/rules`
Every rule this chart triggers across the six rule families, the yogas (planetary combinations) that formed, and the precedence ranking. A rule is one chart condition, such as a planet in a sign or house.
**This endpoint returns no reading text.** Each rule has its id, family, title, the planets and houses it is about, and its score. To read the text, use `/v1/reading/section/{section_id}` for one chapter or `/v1/report` for the whole reading.
Attribute rules are named for the condition, such as `attribute:mulatrikona:Mars`. All seven dignity states are covered, including `attribute:friend:Sun` and `attribute:enemy:Saturn`.
**Each rule's `weighting` shows how its rank was calculated.** `aspected_by` names the benefic and malefic planets aspecting the houses the rule is about. It is marked `scored: no` and does not change the ranking (rulebook PR-07). `upachaya` adds 1 point for a malefic planet placed in the 3rd, 6th, 10th or 11th house (the upachaya, or growth, houses); ruling one of those houses adds nothing (PR-08).
`areas` shows which rule leads each house. `coverage` counts the rules that fired and lists any with no reading written yet. With `lang` (for example `lang=hi`) the titles come in that language; `GET /v1/meta` lists every language.
Required inputs:
- `year` (body): Year of birth, from 1850 to 2149 (the range the planetary data covers).
- `month` (body): Month of birth, from 1 (January) to 12 (December).
- `day` (body): Day of the month, from 1 to 31.
- `latitude` (body): Latitude of the birth place in degrees, negative for south. Text in a local number format, such as `"40,7128"`, is also accepted.
- `longitude` (body): Longitude 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.
- `timezone` (body): Time 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: `lang`, `hour`, `minute`, `second`, `timezone_fold`, `ayanamsa`, `node`.
Main response fields:
- `chart` (object) Holds ascendant, moon_sign, lagnesh, yogakaraka.
- `rules` (array of objects) Holds id, family, title, graha, bears_on, rules_house, occupies_house, themes, score, weighting.
- `areas` (array of objects) Holds house, signifies, leads, qualifies.
- `coverage` (object) Holds fired, with_content, gaps.
- `language` (string)
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/reading/rules
{
"year": 1990,
"month": 8,
"day": 15,
"hour": 10,
"minute": 30,
"second": 0,
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
### Horary
Horary (prashna): a question asked at a moment, read from a chart cast for that moment and place. You pick the topic from a list; a sentence is never read. The question chart describes the tendencies of the moment and is not a promise. Some questions are refused outright (lifespan, the sex of an unborn child, lotteries and gambling, medical diagnosis, accusing a person of a crime, testing), and a moment the classical texts call unfit to judge is refused too, with the reason. A refusal is `422` and carries no reading. Every route for questions asked at a moment is in this group.
Page: https://apiforastrology.com/astrology/docs/reference/horary
#### Question chart (prashna): one question, read for the moment it is asked
`POST /v1/prashna`
Casts a chart for the moment and place a question is asked (prashna, or horary astrology) and reads it for one **topic**: `marriage`, `career`, `wealth`, `health`, `education`, `property`, `travel`, `litigation`, `lost-item`, `children`, `business`, `clients`, `love`, `loan-recovery`, `job-offer`, `pregnancy`, `exam-school`, `exam-higher`, `missing-spouse`, `missing-father`, `missing-mother`, `missing-sibling`, `missing-child`, `missing-friend`, `missing-employee`, `theft-recovery`, `vehicle-buy`, `vehicle-sell`, `house-buy`, `house-sell`, `settle-abroad`, `reconciliation` or `inheritance`. Pick the topic from a list. A free-text question is never read: any extra field is refused with 422. Leave the date and time out to use the current moment at the place. The moment used is returned in `asked_at`.
**The answer comes first.** `answer` says the verdict in plain words: a `label`, a `headline`, up to three `why` reasons, `what_helps`, `watch`, `timing` and a short `note`. The reasons that decided the verdict come first, then the verdict's other supports and strains in a fixed reading order, never by a score. Show it first and the rest as details; `readings` marks each block `group`. The topics, with their houses and notes, are listed by `GET /v1/prashna/topics`.
**What is read.** The rising sign's lord stands for the person asking. The lord of the topic's house stands for the matter. The response says how each stands (`asker`, `quesited`), whether the two are linked (`connection`), how the Moon stands (`moon`), and which planets occupy or aspect each house (`influences`). `tajika` is the two lords' Tajika aspect by degree: `state` is `applying` (ithasala), `separating` (easarapha), `out_of_orb`, `no_aspect` or `same_lord`, with the aspect, the orb and the degrees to exact. `moon.next_aspect` and `moon.last_aspect` are the Moon's next and last Tajika aspect, and `moon.kamboola` says whether its next one goes to a benefic or the matter's lord. Rahu and Ketu have no Tajika orb and are left out. For `health` and `litigation` the two sides are compared (`contest`): the person against the 6th lord (the illness), or against the 7th lord (the opponent).
**A lost item** (`lost-item`) also gets `lost_item`: `direction` and `place` from the sign on the 4th house, and `found` with `status` (`found`, `not_found` or `unclear`), `reasons` and `evidence`. `found.differs_from_verdict` says when it and the verdict say different things; both are shown. **A theft** (`theft-recovery`) also gets `theft`, with the 2nd lord's meeting as evidence. It never says who took anything. The `missing-*` topics never say whether anyone is alive or dead.
**Trisphuta** (every question topic, not `health` or `litigation`). `trisphuta` shows `gulika` and `mandi`, two points used to look for hidden obstacles, and `sum`: the longitude of the rising degree, the Moon and Gulika (`inputs`), reduced to 0 to 360, with its sign and `navamsa`. `status` is `negative_or_delayed`, `not_triggered` or `not_computed` (a polar day with no sunrise or sunset), `fired` says why, and `text` says it in words. **It never changes `verdict` or `answer`.** `differs_from_verdict` is true when it reads negative or delayed beside `looks_good` or `possible_with_effort`; show both. Its readings are listed in `provisional`.
**The verdict is a stated rule.** For a question, `verdict.verdict` is `looks_good`, `possible_with_effort`, `delayed` or `highly_unlikely`, taken in that rule's precedence, with `case` (which condition fired), `decided_by`, the supports and strains, and the rule in `verdict.rule`. `findings` holds what it read: which lord is weak and why, the delays, malefic interference and benefic aspects. For `health` and `litigation` it is `favorable`, `mixed` or `unfavorable`. Nothing is weighted or scored. Parts that wait on the astrologer are listed in `provisional`, each with its rule id.
**Timing is an estimate, never a date.** For a question, `timing` gives the degrees the faster lord still has to travel to the exact aspect, as `count` and `unit` (`days`, `weeks`, `months` or `years`, from the faster lord's sign), or `estimate: false` with `no_estimate_reason` (`highly_unlikely`, `separating`, `no_aspect`, `same_lord`). For a contest it is the old rising-sign pace (movable quick, fixed slow, dual in between).
**Every text block has an `id`**, such as `prashna:marriage:verdict:favorable`. Each part of the payload that a block explains carries its `reading_id`.
**What this does not claim.** It is not a yes-or-no answer, not a promise, and not medical, legal or financial advice. `not_claimed` says so in every response, and the reading says it in the reader's language. Methods not used are named in `refused`: KP horary numbers (1 to 249), ashtamangala and a Moon void of course, and a directional arudha. See rulebook section PQ (the API's rule reference).
**Asking again.** An answered response carries `repeat_rule`: a working rule of one question per person and topic in 72 hours, counted from the last answered question. A refused question does not start it. The API stores nothing and takes no user id, so your app enforces it: save `asked_at` from each answer. A KP answer and a main answer on one topic count as one question, and that reading is provisional. Rulebook PQ-50, PQ-51.
**Refusals.** Three kinds of request get `422` and no reading. (1) A topic id that names a refused kind of question (`lifespan`, `unborn-child-sex`, `lottery`, `gambling`, `share-tips`, `medical-diagnosis`, `crime-accusation`, `testing`): `error.code` is `topic_refused`, with `error.category` and the message in your `lang`; no chart is cast. (2) A moment unfit to judge: `error.code` is `moment_unfit`, `error.reasons` lists every cause (`lagna_too_early`, `lagna_too_late`, `moon_gandanta`, `lagna_gandanta`) and `error.measured` the rising sign and Moon degrees. The same moment always gives the same refusal. Ask again at another moment. (3) Any other invalid input: `invalid_input`.
**Uses 5 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `topic` (body): What the question is about. `marriage` (7th house), `career` (10th and 11th), `wealth` (2nd and 11th), `health` (1st against the 6th, with the 8th), `education` (4th and 5th), `property` (4th), `travel` (9th, 12th and 3rd), `litigation` (1st against the 7th, with the 6th), `lost-item` (4th, with the 2nd and 7th), `children` (5th), `business` (7th and 11th), `clients` (7th and 10th), `love` (5th and 7th), `loan-recovery` (11th, with the 7th), `job-offer` (10th and 11th), `pregnancy` (5th), `exam-school` (4th), `exam-higher` (9th), `missing-spouse` (7th), `missing-father` (9th), `missing-mother` (4th), `missing-sibling` (3rd), `missing-child` (5th), `missing-friend` (11th), `missing-employee` (6th), `theft-recovery` (4th and 2nd), `vehicle-buy` and `house-buy` (4th and 11th), `vehicle-sell` and `house-sell` (11th and 3rd), `settle-abroad` (9th and 12th), `reconciliation` (7th and 11th) or `inheritance` (8th and 2nd). These ids are also accepted and always REFUSED with 422 `topic_refused`, and no chart is cast: `lifespan`, `unborn-child-sex`, `lottery`, `gambling`, `share-tips`, `medical-diagnosis`, `crime-accusation` and `testing`.
- `latitude` (body): Latitude of the place where the question is asked, in degrees, negative for south.
- `longitude` (body): Longitude of that place in degrees, negative for west.
- `timezone` (body): Time zone of that place: an IANA name such as `America/New_York` (daylight saving time is applied for the moment asked), or a fixed offset from UTC in hours.
Optional inputs: `lang`, `detail`, `timezone_fold`, `year`, `month`, `day`, `hour`, `minute`, `ayanamsa`, `node`.
Main response fields:
- `topic` (string)
- `title` (string)
- `answer` (object) Holds verdict, label, headline, why, what_helps, watch, timing, note, titles, reading_order, rule.
- `kind` (string)
- `read_from` (object) Holds asker_house, matter_houses, karya_bhava, karakas, framed_from, note.
- `ascendant` (object) Holds sign, degree_in_sign, lagnesh.
- `asker` (object) Holds graha, house, sign, dignity, combust, retrograde, tendency, leans, outcome, supports, strains, role.
- `quesited` (array of objects) Holds graha, house, sign, dignity, combust, retrograde, tendency, leans, outcome, supports, strains, rules_house.
- `karakas` (array of objects) Holds graha, house, sign, dignity, combust, retrograde, tendency, leans, outcome, supports, strains, role.
- `connection` (object) Holds kind, kinds, asker_lord, matter_lord, matter_house, one_way, reading_id.
- `moon` (object) Holds sign, house, paksha, waxing, elongation, in_dusthana, state, links_matter_lord, rule, next_aspect, last_aspect, kamboola.
- `influences` (array of objects) Holds house, occupants, aspected_by, benefics, malefics, kind, reading_id.
- `tajika` (object) Holds asker_lord, matter_lord, state, linked, aspect, deeptamsha, excluded, rule, reading_id.
- `verdict` (object) Holds verdict, case, provisional, decided_by, supports, strains, precedence, rule, reading_id.
- `timing` (object) Holds method, convention, rule, estimate, no_estimate_reason, degrees, count, unit, faster, sign, modality, saturn_is_a_lord.
- `provisional` (array of objects) Holds rule, point, reading.
- `not_claimed` (string)
- `refused` (array of objects) Holds method, why.
- `not_computed` (array of strings)
- `findings` (object) Holds karya_bhava, weak, delay, interference, benefic_aspects.
- `trisphuta` (object) Holds uses, source, provisional, provisional_rules, moves_verdict, rule, gulika, mandi, saturn_part, inputs, sum, fired.
- `readings` (array of objects) Holds id, part, title, text, language, detail, group.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `asked_at` (object) Holds local, utc, utc_offset_hours, source.
- `place` (object) Holds latitude, longitude.
- `repeat_rule` (object) Holds hours, applies_to, starts_from, refusals_count, enforced_by, text.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/prashna
{
"topic": "marriage",
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York",
"year": 2026,
"month": 10,
"day": 1,
"hour": 12,
"minute": 0
}
```
#### KP horary: a question read from a number between 1 and 249
`POST /v1/prashna/kp`
A person picks a number from 1 to 249 and a topic. **The number sets the houses, and the moment only places the planets.** This is Krishnamurti Paddhati (KP): Placidus houses in the KP ayanamsa. It is a separate method from `POST /v1/prashna` and it never changes that route's answers. No birth data is asked for.
**The chart.** The number picks one of the 249 pieces of the zodiac, and that piece's first degree is the ascendant. The other 11 cusps come from it and your `latitude`. `chart.cusps` gives the sign, star and sub lord of all 12 cusps. A latitude beyond 66 degrees gets 422 `placidus_undefined`.
**The answer.** `answer` comes first. `promise.status` is `promised`, `mixed`, `denied` or `not_shown`, from the sub lord of the topic's cusp and the houses it signifies through its star lord. `promise.other_cusp` is the second cusp for `education` and `travel`.
**The moment.** `ruling_planets` are for the actual moment, not the number. Those still counting are in `direct_grahas`, and those set aside are in `discarded` with the reason. `confirmation.state` is `confirmed`, `not_confirmed` or `nothing_to_confirm`.
**The date.** `timing.status` is `dated`, with `period` (dasha, bhukti and antara lords and their dates) and `transit`, or `no_date`, with `no_date_reason` (`promise_failed`, `no_ruling_planet`, `no_period` or `no_transit`). A date is an estimate.
**Asking again.** An answered response carries `repeat_rule`: a working rule of one question per person and topic in 72 hours, counted from the last answered question. A refused question does not start it. The API stores nothing and takes no user id, so your app enforces it: save `asked_at` from each answer. A KP answer and a main answer on one topic count as one question, and that reading is provisional. Rulebook PQ-50, PQ-51.
`provisional` lists readings still awaiting the astrologer, by rule id. `readings` carries the text, each block with its corpus `id`. `not_computed` and `not_claimed` say what this does not do. Offered topics are in `GET /v1/prashna/topics`. Rulebook PQ-33 to PQ-43.
**Uses 5 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys return this reading for the sample charts only, and it counts as 1 test call. The `X-Reading-Credits-Counted` header says what a response used. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `topic` (body): What the question is about. This route offers `marriage`, `career`, `wealth`, `property`, `education`, `travel`, `children` and `litigation`. Another topic from `GET /v1/prashna/topics` gets 422 `topic_not_offered`. A refused id gets 422 `topic_refused`, as on `/v1/prashna`.
- `latitude` (body): Latitude of the place where the question is asked, in degrees, negative for south.
- `longitude` (body): Longitude of that place in degrees, negative for west.
- `timezone` (body): Time zone of that place: an IANA name such as `America/New_York` (daylight saving time is applied for the moment asked), or a fixed offset from UTC in hours.
- `number` (body): The number the person picks, 1 to 249. Each one is a small slice of the zodiac, and the first degree of that slice becomes the ascendant.
Optional inputs: `lang`, `detail`, `timezone_fold`, `year`, `month`, `day`, `hour`, `minute`, `ayanamsa`, `node`.
Main response fields:
- `system` (string)
- `number` (number)
- `topic` (string)
- `title` (string)
- `answer` (object) Holds status, label, headline, why, confirmed, confirmation, timing, note, titles.
- `promise` (object) Holds cusp, sub_lord, star_lord, star_lord_occupies, star_lord_owns, signifies, yes_signified, no_signified, status, yes_houses, no_houses, levels_used.
- `ruling_planets` (object) Holds lagna_star_lord, lagna_sign_lord, moon_star_lord, moon_sign_lord, day_lord, for, asc_longitude, nodes_added, grahas, discarded, direct_grahas, evidence_only.
- `confirmation` (object) Holds state, confirmed, confirmed_by, reading_id.
- `timing` (object) Holds method, estimate, rule, dasha_basis, allowed_lords, limit, status, no_date_reason, period, transit, reading_id.
- `chart` (object) Holds ayanamsa, house_system, number_sub, cusps, planets, significators.
- `provisional` (array of objects) Holds rule, point, reading.
- `not_computed` (array of strings)
- `not_claimed` (string)
- `readings` (array of objects) Holds id, part, title, text, language, detail.
- `gaps` (array)
- `language` (string)
- `detail` (string)
- `asked_at` (object) Holds local, utc, utc_offset_hours, source.
- `place` (object) Holds latitude, longitude.
- `repeat_rule` (object) Holds hours, applies_to, starts_from, refusals_count, enforced_by, text.
- `meta` (object) Holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/prashna/kp
{
"topic": "marriage",
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York",
"number": 123,
"year": 2026,
"month": 10,
"day": 1,
"hour": 12,
"minute": 0
}
```
#### Question chart topics (prashna): what can be asked
`GET /v1/prashna/topics`
Lists every topic `POST /v1/prashna` reads, with its `kind` (`question` or `contest`), its `houses` (the first is the `karya_bhava`, the house of the matter), its `karakas` and a short `note` on where the sources differ, all in `?lang`. `kp` says whether `POST /v1/prashna/kp` offers the topic, and if so its `cusps`, `yes_houses` and `no_houses`; `kp_topics` lists those topics. Also lists the `refused` kinds of question: each `category`, the topic `ids` that name it, and the `message` a request for one gets back with 422. `repeat_rule` states the rule for asking the same topic again; your app enforces it, since the API stores nothing. Built from the same tables the question route reads. No birth data needed. Rulebook PQ-22.
Optional inputs: `lang`.
Main response fields:
- `count` (number)
- `topics` (array of objects) Holds id, kind, houses, karya_bhava, karakas, framed_from, title, note, kp.
- `refused` (array of objects) Holds category, ids, message.
- `refused_ids` (array of strings)
- `repeat_rule` (object) Holds hours, applies_to, starts_from, refusals_count, enforced_by, text.
- `kp_topics` (array of strings)
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/prashna/topics
```
### Muhurta
Dates and good times. The Hindu festival and fasting calendar for a year at a place. Also muhurtas (good times to start an activity): buying a vehicle, buying property, moving into a new home, and marriage, all checked against a published calendar: 161 of 161 festival dates, and all 579 published muhurta windows across those four activities and two years. Starting a business, travel and six child ceremonies (naming, first food, first haircut, ear piercing, start of learning, sacred thread) follow the classical rules and say they are not measured. Every answer names the rule that decided it. Nothing is scored or ranked.
Page: https://apiforastrology.com/astrology/docs/reference/muhurta
#### Muhurta: good times to start an activity
`POST /v1/muhurta/{activity}`
Returns every time window in the date range that passes the rules for an activity, in date order. A muhurta is a good time to start something, chosen from the Hindu calendar. Each window lists the rules it passed. It also lists any periods inside it that the rules do not exclude on purpose. Examples are rahu kaal and bhadra (periods traditionally avoided for new starts).
**Nothing is scored or ranked.** If two windows both pass, both are returned, and the choice is yours.
**Add `birth` to make it personal.** Each window then has `for_you`. It gives tara bala and chandra bala for that person (daily ratings based on the birth Moon). It also says whether the window suits them, and why not if it does not. It adds:
- `eighth`: the parts of the window to avoid for this person. That is when the Moon is in the 8th sign from the birth Moon (chandrashtama). It is also when the rising sign is the 8th from the birth lagna or the birth Moon sign. `clear` is the time left, and can be empty. It is the classical rule and not measured against a published calendar, so `measured` is `false`.
- `in_short`: the plain answer. `status` is `good`, `partly` (use `best_times`) or `not_for_you`, with `text` and `reasons`, each a `code` and its text, in the language asked for.
A window that is good for everyone at the place but poor for the person is marked, never hidden. `count_for_you` is how many windows are `good` or `partly`. For `vivah` (marriage), add `partner` too: each window then also has `for_partner` and `suits_both`.
Activities: `vehicle` (buying a vehicle), `property` (buying property), `griha-pravesh` (moving into a new home) and `vivah` (marriage). Also `business` (starting a business or launching a product) and `travel` (setting out on a journey).
Child ceremonies: `namkaran` (naming), `annaprashan` (first solid food), `mundan` (first haircut), `karnavedha` (ear piercing), `vidyarambha` (start of learning) and `upanayana` (sacred thread). For these, `birth` is the child's.
**The age window comes first.** Send the child's `birth` and only the time inside the right age is searched. Days run sunrise to sunrise, with the day of birth as day 1 (a birth before sunrise counts from the day before). Months and years are solar: a month is the Sun moving 30 degrees from where it was at birth, and a year runs from one return of the Sun to its birth position to the next.
- `namkaran`: the 11th or 12th day.
- `annaprashan`: the 6th, 8th or 10th month for a boy, the 5th, 7th or 9th for a girl. Send `child_sex` (`male` or `female`), or both sets are searched.
- `mundan`: the 1st, 3rd or 5th year.
- `karnavedha`: the 10th, 12th or 16th day, the 6th, 7th or 8th month, or the 1st, 3rd or 5th year.
- `vidyarambha`: the 5th year.
- `upanayana`: the 5th or 8th year, the 11th, or the 12th, as the texts give them for different traditions. All are searched and each window names its tradition; no caste or varna is asked for.
`age_window` gives each window's start and end and which your dates touched; each kept window has `age_window.in`. If your dates miss every window, no days come back and `age_window.why_empty` says why. Without `birth`, the dates you send are the age window kept, and `age_window.applied` is `false`.
**Days that set checks aside.** A window on such a day has `override`, naming what was `waived` and what was `kept`, and the waived rules show `status: "waived"`. On the child's 11th and 12th days, `namkaran` waives the day checks and the child's tara and chandra bala. Only the rising sign is judged (the 8th sign from it must be empty and no harsh planet may sit in it), and rahu kaal and gulika kaal are cut. `preferred` marks windows with benefic planets in strong houses; nothing is ranked on it. Jupiter and Venus always count; the Moon only while bright (Shukla Ashtami to Krishna Panchami); Mercury only with no harsh planet in its sign. For `vidyarambha`, Vasant Panchami waives the tithi, weekday and nakshatra, and still cuts eclipses, sandhikala and an afflicted rising sign. `special_days` lists each Vasant Panchami in your dates, and, with `birth`, the 5th day of the 5th month of the 5th year (`five_five_five`).
**If no time on the 11th or 12th day is safe**, `namkaran` never forces a bad lagna to make that window work. `postponed_to` then names the next day, found by scanning forward: every ordinary check applies in full (nothing is waived past day 12), plus the same clean-lagna check. It searches up to 60 days (`cap_days`); `hit_cap: true` with `found: null` means none turned up. `postponed_to` is `null` whenever a time on day 11 or 12 is found.
For `travel`, each window has `disha_shool`: the direction to avoid setting out in that day. It is not cut, because the search is not told where you are going.
`about` is a short reading on the activity and what its rules look at, in the language asked for.
**Where the rules come from.** For `vehicle`, `property`, `griha-pravesh` and `vivah` they were read from a published calendar and checked against a second year. The others state the classical rules and have not been measured against a calendar; their `provenance.measured` is `false` and `not_claimed` says so. For business the fixed (sthira) lagna is cut, not just reported, and so is rahu kaal. The response gives each activity's source and how closely it matched.
Required inputs:
- `activity` (path): The activity: `vehicle`, `property`, `griha-pravesh`, `vivah`, `business`, `travel`, `namkaran`, `annaprashan`, `mundan`, `karnavedha`, `vidyarambha` or `upanayana`. An unknown value returns 404 with the list of valid ones.
- `from` (body): First day to search, YYYY-MM-DD.
- `to` (body): Last day to search, YYYY-MM-DD, inclusive. At most 366 days after `from`.
- `latitude` (body): Latitude of the place where the activity happens, in degrees, negative for south.
- `longitude` (body): Longitude of that place in degrees, negative for west.
- `timezone` (body): Time zone of that place. Send an IANA time zone name such as `America/New_York`, or a fixed offset from UTC in hours such as `-5`. With a zone name, each window uses the offset in force on its own date. So daylight saving time is followed.
Optional inputs: `lang`, `detail`, `birth`, `child_sex`, `partner`.
Main response fields:
- `activity` (object) Holds slug, name.
- `place` (object) Holds latitude, longitude, timezone, timezone_info.
- `from` (string)
- `to` (string)
- `windows` (array of objects) Holds date, weekday, starts, ends, minutes, nakshatras, tithis, rules, within_it.
- `count` (number)
- `personal` (boolean)
- `see_also` (null)
- `about` (object) Holds text, gaps, language, detail.
- `age` (null)
- `age_window` (null)
- `special_days` (null)
- `postponed_to` (null)
- `not_applied` (object) Holds rahu_kaal, bhadra, panchaka, yoga, lagna.
- `not_computed` (object) Holds varjyam, amrit_kaal, godhuli.
- `provenance` (object) Holds source, derived_from, checked_on, agreement.
- `not_claimed` (array of strings)
Example request:
```
POST https://apiforastrology.com/api/astrology/v1/muhurta/vehicle
{
"from": "2026-11-02",
"to": "2027-01-31",
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
}
```
#### Hindu festival dates for a year and place
`GET /v1/festivals`
Each Hindu festival falls on a tithi (lunar day) in a named lunar month. It is kept on the calendar day when that tithi is running during the part of the day the festival needs. That is pradosh (early evening) for Diwali, midday for Ganesh Chaturthi, and midnight for Janmashtami. Each month is named both ways: `masa.purnimanta` (North India, where a month ends at the full moon) and `masa.amanta` (Maharashtra, Gujarat and South India, where it ends at the new moon). The two differ only in a month's waning half, and never change a date. `calendar` chooses which one goes in `masa.name`; without it, purnimanta (amanta for Marathi and Gujarati). Leap months (adhika masa) are detected, and no festival is kept in one.
**Regional festivals** from the Marathi and Gujarati calendars (Gudi Padwa, Vat Purnima, Pola, Bestu Varas, Shitala Satam and others) carry `region`: the calendar each was checked against (`Maharashtra`, `Gujarat` or both). Festivals without it are on the all-India list. The Gauri and Saraswati days are set by the Moon's nakshatra, not a tithi, and also carry `nakshatra`. Every regional date matches a widely used published calendar for Mumbai and Ahmedabad, 2026 to 2028.
**Every date has `decided_by`**, the rule that chose it. Where traditions really do differ (Janmashtami, Ekadashi), the response says `sources_agree: false` and gives `other_tradition_date`.
**The place changes the day.** Sunrise and the parts of the day move with longitude. So Delhi and Beijing keep four 2026 festivals a day apart, as published calendars for those cities do.
If the time zone uses daylight saving time, each clock time uses the offset in force on its own date. It ends with that offset; `place.note` says so. Without `latitude`, `longitude` and `timezone`, the calendar is for Ujjain, India.
Required inputs:
- `year` (query): Calendar year, from 1850 to 2149.
Optional inputs: `latitude`, `longitude`, `timezone`, `lang`, `calendar`.
Main response fields:
- `year` (number)
- `place` (object) Holds latitude, longitude, timezone, timezone_info, note.
- `convention` (string)
- `festivals` (array of objects) Holds slug, name, date, decided_by, sankranti_at.
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/festivals?year=2026&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
```
#### Monthly fasting days (vrats) for a year and place
`GET /v1/vrats`
Returns every Ekadashi, Pradosh, Sankashti Chaturthi, Masik Shivaratri, Purnima and Amavasya in a calendar year. These are vrats: fasting or observance days that repeat every lunar month. Leap months are included. Festivals skip them but vrats do not, and Padmini and Parama Ekadashi only occur in a leap month.
Each vrat is defined like a festival. It has a tithi (lunar day), the part of the day it must cover, and a rule for breaking ties. The same code as `/v1/festivals` decides them. **Two related dates can be a day apart, and both are given.** `purnima` is the full moon day (the tithi at sunrise). `purnima-vrat` is the fast (the first day the full moon tithi covers midday). `amavasya` is the new moon day. `darsha-amavasya` is the day of its rites (the day with the larger share of the afternoon).
We checked it against a widely used published calendar, for New Delhi 2026 to 2028 and Beijing 2026. 495 of 496 published dates match. The one miss is a Purnima. By this API's calculation it ends 57 seconds after sunrise, and by that calendar at sunrise. Every entry says which rule decided it. The place matters: Delhi and Beijing keep a dozen 2026 vrats a day apart.
Without `latitude`, `longitude` and `timezone`, the calendar is for Ujjain, India. If the time zone uses daylight saving time, each clock time uses the offset in force on its own date; `place.note` says so.
The first request for a year and place takes about 5 seconds. Later requests are cached.
Required inputs:
- `year` (query): Calendar year, from 1850 to 2149.
Optional inputs: `latitude`, `longitude`, `timezone`, `kind`, `lang`, `calendar`.
Main response fields:
- `year` (number)
- `place` (object) Holds latitude, longitude, timezone, timezone_info, note.
- `convention` (string)
- `vrats` (array of objects) Holds date, kaal, decided_by, coverage, kaal_at, slug, name, masa, tithi.
- `counts` (object) Holds ekadashi, pradosh, sankashti-chaturthi, masik-shivaratri, purnima, purnima-vrat, amavasya, darsha-amavasya.
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/vrats?year=2026&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
```
#### One festival's date for a year and place
`GET /v1/festivals/{slug}`
Each Hindu festival falls on a tithi (lunar day) in a named lunar month. It is kept on the calendar day when that tithi is running during the part of the day the festival needs. That is pradosh (early evening) for Diwali, midday for Ganesh Chaturthi, and midnight for Janmashtami. Each month is named both ways: `masa.purnimanta` (North India, where a month ends at the full moon) and `masa.amanta` (Maharashtra, Gujarat and South India, where it ends at the new moon). The two differ only in a month's waning half, and never change a date. `calendar` chooses which one goes in `masa.name`; without it, purnimanta (amanta for Marathi and Gujarati). Leap months (adhika masa) are detected, and no festival is kept in one.
**Regional festivals** from the Marathi and Gujarati calendars (Gudi Padwa, Vat Purnima, Pola, Bestu Varas, Shitala Satam and others) carry `region`: the calendar each was checked against (`Maharashtra`, `Gujarat` or both). Festivals without it are on the all-India list. The Gauri and Saraswati days are set by the Moon's nakshatra, not a tithi, and also carry `nakshatra`. Every regional date matches a widely used published calendar for Mumbai and Ahmedabad, 2026 to 2028.
**Every date has `decided_by`**, the rule that chose it. Where traditions really do differ (Janmashtami, Ekadashi), the response says `sources_agree: false` and gives `other_tradition_date`.
**The place changes the day.** Sunrise and the parts of the day move with longitude. So Delhi and Beijing keep four 2026 festivals a day apart, as published calendars for those cities do.
If the time zone uses daylight saving time, each clock time uses the offset in force on its own date. It ends with that offset; `place.note` says so. Without `latitude`, `longitude` and `timezone`, the calendar is for Ujjain, India.
Required inputs:
- `slug` (path): The festival ID, such as `diwali`, `ganesh-chaturthi` or `raksha-bandhan`. `GET /v1/festivals` lists every ID. An unknown ID returns 404 with the list of valid ones.
- `year` (query): Calendar year, from 1850 to 2149.
Optional inputs: `latitude`, `longitude`, `timezone`, `lang`, `calendar`.
Main response fields:
- `year` (number)
- `place` (object) Holds latitude, longitude, timezone, timezone_info, note.
- `convention` (string)
- `festival` (object) Holds date, kaal, decided_by, coverage, kaal_window, slug, name, masa, tithi.
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/festivals/diwali?year=2026&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
```
#### Eclipses (grahan) with local times and sutak
`GET /v1/eclipses`
Lists the solar and lunar eclipses between two dates. They are worked out from the planet positions themselves; no eclipse table is used. For one place, it says whether each one can be seen, when, and when its sutak (the time before an eclipse when rituals pause) begins and ends.
**What each eclipse carries.** `type` (total, partial, annular or penumbral); `greatest` and `contacts` in UTC and local time (lunar: P1, U1, U2, U3, U4, P4; solar: the worldwide begin and end); the umbral magnitude or `gamma`; `falls_in`, the sign and nakshatra the eclipse falls in; and `here`, the view from your place, with the local contacts C1 to C4, and the magnitude and obscuration of a solar eclipse.
**Only an eclipse that can be seen from the place has a sutak**, as the classical rule says. Sutak starts 9 hours before a lunar eclipse enters the dark shadow, or 12 hours before a solar eclipse begins, and lasts until the eclipse ends. Two things vary by tradition: the shorter sutak for children, the elderly and the ill, and the count in prahars. Both are named in `not_computed`. A penumbral lunar eclipse is not observed.
`moon_sign` adds `for_you`: the house from your Moon sign that the eclipse falls in. It is read as favorable in the 3rd, 6th, 10th and 11th, the classical rule, which awaits review by the astrologer.
Contact times agree with an independent calculation within about 6 seconds.
Optional inputs: `from`, `to`, `latitude`, `longitude`, `timezone`, `moon_sign`, `lang`, `detail`.
Main response fields:
- `from` (string)
- `to` (string)
- `place` (object) Holds latitude, longitude, timezone.
- `eclipses` (array of objects) Holds kind, type, greatest, contacts, falls_in, by_moon_sign, here, sutak, gamma, central, reading.
- `basis` (string)
- `not_computed` (array of strings)
- `provenance` (object) Holds by_moon_sign.
- `framing` (object) Holds key, text, language, detail.
- `gaps` (array)
Example request:
```
GET https://apiforastrology.com/api/astrology/v1/eclipses?from=2026-08-01&to=2026-09-30&latitude=40.7128&longitude=-74.006&timezone=America%2FNew_York
```
## Reading sections and IDs
Page: https://apiforastrology.com/astrology/docs/sections-and-ids
### Chart basics
Send one to `POST /v1/reading/section/{section_id}`.
- `signature`: The day, colors, numbers and stones that suit this chart, read from the ascendant lord and the Moon-sign lord. (Always)
- `ascendant`: The rising sign (ascendant) and what it says about the person. (Always)
- `nakshatra`: The Moon's nakshatra (birth star), with its deity, mantra and remedy. (Always)
- `rashi`: The Moon sign (rashi) and what it says about the person. (Always)
- `birth-details`: The avakhada chakra: nakshatra and pada, name syllable, varna, yoni, gana and nadi, with the panchang at birth. (Always)
- `tensions`: Where the chart disagrees with itself: placements that pull two ways. (Always)
- `arudha`: The arudha lagna: how the person comes across to others. (When the chart's arudha can be worked out)
### Periods (dashas)
Send one to `POST /v1/reading/section/{section_id}`.
- `dasha`: The three Vimshottari periods running now (main period, sub-period and the one inside it), with dates. (Always)
- `yogini`: The Yogini periods, a 36-year cycle. (Always)
- `ashtottari`: The Ashtottari periods, a 108-year cycle. (Always)
### Planets
Send one to `POST /v1/reading/section/{section_id}`.
- `planet:Sun`: Sun: its sign, house and condition in this chart, and which way it leans. (Always)
- `planet:Moon`: Moon: its sign, house and condition in this chart, and which way it leans. (Always)
- `planet:Mars`: Mars: its sign, house and condition in this chart, and which way it leans. (Always)
- `planet:Mercury`: Mercury: its sign, house and condition in this chart, and which way it leans. (Always)
- `planet:Jupiter`: Jupiter: its sign, house and condition in this chart, and which way it leans. (Always)
- `planet:Venus`: Venus: its sign, house and condition in this chart, and which way it leans. (Always)
- `planet:Saturn`: Saturn: its sign, house and condition in this chart, and which way it leans. (Always)
- `planet:Rahu`: Rahu: its sign, house and condition in this chart, and which way it leans. (Always)
- `planet:Ketu`: Ketu: its sign, house and condition in this chart, and which way it leans. (Always)
### Houses
Send one to `POST /v1/reading/section/{section_id}`.
- `house:1`: The 1st house: the area of life it covers, and what this chart puts there. (Always)
- `house:2`: The 2nd house: the area of life it covers, and what this chart puts there. (Always)
- `house:3`: The 3rd house: the area of life it covers, and what this chart puts there. (Always)
- `house:4`: The 4th house: the area of life it covers, and what this chart puts there. (Always)
- `house:5`: The 5th house: the area of life it covers, and what this chart puts there. (Always)
- `house:6`: The 6th house: the area of life it covers, and what this chart puts there. (Always)
- `house:7`: The 7th house: the area of life it covers, and what this chart puts there. (Always)
- `house:8`: The 8th house: the area of life it covers, and what this chart puts there. (Always)
- `house:9`: The 9th house: the area of life it covers, and what this chart puts there. (Always)
- `house:10`: The 10th house: the area of life it covers, and what this chart puts there. (Always)
- `house:11`: The 11th house: the area of life it covers, and what this chart puts there. (Always)
- `house:12`: The 12th house: the area of life it covers, and what this chart puts there. (Always)
### Yogas and transits
Send one to `POST /v1/reading/section/{section_id}`.
- `yogas`: The yogas (planet combinations) this chart forms. (Always)
- `transits`: What the moving planets are doing over this chart now, counted from the Moon. (Always)
### Forecasts
Send one to `POST /v1/reading/section/{section_id}`. `forecast:year` uses 3 reading credits; every other section uses 1.
- `forecast:month`: The month ahead. (Always)
- `forecast:year`: The year ahead, about 6,000 words. (Always)
### Doshas
Send one to `POST /v1/reading/section/{section_id}`.
- `dosha:manglik`: Manglik (kuja) dosha: Mars in a house that affects marriage. (Only when the chart has it)
- `dosha:kaalsarpa`: Kaal sarp dosha: all seven planets from the Sun to Saturn on one side of Rahu and Ketu. (Only when the chart has it)
- `dosha:pitra`: Pitra dosha: a duty to the ancestors, read from the 9th house. (Only when the chart has it)
### Life Prediction
Send one to `POST /v1/reading/section/{section_id}`. Every chart lists these topics.
- `topic:personality`: Who am I? Temperament, strengths, how others see you (Answer first, then the evidence)
- `topic:professional-life`: What work suits me? Fields, leadership, work-life balance (Answer first, then the evidence)
- `topic:love-and-marriage`: How do I love? Patterns, emotional needs, marriage (Answer first, then the evidence)
- `topic:wealth`: How do I earn, save and spend? (Answer first, then the evidence)
- `topic:education`: How do I learn best, and what study suits me? (Answer first, then the evidence)
- `topic:health-and-wellbeing`: How do I keep my energy, routine and rest in balance? (never a diagnosis) (Answer first, then the evidence)
- `topic:family-and-home`: Family bonds, home life, children and property (Answer first, then the evidence)
- `topic:life-purpose`: Where is my life heading? Direction and the turning points ahead (Answer first, then the evidence)
- `topic:friends-and-social`: How do I connect with people? Friends, groups, close bonds (Answer first, then the evidence)
- `topic:travel-and-relocation`: Short trips, long journeys, moving and living abroad (Answer first, then the evidence)
- `topic:favorable-periods`: Which of my life periods build, and which cost?
### Monthly Forecast
Send one to `POST /v1/reading/section/{section_id}`. Every chart lists these topics.
- `topic:monthly-career`: Work this month: the transits that touch it (Needs `as_of`: read for the month starting that date)
- `topic:monthly-love`: Love this month: the transits that touch it (Needs `as_of`: read for the month starting that date)
- `topic:monthly-wealth`: Money this month: the transits that touch it (Needs `as_of`: read for the month starting that date)
- `topic:monthly-days`: Which days this month go smoothly, and which need care? (Needs `as_of`: read for the month starting that date)
- `topic:monthly-tips`: Practical tips for this month (Needs `as_of`: read for the month starting that date)
- `topic:monthly-transits`: Every planet moving through the chart this month (Needs `as_of`: read for the month starting that date)
### Sade Sati
Send one to `POST /v1/reading/section/{section_id}`. Every chart lists these topics.
- `topic:sadesati-predictions`: What does sade sati (Saturn's 7.5 years) mean for me? (Answers for the phase running on `as_of`; otherwise dated, not read)
- `topic:sadesati-expect`: What to expect during sade sati (Answers for the phase running on `as_of`; otherwise dated, not read)
- `topic:sadesati-rising`: The rising phase of sade sati (Answers for the phase running on `as_of`; otherwise dated, not read)
- `topic:sadesati-peak`: The peak phase of sade sati (Answers for the phase running on `as_of`; otherwise dated, not read)
- `topic:sadesati-setting`: The setting phase of sade sati (Answers for the phase running on `as_of`; otherwise dated, not read)
- `topic:sadesati-remedies`: Remedies for sade sati (Answers for the phase running on `as_of`; otherwise dated, not read)
### Remedies
Send one to `POST /v1/reading/section/{section_id}`. Every chart lists these topics.
- `topic:remedy-life-gemstone`: My life gemstone, from the ascendant's ruler
- `topic:remedy-lucky-gemstone`: A gemstone for the period I am in now (Follows the period running on `as_of`)
- `topic:remedy-rudraksha`: The rudraksha for my running period (Follows the period running on `as_of`)
- `topic:remedy-lucky-mantra`: The beej (seed) mantra for my running period, with its deity and japa count (how many times to say it) (Follows the period running on `as_of`)
- `topic:remedy-havan-puja`: Havan and puja for my running period (Follows the period running on `as_of`)
- `topic:remedy-general`: Everyday remedies for my running period (Follows the period running on `as_of`)
- `topic:remedy-sadesati`: Remedies for the sade sati phase I am in (Only when the chart has it)
- `topic:remedy-kaal-sarp`: Remedies for kaal sarp dosha (Only when the chart has it)
- `topic:remedy-pitra-dosha`: Remedies for pitra dosha (Only when the chart has it)
### Summary sections
Returned in `summary` by `POST /v1/summary`, each with its `title` and `text`. A section with nothing calculated behind it is left out and named in `gaps`.
- `who-you-are`: In short
- `strengths`: What comes easily
- `effort`: What takes effort
- `tensions`: Where life pulls two ways
- `work`: Work and career
- `money`: Money
- `love`: Love and marriage
- `health`: Health and energy
- `features`: What stands out
- `now`: Where you are now
- `year-ahead`: The year ahead
- `what-to-do`: What to do
### Annual forecast sections
Returned in `sections` by `POST /v1/forecast/annual`, each with its dated events.
- `annual:annual-career`: Career
- `annual:annual-love`: Love
- `annual:annual-finance`: Finance
- `annual:annual-periods`: Periods
- `annual:annual-remedies`: Remedies
### Festivals
Send one to `GET /v1/festivals/{slug}`. `GET /v1/festivals` returns them all for a year and place.
- `makar-sankranti`: Makar Sankranti (Date: the day the Sun enters Makara, if it enters before sunset; otherwise the following day)
- `ganesh-jayanti`: Ganesh Jayanti (Date: the only day the tithi holds madhyahna)
- `vasant-panchami`: Vasant Panchami (Date: the only day the tithi holds purvahna)
- `ratha-saptami`: Ratha Saptami (Date: the only day the tithi holds sunrise)
- `maha-shivaratri`: Maha Shivaratri (Date: the only day the tithi holds nishita)
- `holika-dahan`: Holika Dahan (Date: the only day the tithi holds pradosh)
- `holi`: Holi (Date: the day after Holika Dahan)
- `rang-panchami`: Rang Panchami (Date: the only day the tithi holds sunrise)
- `gudi-padwa`: Gudi Padwa (Date: the only day the tithi holds sunrise)
- `chaitragaur`: Chaitra Gauri (Gauri Tritiya) (Date: the only day the tithi holds sunrise)
- `ram-navami`: Ram Navami (Date: the only day the tithi holds madhyahna)
- `hanuman-jayanti`: Hanuman Jayanti (Date: the only day the tithi holds sunrise)
- `akshaya-tritiya`: Akshaya Tritiya (Date: the tithi holds this sunrise for at least six ghatis)
- `vat-purnima`: Vat Purnima (Date: the only day the tithi holds madhyahna)
- `gauri-vrat`: Gauri Vrat (Molakat) (Date: the only day the tithi holds sunrise)
- `jaya-parvati-vrat`: Jaya Parvati Vrat (Date: the tithi holds sunrise on 2 days; the first was taken)
- `guru-purnima`: Guru Purnima (Date: the only day the tithi holds sunrise)
- `nag-panchami`: Nag Panchami (Date: the tithi holds pratah on 2 days; the day with the greater share was taken)
- `narali-purnima`: Narali Purnima (Date: the only day the tithi holds sunrise)
- `raksha-bandhan`: Raksha Bandhan (Date: the only day the tithi holds aparahna)
- `randhan-chhath`: Randhan Chhath (Date: the only day the tithi holds sunrise)
- `krishna-janmashtami`: Krishna Janmashtami (Date: the only day the tithi holds nishita)
- `shitala-satam`: Shitala Satam (Date: the only day the tithi holds sunrise)
- `gopalkala`: Gopalkala (Dahi Handi) (Date: the only day the tithi holds sunrise)
- `pithori-amavasya`: Pithori Amavasya (Date: the only day the tithi holds aparahna)
- `pola`: Pola (Bail Pola) (Date: the only day the tithi holds sunrise)
- `hartalika`: Hartalika Teej (Date: the only day the tithi holds sunrise)
- `ganesh-chaturthi`: Ganesh Chaturthi (Date: the only day the tithi holds madhyahna)
- `rishi-panchami`: Rishi Panchami (Date: the only day the tithi holds madhyahna)
- `gauri-avahan`: Gauri Avahan (Date: the only day Anuradha holds sunrise)
- `gauri-pujan`: Gauri Pujan (Date: the only day Jyeshtha holds sunrise)
- `gauri-visarjan`: Gauri Visarjan (Date: the only day Mool holds sunrise)
- `anant-chaturdashi`: Anant Chaturdashi (Ganesh visarjan) (Date: the only day the tithi holds sunrise)
- `sarva-pitru-amavasya`: Sarva Pitru Amavasya (Date: the only day the tithi holds aparahna)
- `navratri-ghatasthapana`: Navratri begins (Ghatasthapana) (Date: the only day the tithi holds sunrise)
- `saraswati-avahan`: Saraswati Avahan (Date: the only day Mool holds madhyahna)
- `saraswati-puja`: Saraswati Puja (Date: the only day Purva Ashadha holds madhyahna)
- `dussehra`: Dussehra (Vijayadashami) (Date: the only day the tithi holds aparahna)
- `sharad-purnima`: Sharad Purnima (Kojagiri) (Date: the tithi holds nishita on no day; kept on the civil day it mostly falls in)
- `karva-chauth`: Karva Chauth (Date: the only day the tithi holds moonrise)
- `vasubaras`: Vasubaras (Vagh Baras) (Date: the only day the tithi holds pradosh)
- `dhanteras`: Dhanteras (Date: the only day the tithi holds pradosh)
- `kali-chaudas`: Kali Chaudas (Date: the only day the tithi holds nishita)
- `narak-chaturdashi`: Narak Chaturdashi (Date: the only day the tithi holds sunrise)
- `diwali`: Diwali (Lakshmi Puja) (Date: the only day the tithi holds pradosh)
- `annakut`: Annakut (Date: the only day the tithi holds aparahna)
- `balipratipada`: Balipratipada (Diwali Padwa) (Date: the only day the tithi holds aparahna)
- `bestu-varas`: Bestu Varas (Gujarati New Year) (Date: the only day the tithi holds sunrise)
- `govardhan-puja`: Govardhan Puja (Date: the only day the tithi holds sunrise)
- `bhai-dooj`: Bhai Dooj (Date: the only day the tithi holds aparahna)
- `labh-pancham`: Labh Pancham (Date: the only day the tithi holds pratah)
- `chhath-puja`: Chhath Puja (Sandhya Arghya) (Date: the only day the tithi holds sunrise)
- `prabodhini-ekadashi`: Prabodhini (Dev Uthani) Ekadashi (Date: Ekadashi holds this sunrise and Dwadashi holds the next, so the fast can be broken within Dwadashi)
- `tulsi-vivah`: Tulsi Vivah (Date: the only day the tithi holds sunrise)
- `dev-diwali`: Dev Diwali (Date: the tithi holds this sunrise for at least six ghatis)
- `tripurari-purnima`: Tripurari Purnima (Date: the only day the tithi holds sunrise)
- `champa-shashthi`: Champa Shashthi (Date: the only day the tithi holds aparahna)
- `datta-jayanti`: Datta Jayanti (Date: the only day the tithi holds sunrise)
### Fasting days (vrats)
Pass one or more in `kind` to `GET /v1/vrats`, such as `kind=ekadashi,pradosh`.
- `ekadashi`: Shattila Ekadashi, Jaya Ekadashi, Vijaya Ekadashi (24 in 2026)
- `pradosh`: Guru Pradosh, Shukra Pradosh, Shani Pradosh (24 in 2026)
- `sankashti-chaturthi`: Lambodara Sankashti, Dwijapriya Sankashti, Bhalachandra Sankashti (13 in 2026)
- `masik-shivaratri`: Masik Shivaratri, Maha Shivaratri, Sawan Shivaratri (12 in 2026)
- `purnima`: Pausha Purnima, Magha Purnima, Phalguna Purnima (13 in 2026)
- `purnima-vrat`: Pausha Purnima vrat, Magha Purnima vrat, Phalguna Purnima vrat (13 in 2026)
- `amavasya`: Magha Amavasya, Phalguna Amavasya, Chaitra Amavasya (12 in 2026)
- `darsha-amavasya`: Darsha Amavasya (12 in 2026)
## Numerology API reference
Base address: https://apiforastrology.com/api/numerology
### Meta
Service health. No key needed.
#### Health check
`GET /v1/health`
Returns `{"status": "ok"}` while the service is running. The only route that needs no API key.
Main response fields:
- `status` (string)
Example request:
```
GET https://apiforastrology.com/api/numerology/v1/health
```
### Core numbers
The core numbers for one person: the mulank (birth day number), the bhagyank (destiny number) and the name number, with the Lo Shu grid, lucky day, colors and dates, gemstone and mantra. Also one number on its own, and the whole reading as a printable report.
Page: https://apiforastrology.com/numerology/docs/reference/core
#### Core numbers and Lo Shu grid
`POST /v1/profile`
The core numbers for one person, each with a short reading. The **mulank** (birth day number) comes from the day of birth. The **bhagyank** (destiny number) comes from the full date. The **name number** is given in Chaldean (read) and Pythagorean (numbers only, `read: false`). The lucky day, colors and friendly numbers come from the mulank's planet. The **Lo Shu grid** comes with its missing and repeated numbers and its full or empty lines. `loshu.basis` says which digits were placed. `not_included` names what is not computed yet.
**Uses 3 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `name` (body): Full name as it is written and used, in English letters (A to Z). Spaces, dots, hyphens and apostrophes are allowed. Other scripts are refused, because the spelling changes the number.
- `birth_date` (body): Date of birth, `YYYY-MM-DD`. The calendar date is used as it is, with no time of day.
Optional inputs: `lang`, `detail`.
Main response fields:
- `input` (object) Holds name, birth_date.
- `mulank` (object) Holds number, planet, planet_name, about, reading, topics.
- `bhagyank` (object) Holds number, total, master, planet, planet_name, about, reading, topics.
- `name_number` (object) Holds default_system, chaldean, pythagorean.
- `lucky` (object) Holds from, planet, planet_name, day, day_name, day_via, colors, numbers, dates, dates_about.
- `remedies` (object) Holds from, planet, planet_name, direction, direction_name, direction_about, deity, deity_name, deity_about, fast_day, fast_day_name, fast_about.
- `loshu` (object) Holds cells, placed, missing, repeated, planes, basis, about, summary, number_tip, birth_only.
- `not_included` (object) Holds compound_meanings, western_numbers.
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/profile
{
"name": "John Doe",
"birth_date": "1990-08-15"
}
```
#### Numerology report (HTML or JSON)
`POST /v1/report`
The whole reading as one printable book. It holds the numbers at a glance, the mulank, bhagyank and name number, and the Lo Shu grid (drawn). It also holds the lucky day and colors, the Western numbers, karmic lessons, challenges and life stages. It also holds the personal year, month and day, and any numbers sent in `numbers`. Every number and paragraph is what the other numerology routes return.
`format=html` (default) returns one self-contained page that fetches nothing and prints to A4. `format=json` returns the same book as data: `chapters[].items[]`. Each item is a `section` (blocks of `title`, `paragraphs`, `note`), a `table` (`columns`, `rows`) or `loshu`. A `loshu` item has `cells` and an `svg` that carries its look as attributes, so it draws anywhere.
**Uses 25 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `name` (body): Full name as it is written and used, in English letters (A to Z). Spaces, dots, hyphens and apostrophes are allowed. Other scripts are refused, because the spelling changes the number.
- `birth_date` (body): Date of birth, `YYYY-MM-DD`. The calendar date is used as it is, with no time of day.
Optional inputs: `format`, `as_of`, `lang`, `detail`, `numbers`, `brand`.
Main response fields:
- `lang` (string)
- `prepared` (string)
- `as_of` (string)
- `tint` (object) Holds planet, paper, soft, highlight, strong, mute.
- `cover` (object) Holds brand, kicker, title, born, glance, promise, wheel_title, wheel_caption, wheel_svg.
- `labels` (object) Holds contents, chapter, closing, closing_text.
- `chapters` (array of objects) Holds key, number, title, items.
- `not_claimed` (string)
- `not_included` (object) Holds compound_meanings, western_numbers.
- `footer` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/report?format=json&as_of=2026-10-01&detail=standard
{
"name": "John Doe",
"birth_date": "1990-08-15"
}
```
#### One number as a mulank
`GET /v1/guide/{number}`
Everything about one number from 1 to 9 as a mulank, with no birth date. It returns who has it (`born_on`, the days of a month) and its planet. It returns the mulank, bhagyank and name readings and the five topic sections. It also returns the lucky day, colors, numbers and dates, and the gemstone, mantra, direction, deity and fast day. For a page such as "mulank 5". The same entries the profile reads.
**Uses 3 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `number` (path): The number, from 1 to 9.
Optional inputs: `lang`, `detail`.
Main response fields:
- `number` (number)
- `planet` (string)
- `planet_name` (string)
- `born_on` (array of numbers)
- `mulank` (object) Holds number, planet, planet_name, about, reading, topics.
- `bhagyank` (object) Holds number, planet, planet_name, about, reading, topics.
- `name` (object) Holds about, reading.
- `lucky` (object) Holds from, planet, planet_name, day, day_name, day_via, colors, numbers, dates, dates_about.
- `remedies` (object) Holds from, planet, planet_name, direction, direction_name, direction_about, deity, deity_name, deity_about, fast_day, fast_day_name, fast_about.
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
GET https://apiforastrology.com/api/numerology/v1/guide/6
```
### Names
Names: a name and its spellings against a person's numbers, spellings that sound the same and suit them, and baby names whose number suits a child.
Page: https://apiforastrology.com/numerology/docs/reference/names
#### Name checker
`POST /v1/name`
Reads a name, and up to 10 other spellings of it, against the person's mulank and bhagyank. Each spelling gets its Chaldean and Pythagorean numbers and a `fit`: `good`, `neutral`, `mixed` or `difficult`, with the one-sided relation behind it. The rule: a friend and no enemy is good; an enemy and no friend is difficult; one of each is mixed; neither is neutral. Spellings come back in the order sent and are **never ranked**.
**Uses 1 reading credit.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `name` (body): Full name as it is written and used, in English letters (A to Z). Spaces, dots, hyphens and apostrophes are allowed. Other scripts are refused, because the spelling changes the number.
- `birth_date` (body): Date of birth, `YYYY-MM-DD`. The calendar date is used as it is, with no time of day.
Optional inputs: `lang`, `detail`, `variants`.
Main response fields:
- `person` (object) Holds birth_date, mulank, bhagyank.
- `system` (string)
- `about` (string)
- `spellings` (array of objects) Holds name, chaldean, pythagorean, planet, planet_name, fit.
- `ranked` (boolean)
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/name
{
"name": "John Doe",
"birth_date": "1990-08-15",
"variants": [
"Jon Doe",
"John Dow"
]
}
```
#### Name spelling suggestions
`POST /v1/name/suggest`
Spellings of one word of the name (`part`, default the first name) that sound the same. Each gives a Chaldean name number in `targets` (default: every number whose `fit` with the person is `good`). Only common spelling habits are tried, at most two at a time. They are `a`/`aa`, `i`/`ee`, `u`/`oo`, `v`/`w` (not as the first letter) and `ph`/`f`, plus a doubled last consonant and a silent `h` after a final `a`. Each suggestion lists its `changes`. Suggestions come in a fixed order (fewer changes first, then A to Z) and are **never ranked**. `found` counts every match before `limit`; `none` is a sentence when there is no match.
**Uses 1 reading credit.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `name` (body): Full name as it is written and used, in English letters (A to Z). Spaces, dots, hyphens and apostrophes are allowed. Other scripts are refused, because the spelling changes the number.
- `birth_date` (body): Date of birth, `YYYY-MM-DD`. The calendar date is used as it is, with no time of day.
Optional inputs: `lang`, `detail`, `part`, `targets`, `limit`.
Main response fields:
- `name` (string)
- `part` (number)
- `word` (string)
- `current` (object) Holds total, compound, number, planet, planet_name, fit.
- `targets` (array of numbers)
- `tried` (number)
- `found` (number)
- `suggestions` (array)
- `person` (object) Holds birth_date, mulank, bhagyank.
- `system` (string)
- `about` (string)
- `none` (string)
- `ranked` (boolean)
- `not_claimed_spelling` (string)
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/name/suggest
{
"name": "John Doe",
"birth_date": "1990-08-15"
}
```
#### Baby name finder
`POST /v1/baby-names`
Names from our own list whose Chaldean number suits the child, read by the same rule as the name checker. With a `surname` the full name is counted. Filter by `gender`, `origin`, first `syllables` in Devanagari or Gujarati letters (for naming by birth star) or English starting `letters`. Results are `groups`, one per number, A to Z inside, **never ranked**; each group gives `found` so `limit` never hides how many exist. `per_syllable` and `syllables_without_names` show which starting sounds have no name yet. Names with a sensitive meaning are never suggested (`list.kept_out`). A modern name with no known meaning is suggested, with `meaning_known: false`. Each name gives `origin` as the list has it (use it to filter) and `origin_name` in the reader's language. The list is not yet reviewed (`list.reviewed`, `review_note`).
**Uses 2 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `birth_date` (body): The child's date of birth, `YYYY-MM-DD`.
Optional inputs: `lang`, `detail`, `surname`, `gender`, `origin`, `syllables`, `letters`, `targets`, `limit`.
Main response fields:
- `person` (object) Holds birth_date, mulank, bhagyank.
- `system` (string)
- `filters` (object) Holds surname, gender, origin, syllables, letters.
- `about` (string)
- `targets` (array of numbers)
- `searched` (number)
- `found` (number)
- `groups` (array of objects) Holds number, planet, planet_name, fit, found, names.
- `per_syllable` (null)
- `syllables_without_names` (array)
- `syllable_note` (null)
- `none` (null)
- `ranked` (boolean)
- `list` (object) Holds reviewed, in_list, suggestable, kept_out, meaning_unknown.
- `review_note` (string)
- `not_claimed_name` (string)
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/baby-names
{
"birth_date": "1992-03-22",
"surname": "Doe",
"gender": "boy",
"letters": [
"J"
]
}
```
### Number checks
Number checks: a mobile, vehicle or house number, several numbers side by side, and a business name with its launch date.
Page: https://apiforastrology.com/numerology/docs/reference/numbers
#### Mobile, vehicle, house or business number
`POST /v1/number`
Adds up a mobile, vehicle or house number. Only digits count: letters are listed in `ignored_letters` and not counted. A business name is read by its letters instead. Then it gives the `fit` with the owner's mulank and bhagyank, by the same rule as the name checker.
**Uses 1 reading credit.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `kind` (body): What the number is.
- `value` (body): The number as written, such as `98290 12345`, `RJ14 CD 4521` or `B-402`. For `business`, the business name in English letters.
- `birth_date` (body): The owner's date of birth, `YYYY-MM-DD`.
Optional inputs: `lang`, `detail`.
Main response fields:
- `kind` (string)
- `kind_name` (string)
- `about` (string)
- `value` (string)
- `digits` (string)
- `total` (number)
- `compound` (number)
- `number` (number)
- `ignored_letters` (array)
- `planet` (string)
- `planet_name` (string)
- `person` (object) Holds birth_date, mulank, bhagyank.
- `fit` (object) Holds number, links, outcome, outcome_name, reading.
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/number
{
"kind": "mobile",
"value": "212 555 0147",
"birth_date": "1990-08-15"
}
```
#### Compare several numbers
`POST /v1/numbers`
Up to 5 mobile, vehicle or house numbers of one kind, each read exactly as the number route reads one. In the order given, **never ranked** (`ranked: false`): choosing a number is the person's call.
**Uses 2 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `kind` (body): What the numbers are.
- `values` (body): Up to 5 numbers to compare, as written. Returned in the order given, never ranked.
- `birth_date` (body): The owner's date of birth, `YYYY-MM-DD`.
Optional inputs: `lang`, `detail`.
Main response fields:
- `kind` (string)
- `kind_name` (string)
- `person` (object) Holds birth_date, mulank, bhagyank.
- `checks` (array of objects) Holds kind, kind_name, about, value, digits, total, compound, number, ignored_letters, planet, planet_name, person.
- `ranked` (boolean)
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/numbers
{
"kind": "mobile",
"values": [
"212 555 0147",
"212 555 0199"
],
"birth_date": "1990-08-15"
}
```
#### Business name and launch date
`POST /v1/business`
A business name read against its owner (Chaldean, as a name). It also gives up to 5 spellings of its first word that sound the same and suit the owner. When `launch_date` is given, it shows how that date's number suits the owner. Same rules as the name checker and the number checker.
**Uses 2 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `name` (body): The business name, in English letters.
- `birth_date` (body): The owner's date of birth, `YYYY-MM-DD`.
Optional inputs: `lang`, `detail`, `launch_date`.
Main response fields:
- `name` (object) Holds kind, kind_name, about, value, name, total, compound, number, master, planet, planet_name, person.
- `suggestions` (array of objects) Holds name, word, changes, total, compound, number, planet, planet_name, fit.
- `found` (number)
- `suggest_about` (string)
- `not_claimed_spelling` (string)
- `launch` (object) Holds date, number, planet, planet_name, fit, about.
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/business
{
"name": "Acme Inc.",
"birth_date": "1990-08-15",
"launch_date": "2026-12-12"
}
```
### Compatibility
Two people's numbers, read both ways.
Page: https://apiforastrology.com/numerology/docs/reference/compatibility
#### Two people
`POST /v1/compatibility`
How two people's numbers get along: each one's mulank and bhagyank, read both ways, since the friendship of numbers is one-sided. `outcome` uses the same rule as the name checker over all four relations. Nothing is scored.
**Uses 1 reading credit.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `a` (body): object
- `b` (body): object
Optional inputs: `lang`, `detail`.
Main response fields:
- `a` (object) Holds birth_date, mulank, bhagyank, mulank_planet.
- `b` (object) Holds birth_date, mulank, bhagyank, mulank_planet.
- `links` (array of objects) Holds from, from_number, to_number, relation, via, who, from_name, relation_name.
- `outcome` (string)
- `outcome_name` (string)
- `reading` (string)
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/compatibility
{
"a": {
"birth_date": "1990-08-15"
},
"b": {
"birth_date": "1992-03-22"
}
}
```
### Western numbers
The Western (Pythagorean) numbers: life path, expression, soul urge, personality, maturity, birthday, karmic debt and lessons, challenges and pinnacles.
Page: https://apiforastrology.com/numerology/docs/reference/western
#### Western numbers
`POST /v1/western`
The Western (Pythagorean) numbers: **life path**, **expression**, **soul urge**, **personality**, **maturity** and **birthday**. It also returns karmic debt, karmic lessons, hidden passion and balance. It returns the four **challenges** and the four **pinnacles**, with ages, years and which one is `current`, and the three **life cycles** (early, middle and later years) the same way. It also returns the personal year, month and day. Master numbers 11, 22 and 33 are kept in `number`; `digit` is the same number reduced to 1-9. `basis` states each method where books differ. Use the full name from birth.
**Uses 3 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `name` (body): Full name from birth, in English letters (A to Z). The Western numbers use every word of it, so a nickname or a married name gives different numbers. Spaces, dots, hyphens and apostrophes are allowed. Other scripts are refused, because the spelling changes the number.
- `birth_date` (body): Date of birth, `YYYY-MM-DD`. The calendar date is used as it is, with no time of day.
Optional inputs: `as_of`, `lang`, `detail`.
Main response fields:
- `input` (object) Holds name, birth_date.
- `system` (string)
- `about` (string)
- `basis` (object) Holds letters, masters, life_path, name_numbers, y, personal_year, pinnacles, life_cycles, karmic_debt.
- `life_path` (object) Holds total, number, digit, karmic_debt, parts, about, reading.
- `expression` (object) Holds total, number, digit, karmic_debt, words, about, reading.
- `soul_urge` (object) Holds total, number, digit, karmic_debt, words, about, reading.
- `personality` (object) Holds total, number, digit, karmic_debt, words, about, reading.
- `maturity` (object) Holds total, number, digit, karmic_debt, about, reading.
- `birthday` (object) Holds day, number, digit, karmic_debt, about, reading.
- `karmic_lessons` (object) Holds about, numbers.
- `hidden_passion` (object) Holds numbers, count, about, readings.
- `balance` (object) Holds initials, total, number, about, reading.
- `challenges` (object) Holds about, items.
- `pinnacles` (object) Holds about, as_of, items.
- `life_cycles` (object) Holds about, as_of, items.
- `personal` (object) Holds as_of, year, month, day.
- `not_computed` (array)
- `not_claimed_karmic` (string)
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/western?as_of=2026-10-01
{
"name": "John Doe",
"birth_date": "1990-08-15"
}
```
### Dates and cycles
Dates and cycles: the personal year, month and day, the good dates in a month, a calendar year for a mulank, and the number of any day.
Page: https://apiforastrology.com/numerology/docs/reference/planning
#### Personal year, month and day
`POST /v1/cycles`
The personal year, month and day for one date, each with a short reading. Needs only the birth date, so it suits a daily screen. The personal year changes on January 1.
**Uses 2 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `birth_date` (body): Date of birth, `YYYY-MM-DD`.
Optional inputs: `as_of`, `lang`, `detail`.
Main response fields:
- `birth_date` (string)
- `as_of` (string)
- `year` (object) Holds number, about, reading, do, avoid.
- `month` (object) Holds number, about, reading.
- `day` (object) Holds number, about, reading.
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/cycles?as_of=2026-10-01
{
"birth_date": "1990-08-15"
}
```
#### A year for a mulank
`GET /v1/year/{mulank}`
A calendar year read for one mulank, with no birth date. The year adds up to one number, the same for everyone (2027 adds up to 11, then 2). `year_number` says how the mulank gets along with it. It uses the same one-sided planet friendship as the rest of the API, so `outcome` is `good`, `neutral` or `difficult`. `months` reads each month the same way (the year's number plus the month).
**Uses 2 reading credits.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `mulank` (path): The mulank, from 1 to 9.
Optional inputs: `year`, `lang`, `detail`.
Main response fields:
- `mulank` (number)
- `mulank_planet` (string)
- `mulank_planet_name` (string)
- `year` (number)
- `about` (string)
- `year_number` (object) Holds number, planet, planet_name, relation, via, outcome, relation_name, outcome_name, reading, theme.
- `months` (array of objects) Holds month, month_name, number, planet, planet_name, outcome, outcome_name, theme.
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
GET https://apiforastrology.com/api/numerology/v1/year/4?year=2026
```
#### A day's number
`GET /v1/day`
A date's number (every digit added, the same for everyone) and its theme. It also shows how each of the nine mulanks gets along with it. `mulanks[]` gives each one's `outcome` (`good`, `neutral` or `difficult`) and a one-line reading. No birth date needed. For a personal day, use the cycles route.
**Uses 1 reading credit.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Optional inputs: `date`, `lang`, `detail`.
Main response fields:
- `date` (string)
- `number` (number)
- `planet` (string)
- `planet_name` (string)
- `about` (string)
- `theme` (string)
- `mulanks` (array of objects) Holds mulank, mulank_planet, mulank_planet_name, relation, via, outcome, relation_name, outcome_name, reading.
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
GET https://apiforastrology.com/api/numerology/v1/day?date=2026-10-01
```
#### Good dates in a month
`POST /v1/dates`
Every date of a month read for one person. The date's own number (every digit added) is read against their mulank and bhagyank. It uses the same rule as a phone number, so `outcome` is `good`, `neutral`, `mixed` or `difficult`. `good` lists the good dates. Each day also carries `personal_day` (1-9) as a theme; it is not judged.
**Uses 1 reading credit.** On live keys a successful response uses them from your monthly reading credits, and no calls. Test keys answer for the sample people only, and it counts as 1 test call. [What reading credits buy](https://apiforastrology.com/pricing#reading-credits).
Required inputs:
- `birth_date` (body): Date of birth, `YYYY-MM-DD`.
Optional inputs: `month`, `lang`, `detail`.
Main response fields:
- `person` (object) Holds birth_date, mulank, bhagyank.
- `year` (number)
- `month` (number)
- `month_name` (string)
- `about` (string)
- `rule` (string)
- `days` (array of objects) Holds date, day, weekday, number, planet, planet_name, outcome, outcome_name, personal_day.
- `good` (array of numbers)
- `none` (null)
- `not_claimed` (string)
- `localization` (object) Holds lang, detail, fell_back_to_en, fell_back_to_standard.
Example request:
```
POST https://apiforastrology.com/api/numerology/v1/dates?month=2026-10
{
"birth_date": "1990-08-15"
}
```
## Vedic astrology glossary
Page: https://apiforastrology.com/astrology/glossary
### Chart basics
- **Lagna** (https://apiforastrology.com/astrology/glossary/lagna): The lagna, or ascendant, is the sign that was rising over the eastern horizon when a person was born. It is house 1 of the chart, and every other house is counted from it. The rising sign changes about every two hours, so the lagna needs an accurate birth time.
- **Ayanamsa** (https://apiforastrology.com/astrology/glossary/ayanamsa): Ayanamsa is the gap, in degrees, between the Western (tropical) zodiac and the Vedic (sidereal) zodiac. It grows by about 50 arc seconds a year and is a little over 24 degrees today. The API uses the Lahiri ayanamsa by default.
- **Kundli (birth chart)** (https://apiforastrology.com/astrology/glossary/kundli): A kundli is a Vedic birth chart: a map of the sky at the time and place of birth. It shows the sign and house of all nine grahas (planets), from the Sun and Moon to Rahu and Ketu. House 1 is the sign rising in the east at birth, called the lagna. Kundli is also spelled kundali.
- **Graha** (https://apiforastrology.com/astrology/glossary/graha): A graha is one of the nine bodies Vedic astrology tracks: the Sun, the Moon, Mars, Mercury, Jupiter, Venus, Saturn, and the two lunar nodes, Rahu and Ketu. The word is usually translated as planet, although the Sun and Moon are not planets and the nodes are points in space, not bodies. Uranus, Neptune and Pluto are not used.
- **Rashi** (https://apiforastrology.com/astrology/glossary/rashi): A rashi is a sign of the zodiac. There are 12, each 30 degrees wide, from Mesha (Aries) to Meena (Pisces). Vedic astrology measures them in the sidereal zodiac, so today they sit about 24 degrees away from the Western signs of the same name. People also say rashi to mean their Moon sign.
- **Bhava (house)** (https://apiforastrology.com/astrology/glossary/bhava): A bhava is a house: one of the 12 parts of a birth chart, each linked to areas of life such as money, home, children or marriage. The API uses whole-sign houses, so each house is exactly one sign, and the sign rising at birth is house 1.
- **Whole-sign houses** (https://apiforastrology.com/astrology/glossary/whole-sign-houses): Whole-sign houses is a house system in which each house is one full sign. The sign rising at birth is house 1, the next sign is house 2, and so on around the zodiac. It is the oldest house system and the one every endpoint uses, with two exceptions. POST /v1/kp uses Placidus cusps, as KP astrology requires. POST /v1/chart/chalit shows the bhava chalit houses beside the whole-sign ones.
- **Avakhada chakra** (https://apiforastrology.com/astrology/glossary/avakhada-chakra): The avakhada chakra is a table of birth details found near the start of most printed kundlis. It lists the birth nakshatra and its quarter, the Moon sign, a first syllable for a name, and six traits used in marriage matching: varna, vashya, yoni, gana, nadi and rajju.
- **Sidereal zodiac** (https://apiforastrology.com/astrology/glossary/sidereal-zodiac): The sidereal zodiac ties the 12 signs to the background stars. Vedic astrology uses it. The Western (tropical) zodiac ties the signs to the seasons instead, starting Aries at the spring equinox. Because of a slow wobble of the Earth's axis, the two drift apart by about 50 arc seconds a year. The gap between them is the ayanamsa.
- **Moon sign (janma rashi)** (https://apiforastrology.com/astrology/glossary/moon-sign): The Moon sign, or janma rashi, is the sign the Moon was in at birth. Vedic astrology leans on it more than on the Sun sign: transits, sade sati and daily horoscopes are all counted from it, and matching compares the two people's Moon signs.
- **Lagnesh (ascendant lord)** (https://apiforastrology.com/astrology/glossary/lagnesh): The lagnesh is the ruler of the ascendant sign: the planet that owns house 1. For example, if Leo is rising, the Sun is the lagnesh. Its sign, house and strength are read as a guide to the person's health and general direction in life.
- **Drishti (aspect)** (https://apiforastrology.com/astrology/glossary/drishti): Drishti means sight: a planet's aspect, or influence, on other houses. In Vedic astrology every planet aspects the 7th house from itself. Mars also aspects the 4th and 8th, Jupiter the 5th and 9th, and Saturn the 3rd and 10th. The API counts aspects in whole houses, not in exact degrees.
- **Kendra** (https://apiforastrology.com/astrology/glossary/kendra): Kendras are houses 1, 4, 7 and 10, the four angles of the chart. Planets in kendras are held to be prominent and effective. Several yogas need a planet in a kendra, such as the five pancha mahapurusha yogas and Gajakesari yoga.
- **Trikona** (https://apiforastrology.com/astrology/glossary/trikona): Trikonas are houses 1, 5 and 9, the trines of the chart. They are held to be the most fortunate houses. A planet that rules a trikona is treated as helpful for that rising sign, and a link between the lords of a trikona and a kendra forms a raja yoga.
- **Dusthana** (https://apiforastrology.com/astrology/glossary/dusthana): Dusthanas are houses 6, 8 and 12, traditionally linked to illness, loss and obstacles. Planets that rule them are treated with caution. When the lords of these houses sit in each other's houses, tradition sees a reversal, called viparita raja yoga, in which the troubles cancel out.
- **Upachaya** (https://apiforastrology.com/astrology/glossary/upachaya): Upachaya houses are houses 3, 6, 10 and 11, the houses of growth. Tradition holds that results in these houses improve with time and effort. They stand for effort, beating obstacles, work and gains. Malefic planets such as Mars and Saturn, which harm most houses, are said to do well here.
- **Benefic and malefic** (https://apiforastrology.com/astrology/glossary/benefic-and-malefic): Tradition sorts the planets into benefics, which help the houses they touch, and malefics, which harm them. Jupiter and Venus are benefics, and so are Mercury and a bright Moon. Saturn, Mars, the Sun, Rahu and Ketu are malefics, and a dark (waning) Moon counts as malefic too.
- **True and mean node** (https://apiforastrology.com/astrology/glossary/true-and-mean-node): The true node and the mean node are two ways to calculate Rahu and Ketu, the lunar nodes. The true node is the actual point where the Moon's orbit crosses the Sun's path, which wobbles back and forth. The mean node is a smoothed average that moves steadily backward. They differ by up to about 1.5 degrees. The API uses the true node unless you ask for mean.
- **Julian day** (https://apiforastrology.com/astrology/glossary/julian-day): A Julian day number counts days, with a fraction for the time of day, from noon on January 1, 4713 BC. Astronomers use it to give any moment one plain number that is easy to subtract. The API reports the birth moment as a Julian day in Terrestrial Time, a uniform time scale used for planet positions.
- **Ephemeris** (https://apiforastrology.com/astrology/glossary/ephemeris): An ephemeris is a table or model of where the Sun, Moon and planets are at each moment. The API calculates positions from NASA JPL's DE440s ephemeris, which covers the years 1850 to 2149. That range is why the API accepts dates only in those years.
- **Bhava chalit** (https://apiforastrology.com/astrology/glossary/bhava-chalit): The bhava chalit is a second house table found next to the birth chart in most printed kundlis. Its houses are measured from the exact degree of the ascendant, not from whole signs. So a planet near the edge of a sign can fall in the house before or after.
- **KP astrology (Krishnamurti Paddhati)** (https://apiforastrology.com/astrology/glossary/kp-astrology): KP astrology, or Krishnamurti Paddhati, is a school of Vedic astrology started by K. S. Krishnamurti. It uses its own ayanamsa and Placidus house cusps. It splits each nakshatra into nine unequal parts, ruled by sub lords, and reads results from them.
- **Special lagnas** (https://apiforastrology.com/astrology/glossary/special-lagnas): Special lagnas are extra rising points used beside the ascendant. Most of them move at a fixed pace from sunrise, so they change much faster than the ascendant. Astrologers read each one for one area of life, such as wealth or status.
- **Yogi point, yogi and avayogi** (https://apiforastrology.com/astrology/glossary/yogi-point): The yogi point is a degree found by adding the Sun, the Moon and 93 degrees 20 minutes. The ruler of its nakshatra is the yogi, a planet held to bring luck. The avayogi is a planet held to bring obstacles.
### Nakshatras
- **Nakshatra** (https://apiforastrology.com/astrology/glossary/nakshatra): A nakshatra is one of 27 star groups along the Moon's path, each 13°20′ wide. Each nakshatra has four quarters, called padas, of 3°20′ each. The Moon's nakshatra at birth, often called the birth star, sets the dasha periods. It is also central to marriage matching and to picking good times.
- **Pada** (https://apiforastrology.com/astrology/glossary/pada): A pada is one quarter of a nakshatra, 3 degrees 20 minutes wide. Each nakshatra has four padas, so the zodiac has 108. Each pada falls in exactly one navamsa sign, which is why the navamsa chart can be read from the padas. The Moon's pada is also used in matching and in traditional baby naming.
- **Nakshatra lord** (https://apiforastrology.com/astrology/glossary/nakshatra-lord): The nakshatra lord is the planet that rules a nakshatra in the Vimshottari dasha system. The nine grahas rule three nakshatras each, in the repeating order Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury. The lord of the Moon's nakshatra at birth rules the first dasha of a person's life.
- **Sub lord (KP)** (https://apiforastrology.com/astrology/glossary/sub-lord): In KP astrology, a sub lord is the planet that rules a sub, one of the nine parts of each nakshatra. KP reads the sub lord of a planet or a house cusp as the deciding factor for its results.
- **Ashwini** (https://apiforastrology.com/astrology/glossary/ashwini): Ashwini is nakshatra 1 of the 27. It covers the sidereal zodiac from 0° Aries to 13°20′ Aries; like every nakshatra, it is 13°20′ wide. Its ruling planet in the Vimshottari dasha is Ketu, so a person born with the Moon in Ashwini starts life in the main period of Ketu.
- **Bharani** (https://apiforastrology.com/astrology/glossary/bharani): Bharani is the 2nd of the 27 nakshatras. It spans 13°20′ Aries to 26°40′ Aries in the sidereal zodiac, the same 13°20′ width every nakshatra has. Venus rules it in the Vimshottari dasha: a Moon in Bharani at birth means life begins in the main period of Venus.
- **Krittika** (https://apiforastrology.com/astrology/glossary/krittika): Nakshatra 3 of the 27 is Krittika. Its 13°20′ stretch of the sidereal zodiac runs from 26°40′ Aries to 10° Taurus. Its Vimshottari lord is the Sun, so a child born with the Moon here begins life in the main period of the Sun.
- **Rohini** (https://apiforastrology.com/astrology/glossary/rohini): Rohini is nakshatra 4 of the 27. It covers the sidereal zodiac from 10° Taurus to 23°20′ Taurus; like every nakshatra, it is 13°20′ wide. Its ruling planet in the Vimshottari dasha is the Moon, so a person born with the Moon in Rohini starts life in the main period of the Moon.
- **Mrigashira** (https://apiforastrology.com/astrology/glossary/mrigashira): Mrigashira is the 5th of the 27 nakshatras. It spans 23°20′ Taurus to 6°40′ Gemini in the sidereal zodiac, the same 13°20′ width every nakshatra has. Mars rules it in the Vimshottari dasha: a Moon in Mrigashira at birth means life begins in the main period of Mars.
- **Ardra** (https://apiforastrology.com/astrology/glossary/ardra): Nakshatra 6 of the 27 is Ardra. Its 13°20′ stretch of the sidereal zodiac runs from 6°40′ Gemini to 20° Gemini. Its Vimshottari lord is Rahu, so a child born with the Moon here begins life in the main period of Rahu.
- **Punarvasu** (https://apiforastrology.com/astrology/glossary/punarvasu): Punarvasu is nakshatra 7 of the 27. It covers the sidereal zodiac from 20° Gemini to 3°20′ Cancer; like every nakshatra, it is 13°20′ wide. Its ruling planet in the Vimshottari dasha is Jupiter, so a person born with the Moon in Punarvasu starts life in the main period of Jupiter.
- **Pushya** (https://apiforastrology.com/astrology/glossary/pushya): Pushya is the 8th of the 27 nakshatras. It spans 3°20′ Cancer to 16°40′ Cancer in the sidereal zodiac, the same 13°20′ width every nakshatra has. Saturn rules it in the Vimshottari dasha: a Moon in Pushya at birth means life begins in the main period of Saturn.
- **Ashlesha** (https://apiforastrology.com/astrology/glossary/ashlesha): Nakshatra 9 of the 27 is Ashlesha. Its 13°20′ stretch of the sidereal zodiac runs from 16°40′ Cancer to 30° Cancer. Its Vimshottari lord is Mercury, so a child born with the Moon here begins life in the main period of Mercury.
- **Magha** (https://apiforastrology.com/astrology/glossary/magha): Magha is nakshatra 10 of the 27. It covers the sidereal zodiac from 0° Leo to 13°20′ Leo; like every nakshatra, it is 13°20′ wide. Its ruling planet in the Vimshottari dasha is Ketu, so a person born with the Moon in Magha starts life in the main period of Ketu.
- **Purva Phalguni** (https://apiforastrology.com/astrology/glossary/purva-phalguni): Purva Phalguni is the 11th of the 27 nakshatras. It spans 13°20′ Leo to 26°40′ Leo in the sidereal zodiac, the same 13°20′ width every nakshatra has. Venus rules it in the Vimshottari dasha: a Moon in Purva Phalguni at birth means life begins in the main period of Venus.
- **Uttara Phalguni** (https://apiforastrology.com/astrology/glossary/uttara-phalguni): Nakshatra 12 of the 27 is Uttara Phalguni. Its 13°20′ stretch of the sidereal zodiac runs from 26°40′ Leo to 10° Virgo. Its Vimshottari lord is the Sun, so a child born with the Moon here begins life in the main period of the Sun.
- **Hast (Hasta)** (https://apiforastrology.com/astrology/glossary/hast): Hast, also spelled Hasta, is nakshatra 13 of the 27. It covers the sidereal zodiac from 10° Virgo to 23°20′ Virgo; like every nakshatra, it is 13°20′ wide. Its ruling planet in the Vimshottari dasha is the Moon, so a person born with the Moon in Hast starts life in the main period of the Moon.
- **Chitra** (https://apiforastrology.com/astrology/glossary/chitra): Chitra is the 14th of the 27 nakshatras. It spans 23°20′ Virgo to 6°40′ Libra in the sidereal zodiac, the same 13°20′ width every nakshatra has. Mars rules it in the Vimshottari dasha: a Moon in Chitra at birth means life begins in the main period of Mars.
- **Swati** (https://apiforastrology.com/astrology/glossary/swati): Nakshatra 15 of the 27 is Swati. Its 13°20′ stretch of the sidereal zodiac runs from 6°40′ Libra to 20° Libra. Its Vimshottari lord is Rahu, so a child born with the Moon here begins life in the main period of Rahu.
- **Vishakha** (https://apiforastrology.com/astrology/glossary/vishakha): Vishakha is nakshatra 16 of the 27. It covers the sidereal zodiac from 20° Libra to 3°20′ Scorpio; like every nakshatra, it is 13°20′ wide. Its ruling planet in the Vimshottari dasha is Jupiter, so a person born with the Moon in Vishakha starts life in the main period of Jupiter.
- **Anuradha** (https://apiforastrology.com/astrology/glossary/anuradha): Anuradha is the 17th of the 27 nakshatras. It spans 3°20′ Scorpio to 16°40′ Scorpio in the sidereal zodiac, the same 13°20′ width every nakshatra has. Saturn rules it in the Vimshottari dasha: a Moon in Anuradha at birth means life begins in the main period of Saturn.
- **Jyeshtha** (https://apiforastrology.com/astrology/glossary/jyeshtha): Nakshatra 18 of the 27 is Jyeshtha. Its 13°20′ stretch of the sidereal zodiac runs from 16°40′ Scorpio to 30° Scorpio. Its Vimshottari lord is Mercury, so a child born with the Moon here begins life in the main period of Mercury.
- **Mool (Mula)** (https://apiforastrology.com/astrology/glossary/mool): Mool, also spelled Mula, is nakshatra 19 of the 27. It covers the sidereal zodiac from 0° Sagittarius to 13°20′ Sagittarius; like every nakshatra, it is 13°20′ wide. Its ruling planet in the Vimshottari dasha is Ketu, so a person born with the Moon in Mool starts life in the main period of Ketu.
- **Purva Ashadha** (https://apiforastrology.com/astrology/glossary/purva-ashadha): Purva Ashadha is the 20th of the 27 nakshatras. It spans 13°20′ Sagittarius to 26°40′ Sagittarius in the sidereal zodiac, the same 13°20′ width every nakshatra has. Venus rules it in the Vimshottari dasha: a Moon in Purva Ashadha at birth means life begins in the main period of Venus.
- **Uttara Ashadha** (https://apiforastrology.com/astrology/glossary/uttara-ashadha): Nakshatra 21 of the 27 is Uttara Ashadha. Its 13°20′ stretch of the sidereal zodiac runs from 26°40′ Sagittarius to 10° Capricorn. Its Vimshottari lord is the Sun, so a child born with the Moon here begins life in the main period of the Sun.
- **Shravan (Shravana)** (https://apiforastrology.com/astrology/glossary/shravan): Shravan, also spelled Shravana, is nakshatra 22 of the 27. It covers the sidereal zodiac from 10° Capricorn to 23°20′ Capricorn; like every nakshatra, it is 13°20′ wide. Its ruling planet in the Vimshottari dasha is the Moon, so a person born with the Moon in Shravan starts life in the main period of the Moon.
- **Dhanishtha** (https://apiforastrology.com/astrology/glossary/dhanishtha): Dhanishtha is the 23rd of the 27 nakshatras. It spans 23°20′ Capricorn to 6°40′ Aquarius in the sidereal zodiac, the same 13°20′ width every nakshatra has. Mars rules it in the Vimshottari dasha: a Moon in Dhanishtha at birth means life begins in the main period of Mars.
- **Shatabhisha** (https://apiforastrology.com/astrology/glossary/shatabhisha): Nakshatra 24 of the 27 is Shatabhisha. Its 13°20′ stretch of the sidereal zodiac runs from 6°40′ Aquarius to 20° Aquarius. Its Vimshottari lord is Rahu, so a child born with the Moon here begins life in the main period of Rahu.
- **Purva Bhadrapada** (https://apiforastrology.com/astrology/glossary/purva-bhadrapada): Purva Bhadrapada is nakshatra 25 of the 27. It covers the sidereal zodiac from 20° Aquarius to 3°20′ Pisces; like every nakshatra, it is 13°20′ wide. Its ruling planet in the Vimshottari dasha is Jupiter, so a person born with the Moon in Purva Bhadrapada starts life in the main period of Jupiter.
- **Uttara Bhadrapada** (https://apiforastrology.com/astrology/glossary/uttara-bhadrapada): Uttara Bhadrapada is the 26th of the 27 nakshatras. It spans 3°20′ Pisces to 16°40′ Pisces in the sidereal zodiac, the same 13°20′ width every nakshatra has. Saturn rules it in the Vimshottari dasha: a Moon in Uttara Bhadrapada at birth means life begins in the main period of Saturn.
- **Revati** (https://apiforastrology.com/astrology/glossary/revati): Nakshatra 27 of the 27 is Revati. Its 13°20′ stretch of the sidereal zodiac runs from 16°40′ Pisces to 30° Pisces. Its Vimshottari lord is Mercury, so a child born with the Moon here begins life in the main period of Mercury.
### Dashas (planetary periods)
- **Vimshottari dasha** (https://apiforastrology.com/astrology/glossary/vimshottari): Vimshottari dasha is the most widely used dasha (planet period) system. It is a 120-year cycle of nine periods, one per planet, from 6 years for the Sun to 20 for Venus. The ruler of the Moon's nakshatra (birth star) at birth runs the first period. How far the Moon has moved through that nakshatra sets how much of it is left.
- **Dasha** (https://apiforastrology.com/astrology/glossary/dasha): A dasha is a planetary period. Vedic astrology divides a life into periods, each ruled by one planet, and reads what happens by the period that is running. Periods are nested: a main period (mahadasha) holds sub-periods (antardashas), which hold smaller ones in turn. The API returns calendar start and end dates for each.
- **Mahadasha** (https://apiforastrology.com/astrology/glossary/mahadasha): A mahadasha is a main planetary period. In the Vimshottari system there are nine, one per planet, lasting from 6 years (the Sun) to 20 years (Venus), 120 years in all. The one running at birth is set by the Moon's nakshatra, and part of it has usually passed already.
- **Antardasha** (https://apiforastrology.com/astrology/glossary/antardasha): An antardasha is a sub-period inside a mahadasha. Each mahadasha is split into nine antardashas, one per planet, in a fixed order that starts with the mahadasha's own planet. Each lasts in proportion to that planet's share of the 120-year Vimshottari cycle.
- **Pratyantardasha** (https://apiforastrology.com/astrology/glossary/pratyantardasha): A pratyantardasha is the third level of a Vimshottari dasha: a sub-period inside an antardasha. Each antardasha is split into nine pratyantardashas, one per planet, in the usual order. Each lasts the antardasha's length times that planet's years, divided by 120. These short periods are mainly used to time events in the near future.
- **Yogini dasha** (https://apiforastrology.com/astrology/glossary/yogini-dasha): Yogini dasha is a second dasha system with a 36-year cycle of eight periods. Each period is named after a yogini and linked to a planet, and they last 1 to 8 years. Like Vimshottari, the first period is set by the Moon's nakshatra at birth.
- **Dasha sandhi** (https://apiforastrology.com/astrology/glossary/dasha-sandhi): Dasha sandhi is the junction between two main planetary periods, when one mahadasha ends and the next begins. The outgoing and incoming planets give mixed signals, so tradition avoids weddings in this window. The API's matching check treats it as the first or last sub-period of a main period. So the window is wider than a single day.
- **Ashtottari dasha** (https://apiforastrology.com/astrology/glossary/ashtottari-dasha): Ashtottari dasha is a third system of planetary periods, next to Vimshottari and Yogini. Eight planets rule periods that add up to 108 years, from 6 years for the Sun to 21 for Venus. Ketu rules no period. Classical texts use it only for charts that meet certain conditions.
- **Mangala yogini dasha** (https://apiforastrology.com/astrology/glossary/mangala-yogini): Mangala dasha is period 1 of the eight in the Yogini dasha. It is linked to the Moon and lasts 1 year. The periods always run in the same order, Mangala to Sankata, and one full cycle takes 36 years. The Moon's nakshatra (birth star) at birth decides which period a life starts in.
- **Pingala yogini dasha** (https://apiforastrology.com/astrology/glossary/pingala-yogini): In the Yogini dasha, Pingala dasha is the 2nd of eight periods: it lasts 2 years and belongs to the Sun. All eight run in a fixed order from Mangala to Sankata, 36 years in all. Which period a life starts in depends on the Moon's nakshatra (birth star) at birth.
- **Dhanya yogini dasha** (https://apiforastrology.com/astrology/glossary/dhanya-yogini): Dhanya dasha is the 3rd period of the Yogini dasha, a 36-year cycle of eight periods. It runs for 3 years and is tied to Jupiter. The cycle always goes from Mangala to Sankata, then starts again. A life starts in the period set by the Moon's nakshatra (birth star) at birth.
- **Bhramari yogini dasha** (https://apiforastrology.com/astrology/glossary/bhramari-yogini): Bhramari dasha is period 4 of the eight in the Yogini dasha. It is linked to Mars and lasts 4 years. The periods always run in the same order, Mangala to Sankata, and one full cycle takes 36 years. The Moon's nakshatra (birth star) at birth decides which period a life starts in.
- **Bhadrika yogini dasha** (https://apiforastrology.com/astrology/glossary/bhadrika-yogini): In the Yogini dasha, Bhadrika dasha is the 5th of eight periods: it lasts 5 years and belongs to Mercury. All eight run in a fixed order from Mangala to Sankata, 36 years in all. Which period a life starts in depends on the Moon's nakshatra (birth star) at birth.
- **Ulka yogini dasha** (https://apiforastrology.com/astrology/glossary/ulka-yogini): Ulka dasha is the 6th period of the Yogini dasha, a 36-year cycle of eight periods. It runs for 6 years and is tied to Saturn. The cycle always goes from Mangala to Sankata, then starts again. A life starts in the period set by the Moon's nakshatra (birth star) at birth.
- **Siddha yogini dasha** (https://apiforastrology.com/astrology/glossary/siddha-yogini): Siddha dasha is period 7 of the eight in the Yogini dasha. It is linked to Venus and lasts 7 years. The periods always run in the same order, Mangala to Sankata, and one full cycle takes 36 years. The Moon's nakshatra (birth star) at birth decides which period a life starts in.
- **Sankata yogini dasha** (https://apiforastrology.com/astrology/glossary/sankata-yogini): In the Yogini dasha, Sankata dasha is the 8th of eight periods: it lasts 8 years and belongs to Rahu. All eight run in a fixed order from Mangala to Sankata, 36 years in all. Which period a life starts in depends on the Moon's nakshatra (birth star) at birth.
### Matching
- **Ashtakoot (guna milan)** (https://apiforastrology.com/astrology/glossary/ashtakoot): Ashtakoot, also called guna milan, is the 36-point marriage match used mostly in North India. It compares the two birth Moons on eight factors, called kootas, each worth 1 to 8 points. Nadi is worth the most, at 8 points. Many families look for at least 18 of the 36 points.
- **Dashakoot** (https://apiforastrology.com/astrology/glossary/dashakoot): Dashakoot is the South Indian way to match two charts for marriage. It asks ten yes-or-no questions, called poruthams, about the two birth Moons. It counts how many agree and gives no points, so it is not a score out of 36. Five checks are seen as essential: dina, gana, yoni, rasi and rajju.
- **Papa samyam** (https://apiforastrology.com/astrology/glossary/papa-samyam): Papa samyam is a count of malefic influence used in marriage matching. It counts the five malefics (the Sun, Mars, Saturn, Rahu and Ketu) in houses 1, 2, 4, 7, 8 and 12, counted from the ascendant, the Moon and Venus. Matching then compares the two people's counts.
- **Koota** (https://apiforastrology.com/astrology/glossary/koota): A koota is one of the eight factors of ashtakoot matching: varna, vashya, tara, yoni, graha maitri, gana, bhakoot and nadi. They are worth 1 to 8 points in that order, 36 in all. All eight come from the two people's Moon signs and Moon nakshatras.
- **Varna koota** (https://apiforastrology.com/astrology/glossary/varna-koota): Varna koota is the first koota (matching factor) in guna milan, worth 1 point. It ranks each Moon sign by its element: water signs are Brahmin, fire Kshatriya, earth Vaishya and air Shudra. The point is scored when the groom's rank is equal to or higher than the bride's. Otherwise it scores 0.
- **Vashya koota** (https://apiforastrology.com/astrology/glossary/vashya-koota): Vashya koota is the second koota (matching factor) in guna milan, worth 2 points. It puts each Moon sign in one of five kinds: four-footed, human, water, wild and insect. The same kind on both sides scores the full 2 points. It is read as a rough measure of how the two will get along.
- **Tara koota** (https://apiforastrology.com/astrology/glossary/tara-koota): Tara koota is the third koota (matching factor) in guna milan, worth 3 points. It counts from each person's Moon nakshatra to the other's, in both directions. Each count is divided by 9, and the remainder is the tara. Each direction that lands on a favorable tara earns 1.5 points.
- **Yoni koota** (https://apiforastrology.com/astrology/glossary/yoni-koota): Yoni is the fourth koota, worth 4 points. Each nakshatra is linked to one of 14 animals, male or female. The score depends on how well the two animals get along: the same animal scores highest, and natural enemies score zero.
- **Graha maitri** (https://apiforastrology.com/astrology/glossary/graha-maitri): Graha maitri is the fifth koota (matching factor) in guna milan, worth 5 points. It compares the planets that rule the two people's Moon signs. Two planets that are friends score the full 5 points, and two enemies score 0. It is often read as a measure of how well two minds fit.
- **Gana koota** (https://apiforastrology.com/astrology/glossary/gana-koota): Gana koota is the sixth koota (matching factor) in guna milan, worth 6 points. Each nakshatra has one of three temperaments: Deva (divine), Manushya (human) or Rakshasa (demonic). The same gana on both sides scores the full 6. Mixed ganas score less, and swapping the bride and groom can change the score.
- **Bhakoot** (https://apiforastrology.com/astrology/glossary/bhakoot): Bhakoot is the seventh koota, worth 7 points. It looks at how many signs apart the two Moon signs are. The pairs 2 and 12, 5 and 9, and 6 and 8 score zero, which is called bhakoot dosha. Every other pair scores the full 7.
- **Nadi koota** (https://apiforastrology.com/astrology/glossary/nadi-koota): Nadi is the eighth koota, worth 8 points, the most of any. Each nakshatra has one of three nadis: Adi, Madhya or Antya. The same nadi for both people scores zero, which is called nadi dosha; different nadis score the full 8.
- **Rajju** (https://apiforastrology.com/astrology/glossary/rajju): Rajju is a matching check from South India. The 27 nakshatras are grouped by parts of the body: foot, waist, navel, neck and head. When both Moon nakshatras fall in the same group, it is a rajju dosha. The API reports it next to the 36-point score, not in it.
- **Porutham** (https://apiforastrology.com/astrology/glossary/porutham): A porutham is one of the ten checks in South Indian matching, called dashakoot. Each check passes or fails instead of giving points. The ten are dina, gana, mahendra, stree deergha, yoni, rasi, rasi adhipati, vashya, rajju and vedha. Five are seen as essential: dina, gana, yoni, rasi and rajju.
- **Parasparam** (https://apiforastrology.com/astrology/glossary/parasparam): Parasparam reads two charts against each other: where each person's planets fall in the other person's houses, for example his Jupiter in her 7th house. It is returned both ways and not scored. It covers what the 36-point score leaves out, since that score uses only the two Moons.
### Yogas and doshas
- **Manglik dosha** (https://apiforastrology.com/astrology/glossary/manglik): Manglik dosha is a Mars check used in marriage matching. A chart is manglik when Mars sits in house 1, 2, 4, 7, 8 or 12. The houses are counted three ways: from the ascendant, from the Moon and from Venus. Tradition looks at whether both partners are manglik or neither is, not at one chart alone.
- **Yoga (in a chart)** (https://apiforastrology.com/astrology/glossary/yoga): In a birth chart, a yoga is a named combination of planets that tradition links to a result, such as wealth, fame or hardship. Gajakesari yoga, for example, needs Jupiter in a kendra from the Moon. The API reports each yoga it finds, and each one it checked but did not find, with the rule it tested. It is not the same as the panchang yoga.
- **Raj yoga** (https://apiforastrology.com/astrology/glossary/raj-yoga): A raj yoga (raja yoga) is a combination that tradition links to status and success. The classic form joins the lord of a kendra (house 4, 7 or 10) with the lord of a trikona (house 5 or 9), by sitting together, by aspect, or by exchanging signs. House 1 counts as both a kendra and a trikona, so the API leaves it out of this pairing (rule YG-30).
- **Pancha mahapurusha yoga** (https://apiforastrology.com/astrology/glossary/pancha-mahapurusha-yoga): The pancha mahapurusha yogas are five yogas, one for each visible planet other than the Sun and Moon: Ruchaka (Mars), Bhadra (Mercury), Hamsa (Jupiter), Malavya (Venus) and Sasa (Saturn). Each forms when that planet is in its own or exaltation sign and in a kendra.
- **Gajakesari yoga** (https://apiforastrology.com/astrology/glossary/gajakesari-yoga): Gajakesari yoga is the yoga formed when Jupiter sits in a kendra (angle) from the Moon. That means Jupiter is in the Moon's sign, or 4, 7 or 10 signs away. The name means elephant and lion. Tradition links it to reputation, good judgment and lasting success. It shows up in about one chart in three.
- **Budhaditya yoga** (https://apiforastrology.com/astrology/glossary/budhaditya-yoga): Budhaditya yoga is the yoga formed when the Sun and Mercury sit in the same sign. The name means Mercury and the Sun together. It is very common, because Mercury is never more than about 28 degrees from the Sun. Tradition links it to quick thinking and skill with words.
- **Neecha bhanga** (https://apiforastrology.com/astrology/glossary/neecha-bhanga): Neecha bhanga means cancelled debilitation. It applies when a debilitated planet is rescued by certain placements, for example when the ruler of the sign it is in sits in a kendra from the ascendant or from the Moon. Tradition then treats the planet as no longer weak.
- **Parivartana yoga** (https://apiforastrology.com/astrology/glossary/parivartana-yoga): Parivartana yoga is an exchange of signs: two planets each sit in the sign the other rules, such as Mars in Taurus and Venus in Aries. The API names the exchange by the two houses those signs fall in, counted from the rising sign (ascendant). Maha Parivartana: both are good houses (1, 2, 4, 5, 7, 9, 10 or 11). Khala Yoga: one is the 3rd house, and neither is the 6th, 8th or 12th. Dainya Yoga: one is the 6th, 8th or 12th house, and it is read as a hard exchange.
- **Kemadruma yoga** (https://apiforastrology.com/astrology/glossary/kemadruma-yoga): Kemadruma yoga is the Moon standing alone in a birth chart. No planet sits in the sign before the Moon or the sign after it. No planet sits in a kendra from the Moon either, and the Sun, Rahu and Ketu do not count. Tradition links it to loneliness and money trouble, and many texts list ways to cancel it.
- **Nabhasa yoga** (https://apiforastrology.com/astrology/glossary/nabhasa-yoga): Nabhasa yogas are chart patterns based on how the planets are spread across the signs, not on any one planet. The classical texts list 32 of them in four groups: by the kind of sign the planets sit in, by where they fall, by the shape they make, and by how many signs they fill.
- **Dosha** (https://apiforastrology.com/astrology/glossary/dosha): A dosha is a chart feature that tradition treats as a problem, mostly in marriage matching. The API checks manglik dosha, kaal sarp dosh and pitra dosh. Each result says whether the dosha is present, the rule used and the placements that decided it. Known cancellations are listed, not applied.
- **Kaal sarp dosh** (https://apiforastrology.com/astrology/glossary/kaal-sarp-dosh): Kaal sarp dosh (kaal sarpa dosha) is said to form when all seven planets from the Sun to Saturn sit on one side of the Rahu and Ketu axis. So all of them sit between Rahu and Ketu, two points on the Moon's path. It is a later tradition, not found in the oldest texts. Schools of astrology differ on its details.
- **Pitra dosh** (https://apiforastrology.com/astrology/glossary/pitra-dosh): Pitra dosh (pitra dosha) is a chart feature traditionally linked to ancestors. Rules differ between schools. The API reports it when the Sun, Rahu or Ketu afflicts the 9th house or its ruler, or when the ruler of the 9th house sits in house 6, 8 or 12.
### Planet condition and strength
- **Shadbala** (https://apiforastrology.com/astrology/glossary/shadbala): Shadbala, meaning six-fold strength, scores how strong each planet from the Sun to Saturn is. It adds six parts: position, direction, time, motion, natural strength and aspects. Each part is measured in virupas, and 60 virupas make one rupa. A planet's total is compared with its classical minimum, and a ratio of 1 or more means strong.
- **Dignity** (https://apiforastrology.com/astrology/glossary/dignity): Dignity says how well a planet is placed in its sign. The API reports one of seven values: exalted, debilitated, mulatrikona, own sign, friend, enemy or neutral. When more than one applies, only the strongest is reported. Friend and enemy compare the planet with the planet that rules its sign.
- **Exaltation (uchcha)** (https://apiforastrology.com/astrology/glossary/exaltation): A planet is exalted, or uchcha, in the one sign where tradition holds it is strongest. The Sun is exalted in Aries, the Moon in Taurus, Mars in Capricorn, Mercury in Virgo, Jupiter in Cancer, Venus in Pisces and Saturn in Libra. The opposite sign is its debilitation sign.
- **Debilitation (neecha)** (https://apiforastrology.com/astrology/glossary/debilitation): A planet is debilitated, or neecha, in the sign opposite its exaltation sign, where tradition holds it is weakest. For example, the Sun is debilitated in Libra and Saturn in Aries. Certain other placements can cancel the weakness; this is called neecha bhanga.
- **Mulatrikona** (https://apiforastrology.com/astrology/glossary/mulatrikona): Mulatrikona is a sign, or part of a sign, where a planet is strong and at ease, ranked just below exaltation and above its other own sign. Each of the seven visible planets has one. For example, the Sun's mulatrikona is in Leo, Mars's in Aries and Saturn's in Aquarius.
- **Own sign (svakshetra)** (https://apiforastrology.com/astrology/glossary/own-sign): A planet is in its own sign, or svakshetra, when it sits in a sign it rules, such as Mars in Aries or Scorpio, or Venus in Taurus or Libra. Tradition treats this as a strong placement, where the planet is at ease.
- **Retrograde (vakri)** (https://apiforastrology.com/astrology/glossary/retrograde): A planet is retrograde, or vakri, when it appears from Earth to move backward through the zodiac for a while. It is an effect of the Earth and the planet moving at different speeds around the Sun. The API marks it with a retrograde flag and a negative speed. Rahu and Ketu are always reported as retrograde, following tradition.
- **Combustion (asta)** (https://apiforastrology.com/astrology/glossary/combustion): A planet is combust, or asta, when it is so close to the Sun in the sky that it is lost in the Sun's glare. Tradition treats a combust planet as weakened. How close counts differs for each planet. The API returns a combust flag for every planet in a chart.
- **Vargottama** (https://apiforastrology.com/astrology/glossary/vargottama): A planet is vargottama, meaning best in its division, when it sits in the same sign in the birth chart (D1) and the navamsa (D9). Tradition reads this as a sign of strength. It happens in the first ninth of a movable sign, the middle ninth of a fixed sign and the last ninth of a dual sign.
- **Yogakaraka** (https://apiforastrology.com/astrology/glossary/yogakaraka): A yogakaraka is a planet that rules both a kendra (house 4, 7 or 10) and a trikona (house 5 or 9) for a given rising sign. Tradition treats it as the most helpful planet for that chart. For example, Saturn is the yogakaraka for Taurus and Libra rising, and Mars for Cancer and Leo rising.
- **Graha yuddha (planetary war)** (https://apiforastrology.com/astrology/glossary/graha-yuddha): Graha yuddha, or planetary war, happens when two of the five planets Mars, Mercury, Jupiter, Venus and Saturn are within one degree of each other. Tradition names one the winner and treats the loser as weakened. The Sun, Moon and nodes do not take part.
- **Ashtakavarga** (https://apiforastrology.com/astrology/glossary/ashtakavarga): Ashtakavarga is a scoring system that rates each sign of a chart from eight reference points: the seven visible planets and the ascendant. For each planet, every sign earns 0 to 8 points, called bindus. A sign with more bindus is a better place for that planet, which astrologers use to judge how a transit will go.
- **Bindu** (https://apiforastrology.com/astrology/glossary/bindu): A bindu is one point in ashtakavarga. For each planet, each sign earns 0 to 8 bindus. A planet's bindus across the 12 signs always add up to the same fixed total, for example 48 for the Sun and 39 for Saturn. All seven planets together always total 337.
- **Sarvashtakavarga** (https://apiforastrology.com/astrology/glossary/sarvashtakavarga): Sarvashtakavarga is the combined ashtakavarga: for each sign, the bindus from all seven planets added together. The 12 totals always sum to 337, an average of about 28 per sign. Signs above 28 are traditionally read as strong, and signs well below it as weak.
- **Virupa and rupa** (https://apiforastrology.com/astrology/glossary/virupa): Virupas and rupas are the units of shadbala, the six-part strength score. 60 virupas make one rupa. Each planet has a classical minimum it needs to count as strong, and the API reports the ratio of its score to that minimum, so a ratio of 1 or more means strong.
- **Vimshopaka bala** (https://apiforastrology.com/astrology/glossary/vimshopaka-bala): Vimshopaka bala is a strength score out of 20 for each planet. It looks at how well the planet is placed in a set of divisional charts, not only in the birth chart. A higher score means the planet is well placed in more of them.
- **Ishta and kashta phala** (https://apiforastrology.com/astrology/glossary/ishta-kashta-phala): Ishta phala and kashta phala measure how much good and how much harm a planet is able to give. Each is a number out of 60. They come from two parts of shadbala: the planet's exaltation strength and its strength of motion. Only the seven planets from the Sun to Saturn get them.
- **Planet friendship (panchadha maitri)** (https://apiforastrology.com/astrology/glossary/planet-friendship): Planet friendship, or panchadha maitri, says how each planet treats every other planet. Natural friendship is fixed by tradition and is the same in every chart. Temporary friendship comes from where two planets sit in one chart. Together they give five grades, from great friend to great enemy, and one planet's view can differ from the other's.
- **Avastha (planet state)** (https://apiforastrology.com/astrology/glossary/avastha): An avastha is a planet's state: the condition it is in to give its results. Where a planet sits says what it promises. Its avastha says how fully it can deliver. The classical text BPHS describes several sets of states.
### Panchang and calendar
- **Panchang** (https://apiforastrology.com/astrology/glossary/panchang): The panchang is the Hindu almanac for a day and a place. Its name means five limbs: tithi (the lunar day), vara (the weekday), nakshatra (the Moon's star group), yoga and karana. A day's panchang is read at local sunrise, so it can differ from city to city.
- **Tithi** (https://apiforastrology.com/astrology/glossary/tithi): A tithi is a lunar day: the time it takes the Moon to gain 12 degrees on the Sun. There are 30 in a lunar month, 15 in the waxing half and 15 in the waning half. A tithi can be shorter or longer than a calendar day. The Hindu calendar names each day by the tithi running at sunrise.
- **Paksha** (https://apiforastrology.com/astrology/glossary/paksha): A paksha is one half of the lunar month: 15 tithis, a little under 15 days. Shukla paksha is the bright, waxing half, from new moon to full moon. Krishna paksha is the dark, waning half, from full moon to new moon. Many fasts and festivals fall on a tithi in a named paksha.
- **Vara (weekday)** (https://apiforastrology.com/astrology/glossary/vara): Vara is the weekday, one of the five parts of the panchang. Each weekday is ruled by a planet: Sunday by the Sun, Monday by the Moon, Tuesday by Mars, Wednesday by Mercury, Thursday by Jupiter, Friday by Venus and Saturday by Saturn. In the Hindu calendar a day runs from sunrise to sunrise, not midnight to midnight.
- **Karana** (https://apiforastrology.com/astrology/glossary/karana): A karana is half a tithi: the time it takes the Moon to gain 6 degrees on the Sun. There are 60 in a lunar month, drawn from 11 names. Seven repeat in a cycle, and four fixed ones fall once a month around the new moon. Vishti, also called bhadra, is avoided for new starts.
- **Panchang yoga** (https://apiforastrology.com/astrology/glossary/panchang-yoga): The panchang yoga is one of the five parts of the Hindu calendar day. It comes from adding the longitudes of the Sun and the Moon: each 13 degrees 20 minutes of the sum is one of 27 yogas, from Vishkambha to Vaidhriti. It is a different thing from a yoga in a birth chart.
- **Masa (lunar month)** (https://apiforastrology.com/astrology/glossary/masa): A masa is a month of the Hindu lunisolar calendar. There are 12, from Chaitra to Phalguna. Some regions end each month at the new moon (amanta) and others at the full moon (purnimanta). About every three years a leap month, adhika masa, is added to keep the calendar in step with the seasons.
- **Ritu (season)** (https://apiforastrology.com/astrology/glossary/ritu): A ritu is one of the six seasons of the Hindu calendar, each two lunar months long. They are Vasanta (spring), Grishma (summer), Varsha (monsoon), Sharad (autumn), Hemanta (early winter) and Sisira (late winter). The ritu follows the lunar month, not the local weather. Vasanta begins with the month of Chaitra.
- **Ayana** (https://apiforastrology.com/astrology/glossary/ayana): Ayana is the half of the year in which the Sun moves north or south. Uttarayana is the northward half, from the winter solstice to the summer solstice, and Dakshinayana is the southward half. Many calendars count Uttarayana from Makar Sankranti, the Sun's entry into sidereal Capricorn, instead of from the solstice.
- **Samvat (era year)** (https://apiforastrology.com/astrology/glossary/samvat): A samvat is an era used to number years in Indian calendars. The two most common are the Vikram samvat, about 57 years ahead of the Western year, and the Shaka era, about 78 years behind it. The API's panchang gives the year in these eras.
- **Purnima** (https://apiforastrology.com/astrology/glossary/purnima): Purnima is the full moon day, the 15th tithi (lunar day) of the waxing half of the lunar month. The tithi ends at the exact full moon, when the Moon is 180 degrees from the Sun. Many festivals and fasts fall on it. In the purnimanta calendar, common in North India, each month ends on it.
- **Amavasya** (https://apiforastrology.com/astrology/glossary/amavasya): Amavasya is the new moon day, the last tithi of the waning half of the lunar month. In the amanta calendar, used in much of South and West India, each month ends on it. Tradition uses it for offerings to ancestors.
- **Ekadashi** (https://apiforastrology.com/astrology/glossary/ekadashi): Ekadashi is the 11th tithi of each half of the lunar month, and one of the most widely kept fasting days. There are about 24 a year, each with its own name, such as Nirjala or Mohini. Which calendar date the fast falls on depends on the tithi at sunrise at your place.
- **Sankashti chaturthi** (https://apiforastrology.com/astrology/glossary/sankashti-chaturthi): Sankashti chaturthi is the 4th tithi (lunar day) of the waning half of each lunar month. It is a monthly fast for Ganesha, kept 12 or 13 times a year. The fast ends when the Moon rises, so the moonrise time at your place matters. On a Tuesday it is called Angaraki Sankashti.
- **Pradosh** (https://apiforastrology.com/astrology/glossary/pradosh): Pradosh is the period around sunset. Pradosh vrat is a fast for Shiva kept on the 13th tithi (trayodashi) of each half of the lunar month, observed during that evening window. Its name changes with the weekday, such as Soma Pradosh on a Monday.
### Transits
- **Gochar (transits)** (https://apiforastrology.com/astrology/glossary/gochar): Gochar is the Vedic word for transits: where the planets are moving now, judged against a birth chart. Vedic astrology counts each planet's house from the birth Moon's sign, not from the ascendant. Each planet gives good results from some houses and difficult results from others. Another planet can block a good transit; this is called vedha.
- **Sade sati** (https://apiforastrology.com/astrology/glossary/sade-sati): Sade sati is the seven and a half years Saturn spends passing over the birth Moon. It covers three signs: the one before the Moon's sign, the Moon's sign and the one after. Each of its three phases lasts about two and a half years. Saturn circles the zodiac in about 29.5 years, so sade sati comes back about every 30 years.
- **Dhaiya** (https://apiforastrology.com/astrology/glossary/dhaiya): Dhaiya, or shani dhaiya, means two and a half. It is the roughly two and a half years Saturn spends in the 4th or the 8th sign from your Moon sign. Saturn in the 4th sign is called kantaka shani or ardha shani, and Saturn in the 8th is ashtama shani. Dhaiya is not sade sati, which is Saturn's seven and a half years around the Moon sign.
- **Vedha** (https://apiforastrology.com/astrology/glossary/vedha): Vedha means obstruction, or blocking. In Vedic astrology, it is the rule that one moving planet can block the good effect of another. A planet passing a good house from the birth Moon loses that good effect when another planet sits in the paired house, its vedha point. In South Indian marriage matching, vedha also names pairs of nakshatras (birth stars) that should not be matched.
- **Ingress (sankranti)** (https://apiforastrology.com/astrology/glossary/ingress): An ingress is the moment a planet moves into a new sign. The Sun's ingress is called a sankranti, and the 12 sankrantis mark the solar months; Makar Sankranti, the Sun entering Capricorn, is a major festival. The API gives ingress dates for any planet.
### Divisional charts (vargas)
- **Navamsa (D9 chart)** (https://apiforastrology.com/astrology/glossary/navamsa): The navamsa, or D9 chart, is the ninth divisional chart. It splits each sign into nine parts of 3°20′ and gives each part a sign. Astrologers read it for marriage and for the true strength of each planet. A planet in the same sign in the birth chart and the navamsa is called vargottama.
- **Varga (divisional chart)** (https://apiforastrology.com/astrology/glossary/varga): A varga is a divisional chart. It splits each sign into parts and maps each part to a sign, which gives a new chart used for one area of life. Most vargas use equal parts; the hora (D2) and the trimsamsa (D30) follow their own rules. The birth chart itself is D1, and the navamsa (D9) is the best known. The API supports 16 vargas, from D1 to D60.
- **Rasi (D1)** (https://apiforastrology.com/astrology/glossary/rasi-chart): Rasi (D1) is the birth chart itself: each sign is one whole part, so every planet sits in its actual sidereal sign. Every other divisional chart is built from it. The API describes its use as: the body and life as a whole.
- **Hora (D2)** (https://apiforastrology.com/astrology/glossary/hora-chart): Hora (D2) is one of the 16 divisional charts. It splits each sign into two halves of 15°. In odd signs the first half maps to Leo and the second to Cancer; in even signs it is the other way round, so only Leo and Cancer appear in this chart. The API describes its use as: wealth.
- **Drekkana (D3)** (https://apiforastrology.com/astrology/glossary/drekkana): Drekkana (D3) is a divisional chart that splits each sign into 3 parts of 10°. Each part is given a sign, so the planets fall into a new chart. The API lists its use as: siblings and courage. POST /v1/chart/D3 returns the sign and house of the ascendant and each planet in it.
- **Chaturthamsa (D4)** (https://apiforastrology.com/astrology/glossary/chaturthamsa): Chaturthamsa (D4) is one of the 16 divisional charts. It divides each sign into 4 parts of 7°30′ and gives each part a sign, which makes a new chart. The API describes its use as: property and fortune. POST /v1/chart/D4 returns the sign and house of the ascendant and each planet in it.
- **Saptamsa (D7)** (https://apiforastrology.com/astrology/glossary/saptamsa): Saptamsa (D7) cuts every sign into 7 equal parts of about 4.29° each. It maps each part to a sign of its own, building a separate chart from the same birth moment. It is one of the 16 divisional charts, and the API names its use as: children and progeny.
- **Dasamsa (D10)** (https://apiforastrology.com/astrology/glossary/dasamsa): Dasamsa (D10) is one of the 16 divisional charts. It divides each sign into 10 parts of 3° and gives each part a sign, which makes a new chart. The API describes its use as: profession and status. POST /v1/chart/D10 returns the sign and house of the ascendant and each planet in it.
- **Dwadasamsa (D12)** (https://apiforastrology.com/astrology/glossary/dwadasamsa): Dwadasamsa (D12) cuts every sign into 12 equal parts of 2°30′ each. It maps each part to a sign of its own, building a separate chart from the same birth moment. It is one of the 16 divisional charts, and the API names its use as: parents.
- **Shodasamsa (D16)** (https://apiforastrology.com/astrology/glossary/shodasamsa): Shodasamsa (D16) is a divisional chart that splits each sign into 16 parts of about 1.88°. Each part is given a sign, so the planets fall into a new chart. The API lists its use as: vehicles and comforts. POST /v1/chart/D16 returns the sign and house of the ascendant and each planet in it.
- **Vimsamsa (D20)** (https://apiforastrology.com/astrology/glossary/vimsamsa): Vimsamsa (D20) is one of the 16 divisional charts. It divides each sign into 20 parts of 1°30′ and gives each part a sign, which makes a new chart. The API describes its use as: spiritual practice. POST /v1/chart/D20 returns the sign and house of the ascendant and each planet in it.
- **Chaturvimsamsa (D24)** (https://apiforastrology.com/astrology/glossary/chaturvimsamsa): Chaturvimsamsa (D24) cuts every sign into 24 equal parts of 1°15′ each. It maps each part to a sign of its own, building a separate chart from the same birth moment. It is one of the 16 divisional charts, and the API names its use as: education and learning.
- **Bhamsa (D27)** (https://apiforastrology.com/astrology/glossary/bhamsa): Bhamsa (D27) is a divisional chart that splits each sign into 27 parts of about 1.11°. Each part is given a sign, so the planets fall into a new chart. The API lists its use as: strengths and weaknesses. POST /v1/chart/D27 returns the sign and house of the ascendant and each planet in it.
- **Trimsamsa (D30)** (https://apiforastrology.com/astrology/glossary/trimsamsa): Trimsamsa (D30) is one of the 16 divisional charts. Unlike most, it uses unequal parts: each sign is split into five parts of 5°, 5°, 8°, 7° and 5° in odd signs, and in the reverse order in even signs. Each part maps to a sign of the planet that rules it, Mars, Saturn, Jupiter, Mercury or Venus, so the Sun, the Moon, Rahu and Ketu never rule a part. The API describes its use as: misfortune and evils.
- **Khavedamsa (D40)** (https://apiforastrology.com/astrology/glossary/khavedamsa): Khavedamsa (D40) cuts every sign into 40 equal parts of 45′ each. It maps each part to a sign of its own, building a separate chart from the same birth moment. It is one of the 16 divisional charts, and the API names its use as: auspicious and inauspicious effects.
- **Akshavedamsa (D45)** (https://apiforastrology.com/astrology/glossary/akshavedamsa): Akshavedamsa (D45) is a divisional chart that splits each sign into 45 parts of 40′. Each part is given a sign, so the planets fall into a new chart. The API lists its use as: general conduct. POST /v1/chart/D45 returns the sign and house of the ascendant and each planet in it.
- **Shashtiamsa (D60)** (https://apiforastrology.com/astrology/glossary/shashtiamsa): Shashtiamsa (D60) is one of the 16 divisional charts. It divides each sign into 60 parts of 30′ and gives each part a sign, which makes a new chart. The API describes its use as: all past-life matters, the finest division. POST /v1/chart/D60 returns the sign and house of the ascendant and each planet in it.
### Jaimini astrology
- **Chara dasha** (https://apiforastrology.com/astrology/glossary/chara-dasha): Chara dasha is the main dasha (period) system of Jaimini astrology. Its periods are ruled by signs, not planets. Each lasts from 1 to 12 years, set by how far the sign's ruler is from the sign. The sign in the 9th house decides whether the periods run forward or backward through the zodiac.
- **Chara karaka** (https://apiforastrology.com/astrology/glossary/chara-karaka): Chara karakas are the movable significators of Jaimini astrology. A karaka, or significator, is a planet that stands for one part of life, such as career or children. The seven planets from the Sun to Saturn are ranked by how far each has moved through its sign. The rank gives each planet a role: the self, career, siblings, mother, children, rivals and spouse. They are called chara, or movable, because these roles change from chart to chart. Fixed karakas stay the same in every chart.
- **Arudha lagna** (https://apiforastrology.com/astrology/glossary/arudha-lagna): The arudha lagna is the image of the ascendant: how a person is seen by others, as opposed to who they are. Count the signs from the ascendant to its ruler, then count the same number again from the ruler. With some exceptions, the sign you reach is the arudha lagna.
- **Upapada lagna** (https://apiforastrology.com/astrology/glossary/upapada-lagna): The upapada lagna, also called UL or A12, is the arudha (image) of the 12th house. An arudha shows a house the way other people see it. Jaimini astrology reads the upapada for marriage and the spouse. It shows the image of the partnership more than the partner's real nature.
- **Karakamsa** (https://apiforastrology.com/astrology/glossary/karakamsa): The karakamsa is the sign the atmakaraka holds in the navamsa (D9) chart. The atmakaraka is the planet furthest through its sign. Jaimini astrology reads the karakamsa for a person's deeper aims, career and spiritual side. It is read as a house counted from the rising sign of the main birth chart (D1).
- **Argala** (https://apiforastrology.com/astrology/glossary/argala): Argala means intervention. In Jaimini astrology, planets in the 2nd, 4th and 11th houses from a house act on that house, and planets in the 12th, 10th and 3rd can block that effect. Benefics intervene for good and malefics for bad.
- **Atmakaraka** (https://apiforastrology.com/astrology/glossary/atmakaraka): The Atmakaraka is chara karaka number 1 of 7 in Jaimini astrology: of the seven planets from the Sun to Saturn, the one with the highest degree within its sign. It is read for the self and the soul's aims, and it is the most important of the seven. Because it depends on degrees, a different planet plays this role in each chart.
- **Amatyakaraka** (https://apiforastrology.com/astrology/glossary/amatyakaraka): In Jaimini astrology, the Amatyakaraka is chara karaka 2 of 7: the planet, from the Sun to Saturn, with the 2nd highest degree within its sign. It is read for career and advisers. Which planet takes this role changes from chart to chart, because it follows the degrees.
- **Bhratrikaraka** (https://apiforastrology.com/astrology/glossary/bhratrikaraka): The Bhratrikaraka is the 3rd of the 7 chara karakas in Jaimini astrology. It goes to whichever planet from the Sun to Saturn has the 3rd highest degree within its sign, and it is read for brothers and sisters. Since it depends on degrees, each chart has its own Bhratrikaraka.
- **Matrikaraka** (https://apiforastrology.com/astrology/glossary/matrikaraka): The Matrikaraka is chara karaka number 4 of 7 in Jaimini astrology: of the seven planets from the Sun to Saturn, the one with the 4th highest degree within its sign. It is read for the mother. Because it depends on degrees, a different planet plays this role in each chart.
- **Putrakaraka** (https://apiforastrology.com/astrology/glossary/putrakaraka): In Jaimini astrology, the Putrakaraka is chara karaka 5 of 7: the planet, from the Sun to Saturn, with the 5th highest degree within its sign. It is read for children. Which planet takes this role changes from chart to chart, because it follows the degrees.
- **Gnatikaraka** (https://apiforastrology.com/astrology/glossary/gnatikaraka): The Gnatikaraka is the 6th of the 7 chara karakas in Jaimini astrology. It goes to whichever planet from the Sun to Saturn has the 6th highest degree within its sign, and it is read for rivals, relatives and illness. Since it depends on degrees, each chart has its own Gnatikaraka.
- **Darakaraka** (https://apiforastrology.com/astrology/glossary/darakaraka): The Darakaraka is chara karaka number 7 of 7 in Jaimini astrology: of the seven planets from the Sun to Saturn, the one with the lowest degree within its sign. It is read for the spouse. Because it depends on degrees, a different planet plays this role in each chart.
### Muhurat and times of day
- **Muhurat** (https://apiforastrology.com/astrology/glossary/muhurat): A muhurat (muhurta) is a good time picked to start an activity, such as a wedding, moving into a new home or buying a car. It is chosen by checking the panchang, the nakshatra and rules for that activity. Strictly, a muhurat is also a unit of time: one thirtieth of a day, about 48 minutes.
- **Rahu kaal** (https://apiforastrology.com/astrology/glossary/rahu-kaal): Rahu kaal is a daily window, about 90 minutes long, that tradition avoids for starting new work. The time from sunrise to sunset is split into eight equal parts, and the weekday decides which part is rahu kaal. So it shifts with the seasons and with your location.
- **Yamaganda** (https://apiforastrology.com/astrology/glossary/yamaganda): Yamaganda is one of three daily windows, with rahu kaal and gulika kaal, that tradition treats with caution. Each is one eighth of the time from sunrise to sunset, and the weekday decides which eighth. On Sunday it is the 5th part, and on Thursday the 1st. It is a poor time to begin something new.
- **Gulika kaal** (https://apiforastrology.com/astrology/glossary/gulika-kaal): Gulika kaal is one of the three daily windows, with rahu kaal and yamaganda, that tradition treats with caution. It is one eighth of the daytime, linked to Gulika, a point associated with Saturn, and the weekday decides which eighth it is.
- **Choghadiya** (https://apiforastrology.com/astrology/glossary/choghadiya): Choghadiya splits the day and the night each into eight equal parts, about 90 minutes long near the equinox. Each part has a name that marks it as good (Amrit, Shubh, Labh), neutral (Char) or bad (Udveg, Kaal, Rog). It is popular in Gujarat and western India for picking a start time.
- **Hora (planetary hour)** (https://apiforastrology.com/astrology/glossary/hora): A hora is a planetary hour, one of 24 in each day from sunrise to sunrise. Each hora is ruled by a planet, in the fixed order Sun, Venus, Mercury, Moon, Saturn, Jupiter, Mars. The first hora after sunrise belongs to the ruler of the weekday, which is how the weekdays got their order.
- **Abhijit muhurat** (https://apiforastrology.com/astrology/glossary/abhijit-muhurat): Abhijit muhurat is the 8th of the 15 daytime muhurats, centered on local noon. It lasts about 48 minutes on a day with 12 hours of daylight, and longer in summer. It is widely held to be good for starting most things. Many traditions skip it on Wednesdays.
- **Brahma muhurat** (https://apiforastrology.com/astrology/glossary/brahma-muhurat): Brahma muhurat is an early-morning window of about 48 minutes that starts about 96 minutes before sunrise. Its length is one fifteenth of the night, so it changes a little with the season. Its clock time moves with sunrise. Tradition holds it to be the best time for meditation, prayer and study.
- **Dur muhurat** (https://apiforastrology.com/astrology/glossary/dur-muhurat): Dur muhurat means bad muhurat: a part of the day held to be unfavorable for new starts. The daylight is split into 15 muhurats, about 48 minutes each on an average day. On each weekday, one or two of them are dur muhurat, and the panchang lists their times. Most traditions see it as lighter than rahu kaal.
- **Bhadra** (https://apiforastrology.com/astrology/glossary/bhadra): Bhadra is the time of Vishti, one of the 11 karanas. It comes around about eight times in each lunar month. Tradition avoids it for new starts and for some festival rites, such as tying the rakhi on Raksha Bandhan.
- **Panchaka** (https://apiforastrology.com/astrology/glossary/panchaka): Panchaka is the time, about five days each month, when the Moon passes through the last five nakshatras, from the second half of Dhanishtha to Revati. That is the Moon in Aquarius and Pisces. Tradition avoids some work during it, such as roofing a house.
- **Nishita kaal** (https://apiforastrology.com/astrology/glossary/nishita): Nishita kaal is the muhurat (time block) at the middle of the night. It is the 8th of 15 equal parts of the night, from sunset to the next sunrise. It lasts about 48 minutes on a 12-hour night. It sets the time for festivals kept at night, such as Maha Shivaratri and Janmashtami.
- **Godhuli** (https://apiforastrology.com/astrology/glossary/godhuli): Godhuli is the short period around sunset. The name means cow dust, from the time cattle walk home in the evening. Tradition in North India treats it as a good time for weddings. Old sources do not agree on its length, so the API gives the sunset time rather than a godhuli window.
- **Tara bala** (https://apiforastrology.com/astrology/glossary/tara-bala): Tara bala rates a day for a person by counting from their birth nakshatra to the day's nakshatra. The count falls into one of nine taras, from Janma to Ati-Mitra. Sampat, Kshema, Sadhaka, Mitra and Ati-Mitra are favorable. Vipat, Pratyari and Vadha are not, and Janma is mixed.
- **Chandra bala** (https://apiforastrology.com/astrology/glossary/chandra-bala): Chandra bala rates a day for a person by the sign the Moon is passing through, counted from their natal Moon sign. The Moon in the 1st, 3rd, 6th, 7th, 10th or 11th sign from the natal Moon is traditionally favorable.
- **Udveg choghadiya** (https://apiforastrology.com/astrology/glossary/udveg-choghadiya): Udveg, meaning anxiety, is one of the seven choghadiya names used for the parts of the day and the night. It is linked to the Sun and is traditionally held to be unfavorable for new starts, though some use it for government work. Each part lasts one eighth of the daylight or the night, about 90 minutes near the equinox.
- **Char choghadiya** (https://apiforastrology.com/astrology/glossary/char-choghadiya): Char (moving) is one of the seven names given to the eight choghadiya parts of each day and night. Its planet is Venus, and tradition counts it as neutral, and often chosen for travel. Each part lasts one eighth of the daylight or the night, about 90 minutes near the equinox.
- **Labh choghadiya** (https://apiforastrology.com/astrology/glossary/labh-choghadiya): The choghadiya called Labh means gain. Tradition ties it to Mercury and treats it as favorable, especially for business and study. It is one of the seven names for the day's and night's eight parts. Each part lasts one eighth of the daylight or the night, about 90 minutes near the equinox.
- **Amrit choghadiya** (https://apiforastrology.com/astrology/glossary/amrit-choghadiya): Amrit, meaning nectar, is one of the seven choghadiya names used for the parts of the day and the night. It is linked to the Moon and is traditionally held to be the most favorable of the seven, good for almost any start. Each part lasts one eighth of the daylight or the night, about 90 minutes near the equinox.
- **Kaal choghadiya** (https://apiforastrology.com/astrology/glossary/kaal-choghadiya): Kaal (time, or death) is one of the seven names given to the eight choghadiya parts of each day and night. Its planet is Saturn, and tradition counts it as unfavorable for new starts. Each part lasts one eighth of the daylight or the night, about 90 minutes near the equinox.
- **Shubh choghadiya** (https://apiforastrology.com/astrology/glossary/shubh-choghadiya): The choghadiya called Shubh means good. Tradition ties it to Jupiter and treats it as favorable, and often chosen for weddings and ceremonies. It is one of the seven names for the day's and night's eight parts. Each part lasts one eighth of the daylight or the night, about 90 minutes near the equinox.
- **Rog choghadiya** (https://apiforastrology.com/astrology/glossary/rog-choghadiya): Rog, meaning illness, is one of the seven choghadiya names used for the parts of the day and the night. It is linked to Mars and is traditionally held to be unfavorable for new starts. Each part lasts one eighth of the daylight or the night, about 90 minutes near the equinox.
### Planets (grahas)
- **Upagraha** (https://apiforastrology.com/astrology/glossary/upagraha): Upagrahas are sensitive points in a chart that are not planets. Tradition reads them like minor planets, mostly as harmful influences. There are two groups. The kaala velas, such as Gulika and Mandi, come from the time of day. The Dhoomadi points come from the Sun's position: Dhooma is the Sun plus 133°20′.
- **Gulika and Mandi** (https://apiforastrology.com/astrology/glossary/gulika-and-mandi): Gulika and Mandi are two points tied to Saturn's part of the day or night of birth. They are the best known of the upagrahas, the sensitive points that are not planets. Some texts treat them as one point, and some as two.
- **Sun (Surya)** (https://apiforastrology.com/astrology/glossary/sun): Sun (Surya in Sanskrit) is one of the nine grahas. It rules Leo, is exalted in Aries and is debilitated in Libra. It stands for the self, vitality and authority, and for the father. Its main period in the Vimshottari dasha lasts 6 years.
- **Moon (Chandra)** (https://apiforastrology.com/astrology/glossary/moon): Moon, called Chandra in Sanskrit, is one of the nine grahas of Vedic astrology. It rules Cancer, is exalted in Taurus and is debilitated in Scorpio. It stands for the mind, feelings and the mother. Vedic astrology counts transits and daily horoscopes from the Moon's sign. In the Vimshottari dasha, its main period runs for 10 years.
- **Mars (Mangal)** (https://apiforastrology.com/astrology/glossary/mars): In Vedic astrology, Mars (Mangal) is one of the nine grahas. It rules Aries and Scorpio, is exalted in Capricorn and is debilitated in Cancer. It stands for energy, courage and conflict, and its house decides manglik dosha. Its Vimshottari mahadasha is 7 years long.
- **Mercury (Budha)** (https://apiforastrology.com/astrology/glossary/mercury): Mercury (Budha in Sanskrit) is one of the nine grahas. It rules Gemini and Virgo, is exalted in Virgo and is debilitated in Pisces. It stands for speech, learning, numbers and trade. Its main period in the Vimshottari dasha lasts 17 years.
- **Jupiter (Guru)** (https://apiforastrology.com/astrology/glossary/jupiter): Jupiter, called Guru in Sanskrit, is one of the nine grahas of Vedic astrology. It rules Sagittarius and Pisces, is exalted in Cancer and is debilitated in Capricorn. It is the great benefic, linked to wisdom, teachers, children and good fortune. In the Vimshottari dasha, its main period runs for 16 years.
- **Venus (Shukra)** (https://apiforastrology.com/astrology/glossary/venus): In Vedic astrology, Venus (Shukra) is one of the nine grahas. It rules Taurus and Libra, is exalted in Pisces and is debilitated in Virgo. It stands for love, marriage, beauty and comfort. Its Vimshottari mahadasha is 20 years long.
- **Saturn (Shani)** (https://apiforastrology.com/astrology/glossary/saturn): Saturn (Shani in Sanskrit) is one of the nine grahas. It rules Capricorn and Aquarius, is exalted in Libra and is debilitated in Aries. It is the slowest of the visible planets, taking about 29.5 years to go around the zodiac. It stands for discipline, delay and hard work, and its transit over the Moon sign is sade sati. Its main period in the Vimshottari dasha lasts 19 years.
- **Rahu** (https://apiforastrology.com/astrology/glossary/rahu): Rahu, or the north lunar node, is one of the nine grahas of Vedic astrology. It is not a body but the point where the Moon's path crosses the Sun's path going north. It is always exactly opposite Ketu, and it moves backward through the zodiac, going around once in about 18.6 years. It is linked to desire, obsession and things foreign. In the Vimshottari dasha, its main period runs for 18 years.
- **Ketu** (https://apiforastrology.com/astrology/glossary/ketu): Ketu (the south lunar node) is one of the nine grahas. It is the point where the Moon's path crosses the Sun's path going south, always exactly opposite Rahu. It is linked to detachment, loss and spiritual insight. Its Vimshottari mahadasha is 7 years long.
### Remedies
- **Rudraksha** (https://apiforastrology.com/astrology/glossary/rudraksha): A rudraksha is the dried seed of a tree linked with Shiva, worn as a bead. Its mukhi is the number of natural faces, or lines, on the bead. Tradition links each mukhi with one planet, so a chart can point to a bead.
### Question charts (prashna)
- **Prashna (question chart)** (https://apiforastrology.com/astrology/glossary/prashna): Prashna, or horary astrology, answers one question from a chart made for the moment and place the question is asked. This question chart needs no birth details. It is read for one topic, such as marriage, work or a lost item. The rising sign stands for the person asking, and the topic's house stands for the matter. The chart shows the tendency of the moment, not a promise.
- **KP horary number** (https://apiforastrology.com/astrology/glossary/kp-horary-number): A KP horary number is a number from 1 to 249 that a person picks to ask a question in KP (Krishnamurti) astrology. KP cuts the zodiac into 249 small slices, one for each number. The slice picked becomes the rising point, and it sets all 12 houses of the question chart. The moment of asking only places the planets. No birth details are needed.
### Signs (rashis)
- **Aries (Mesha)** (https://apiforastrology.com/astrology/glossary/aries): Aries (Mesha) is sign 1 of the 12 rashis. In the sidereal zodiac the API uses, it runs from 0° to 30° of longitude. It is a fire sign and a movable sign, and its ruler is Mars. The Sun is exalted here. Saturn is debilitated here. It holds all or part of the nakshatras Ashwini, Bharani and Krittika.
- **Taurus (Vrishabha)** (https://apiforastrology.com/astrology/glossary/taurus): Taurus, or Vrishabha, is the 2nd of the 12 rashis. It covers 30° to 60° of sidereal longitude. Its element is earth, its kind is fixed, and Venus rules it. The Moon is exalted here. The nakshatras Krittika, Rohini and Mrigashira fall in it, in full or in part.
- **Gemini (Mithuna)** (https://apiforastrology.com/astrology/glossary/gemini): The 3rd rashi is Gemini (Mithuna). Measured in the sidereal zodiac, it spans 60° to 90°. Mercury rules this dual air sign. No planet from the Sun to Saturn is exalted or debilitated here. Parts of the nakshatras Mrigashira, Ardra and Punarvasu lie in this sign.
- **Cancer (Karka)** (https://apiforastrology.com/astrology/glossary/cancer): Cancer (Karka) is sign 4 of the 12 rashis. In the sidereal zodiac the API uses, it runs from 90° to 120° of longitude. It is a water sign and a movable sign, and its ruler is the Moon. Jupiter is exalted here. Mars is debilitated here. It holds all or part of the nakshatras Punarvasu, Pushya and Ashlesha.
- **Leo (Simha)** (https://apiforastrology.com/astrology/glossary/leo): Leo, or Simha, is the 5th of the 12 rashis. It covers 120° to 150° of sidereal longitude. Its element is fire, its kind is fixed, and the Sun rules it. No planet from the Sun to Saturn is exalted or debilitated here. The nakshatras Magha, Purva Phalguni and Uttara Phalguni fall in it, in full or in part.
- **Virgo (Kanya)** (https://apiforastrology.com/astrology/glossary/virgo): The 6th rashi is Virgo (Kanya). Measured in the sidereal zodiac, it spans 150° to 180°. Mercury rules this dual earth sign. Mercury is exalted here. Venus is debilitated here. Parts of the nakshatras Uttara Phalguni, Hast and Chitra lie in this sign.
- **Libra (Tula)** (https://apiforastrology.com/astrology/glossary/libra): Libra (Tula) is sign 7 of the 12 rashis. In the sidereal zodiac the API uses, it runs from 180° to 210° of longitude. It is an air sign and a movable sign, and its ruler is Venus. Saturn is exalted here. The Sun is debilitated here. It holds all or part of the nakshatras Chitra, Swati and Vishakha.
- **Scorpio (Vrishchika)** (https://apiforastrology.com/astrology/glossary/scorpio): Scorpio, or Vrishchika, is the 8th of the 12 rashis. It covers 210° to 240° of sidereal longitude. Its element is water, its kind is fixed, and Mars rules it. The Moon is debilitated here. The nakshatras Vishakha, Anuradha and Jyeshtha fall in it, in full or in part.
- **Sagittarius (Dhanu)** (https://apiforastrology.com/astrology/glossary/sagittarius): The 9th rashi is Sagittarius (Dhanu). Measured in the sidereal zodiac, it spans 240° to 270°. Jupiter rules this dual fire sign. No planet from the Sun to Saturn is exalted or debilitated here. Parts of the nakshatras Mool, Purva Ashadha and Uttara Ashadha lie in this sign.
- **Capricorn (Makara)** (https://apiforastrology.com/astrology/glossary/capricorn): Capricorn (Makara) is sign 10 of the 12 rashis. In the sidereal zodiac the API uses, it runs from 270° to 300° of longitude. It is an earth sign and a movable sign, and its ruler is Saturn. Mars is exalted here. Jupiter is debilitated here. It holds all or part of the nakshatras Uttara Ashadha, Shravan and Dhanishtha.
- **Aquarius (Kumbha)** (https://apiforastrology.com/astrology/glossary/aquarius): Aquarius, or Kumbha, is the 11th of the 12 rashis. It covers 300° to 330° of sidereal longitude. Its element is air, its kind is fixed, and Saturn rules it. No planet from the Sun to Saturn is exalted or debilitated here. The nakshatras Dhanishtha, Shatabhisha and Purva Bhadrapada fall in it, in full or in part.
- **Pisces (Meena)** (https://apiforastrology.com/astrology/glossary/pisces): The 12th rashi is Pisces (Meena). Measured in the sidereal zodiac, it spans 330° to 360°. Jupiter rules this dual water sign. Venus is exalted here. Mercury is debilitated here. Parts of the nakshatras Purva Bhadrapada, Uttara Bhadrapada and Revati lie in this sign.
## Numerology glossary
Page: https://apiforastrology.com/numerology/glossary
### Basics
- **Numerology** (https://apiforastrology.com/numerology/glossary/numerology): Numerology is a way to read meaning from the numbers in a birth date or a name. Indian numerology ties each number from 1 to 9 to a ruling planet. Western numerology reads names with the Pythagorean letter values. For John Doe, born August 15, 1990, the mulank, bhagyank and name number are 6, 6 and 7.
- **Ank jyotish** (https://apiforastrology.com/numerology/glossary/ank-jyotish): Ank jyotish is Indian numerology, which gives each number from 1 to 9 a ruling planet. It reads every number through its planet, so 1 is the Sun's number and 6 is Venus's. Its three core numbers are the mulank (birth day number), the bhagyank (destiny number) and the name number.
- **Chaldean numerology** (https://apiforastrology.com/numerology/glossary/chaldean-numerology): Chaldean numerology is the letter system that gives letters values from 1 to 8, never 9. Indian numerology uses it to find the name number. A name's letter values are added, then the digits of the total are added down to one. John Doe adds up to 34, and 3 plus 4 gives 7.
- **Pythagorean numerology** (https://apiforastrology.com/numerology/glossary/pythagorean-numerology): Pythagorean numerology is the letter system that gives letters the values 1 to 9 in alphabet order, then starts again. A is 1, I is 9, and J starts again at 1. Most Western numerology books and apps use it. John Doe adds up to 35 here, so his Pythagorean name number is 8, not the Chaldean 7.
- **Number planets** (https://apiforastrology.com/numerology/glossary/number-planets): Number planets are the ruling planets of the numbers 1 to 9 in Indian numerology. The order is 1 Sun, 2 Moon, 3 Jupiter, 4 Rahu, 5 Mercury, 6 Venus, 7 Ketu, 8 Saturn and 9 Mars. The planet sets a number's nature and how it gets along with other numbers.
### Core numbers
- **Mulank** (https://apiforastrology.com/numerology/glossary/mulank): The mulank (birth day number), also called the driver number, is the day of the month a person was born, added down to one digit. Indian numerology reads it as how a person acts day to day and how others first see them.
- **Bhagyank** (https://apiforastrology.com/numerology/glossary/bhagyank): The bhagyank (destiny number), also called the conductor number, adds every digit of the full birth date down to one digit. Indian numerology reads it as the direction a life takes as a person grows older. For John Doe, born August 15, 1990, the digits add up to 33, and 3 plus 3 gives 6.
- **Name number** (https://apiforastrology.com/numerology/glossary/name-number): The name number is the total of the letter values in a name, added down to one digit. Indian numerology counts it with the Chaldean letter values. It reads the number as how a name shapes the way people take a person. John Doe adds up to 34, so his name number is 7.
- **Compound number** (https://apiforastrology.com/numerology/glossary/compound-number): A compound number is the two-digit total of a name or number, before it is reduced to one digit. Chaldean compound tables cover the totals from 10 to 52. John Doe's Chaldean name adds up to 34, so 34 is his compound number and 7 his single number. A total below 10 has none.
- **Friendly numbers** (https://apiforastrology.com/numerology/glossary/friendly-numbers): Friendly numbers are the numbers that get along with a person's mulank (birth day number), because their planets are friends. The other numbers are neutral or unfriendly. Friendship can be one-sided: Mars counts the Moon as a friend, but the Moon counts Mars as neutral. For John Doe, mulank 6, the friendly numbers are 4, 5, 6 and 8.
- **Lucky day** (https://apiforastrology.com/numerology/glossary/lucky-day): The lucky day is the weekday of the planet that rules a person's mulank (birth day number). Indian numerology links each planet to one day: Sunday for the Sun, Friday for Venus and so on. Rahu takes Saturday and Ketu takes Tuesday. John Doe's mulank is 6, ruled by Venus, so his lucky day is Friday.
- **Lucky colors** (https://apiforastrology.com/numerology/glossary/lucky-colors): Lucky colors are the colors linked to the planet that rules a person's mulank (birth day number). Each planet has one or two, such as yellow and gold for Jupiter. Rahu and Ketu have colors of their own. John Doe's mulank is 6, ruled by Venus, so his colors are white and pastel pink.
- **Favorable dates** (https://apiforastrology.com/numerology/glossary/favorable-dates): Favorable dates are the days of the month that suit a person's mulank (birth day number). Their digits add up to a number friendly to the mulank. Tradition reads them as good days to start things. They are the same in every month. For John Doe, mulank 6, there are 13 of them, from the 4th to the 31st.
### Lo Shu grid
- **Lo Shu grid** (https://apiforastrology.com/numerology/glossary/lo-shu-grid): The Lo Shu grid is a 3 by 3 square of the numbers 1 to 9. Every row, column and diagonal adds up to 15, and 5 sits in the center. Numerology places the digits of a birth date in it. Zero has no cell. The API also places the bhagyank, plus the mulank when the birth day has two digits.
- **Missing numbers** (https://apiforastrology.com/numerology/glossary/missing-numbers): Missing numbers are the numbers from 1 to 9 that never appear in a person's Lo Shu grid. Numerology reads them as things that take more effort. They come from the digits of the birth date, not from the name. John Doe, born August 15, 1990, is missing 2, 3, 4 and 7.
- **Repeated numbers** (https://apiforastrology.com/numerology/glossary/repeated-numbers): Repeated numbers are the numbers that appear more than once in a person's Lo Shu grid. Numerology reads a repeat as a strong trait that can go too far. John Doe, born August 15, 1990, has three repeats: 1, 6 and 9. The 6 comes twice because his mulank and bhagyank are both 6.
- **Lo Shu planes** (https://apiforastrology.com/numerology/glossary/lo-shu-planes): Lo Shu planes, also called arrows, are the eight lines of the Lo Shu grid: three rows, three columns and two diagonals. A line is full when all three cells hold a digit, and empty when none does. The API returns only those two kinds. John Doe has two full lines: the practical line and the willpower line.
### Western numbers
- **Life path number** (https://apiforastrology.com/numerology/glossary/life-path-number): The life path number is the main Western numerology number, found from the full birth date. It is read as the main road a life tends to follow. The month, day and year are each reduced to one digit, then added and reduced again. For John Doe, born August 15, 1990, the parts 8, 6 and 1 make 15, so 6.
- **Expression number** (https://apiforastrology.com/numerology/glossary/expression-number): The expression number is the total of the Pythagorean values of every letter in the full birth name. Each word is reduced first, then the words are added and reduced again. Western numerology reads it as a person's natural talents. For John Doe, John reduces to 2 and Doe to 6, so his expression number is 8.
- **Soul urge number** (https://apiforastrology.com/numerology/glossary/soul-urge-number): The soul urge number is the total of the Pythagorean values of the vowels in a name. Western numerology reads it as what a person wants deep inside. Y is a vowel only when no vowel sits next to it. For John Doe, the vowels give 6 and 11, which add up to 17, then 8.
- **Personality number** (https://apiforastrology.com/numerology/glossary/personality-number): The personality number is the total of the Pythagorean values of the consonants in a name. Western numerology reads it as how people see someone before they know them well. For John Doe, the consonants of John add up to 14, a karmic debt number, and Doe gives 4. So his personality number is 9.
- **Maturity number** (https://apiforastrology.com/numerology/glossary/maturity-number): The maturity number is the sum of the life path number and the expression number, reduced again. Western numerology reads it as what grows stronger after about age 35. Because it uses the name, a new spelling can change it. For John Doe, 6 plus 8 is 14, so his maturity number is 5.
- **Birthday number** (https://apiforastrology.com/numerology/glossary/birthday-number): The birthday number is the day of the month a person was born, in Western numerology. It is read as one special gift a person carries. The day is added down to one digit, but master numbers stay. So the 15th gives 6, the 22nd stays 22 and the 29th gives 11.
- **Master numbers** (https://apiforastrology.com/numerology/glossary/master-numbers): Master numbers are 11, 22 and 33. Western numerology keeps them as they are instead of adding their digits down to one. Indian numbers always end on one digit, so the API only flags a master number there. John Doe's birth date adds up to 33, so his bhagyank is 6 with the master flag set.
- **Karmic debt** (https://apiforastrology.com/numerology/glossary/karmic-debt): Karmic debt numbers are 13, 14, 16 and 19 when they appear on the way to a Western number. Western numerology reads each one as a lesson that tends to repeat until it is learned. The API makes no claim about a past life. John Doe meets 14 in his personality and maturity numbers.
- **Karmic lessons** (https://apiforastrology.com/numerology/glossary/karmic-lessons): Karmic lessons are the numbers from 1 to 9 that no letter of a name gives in the Pythagorean values. Western numerology reads them as skills a person may need to build on purpose. They come from the name, while Lo Shu missing numbers come from the birth date. John Doe's karmic lessons are 2, 3, 7 and 9.
- **Hidden passion** (https://apiforastrology.com/numerology/glossary/hidden-passion): The hidden passion is the number that appears most often among the Pythagorean letter values of a name. Western numerology reads it as a strong drive a person may not talk about. When values tie, all of them count. John Doe has a tie: 5 and 6 each appear twice.
- **Balance number** (https://apiforastrology.com/numerology/glossary/balance-number): The balance number is the sum of the first letter of each part of a name, in Pythagorean values. Western numerology reads it as how a person tends to handle hard times. It never keeps a master number. For John Doe, J is 1 and D is 4, so his balance number is 5.
- **Challenge numbers** (https://apiforastrology.com/numerology/glossary/challenge-numbers): Challenge numbers are four numbers from 0 to 8 worked out from the birth date. Each is the gap between two reduced parts of the date, such as the day minus the month. Western numerology reads each one as something to work at during part of a life. John Doe's four challenges are 2, 5, 3 and 7.
- **Pinnacles** (https://apiforastrology.com/numerology/glossary/pinnacles): Pinnacles are four long stretches of a life in Western numerology, each with its own number and focus. The API ends the first at age 36 minus the life path digit. The next two last nine years each, and the fourth runs for the rest of life. John Doe's four pinnacles are 5, 7, 3 and 9.
- **Life cycles** (https://apiforastrology.com/numerology/glossary/life-cycles): Life cycles are three long stages of a life in Western numerology: the early, middle and later years. They take their numbers from the birth month, the birth day and the birth year. The middle cycle lasts 27 years. John Doe's three life cycles are 8, 6 and 1.
### Cycles
- **Personal year** (https://apiforastrology.com/numerology/glossary/personal-year): The personal year number is the theme of one calendar year for one person. It comes from the birth month, the birth day and the calendar year, added down to one digit. The year runs from January 1, not from the birthday. John Doe's personal year for 2026 is 6, from 8 plus 6 plus 1.
- **Personal month** (https://apiforastrology.com/numerology/glossary/personal-month): The personal month number is the theme of one calendar month for one person, from 1 to 9. It adds the calendar month to the personal year number, then adds the digits down to one. It changes on the first of each month. For John Doe in October 2026, 6 plus 10 is 16, which gives 7.
- **Personal day** (https://apiforastrology.com/numerology/glossary/personal-day): The personal day number is the theme of one day for one person, from 1 to 9. It adds the day of the month to the personal month number, then adds the digits down to one. For John Doe on October 1, 2026, his personal month 7 plus 1 gives a personal day of 8.
- **Universal year** (https://apiforastrology.com/numerology/glossary/universal-year): The universal year number is the number a calendar year adds up to. It is the same for everyone, so it needs no birth date. The digits of the year are added down to one digit, and master numbers are not kept. So 2026 adds up to 10 and then 1, and 2027 gives 2.
- **Universal day** (https://apiforastrology.com/numerology/glossary/universal-day): The universal day number is the number a calendar date adds up to. It is the same for everyone, so it needs no birth date. Every digit of the date is added down to one digit. October 1, 2026 gives 3, ruled by Jupiter, which the API then reads for each of the nine mulanks.
### Name and number checks
- **Name correction** (https://apiforastrology.com/numerology/glossary/name-correction): Name correction means changing the spelling of a name so its number suits the person better. The new spelling keeps the name sounding the same, such as aa for a or ee for i. The API tries at most two such changes and never ranks the results. A new spelling changes the name's number, not the person.
- **Mobile number numerology** (https://apiforastrology.com/numerology/glossary/mobile-number-numerology): Mobile number numerology adds up the digits of a phone number to one digit. It then reads how well that number suits its owner's mulank (birth day number) and bhagyank (destiny number). For example, 212 555 0147 adds up to 32, which gives 5. For John Doe, whose two numbers are both 6, that is a good fit.
- **Vehicle number numerology** (https://apiforastrology.com/numerology/glossary/vehicle-number-numerology): Vehicle number numerology adds up the digits on a number plate to one digit. It then reads how well that number suits the owner's mulank (birth day number) and bhagyank (destiny number). Letters on the plate get no value. The plate ABC 4521 adds up to 12, which gives 3.
- **House number numerology** (https://apiforastrology.com/numerology/glossary/house-number-numerology): House number numerology adds up the digits of a house or apartment number to one digit. It then reads how well that number suits the owner's mulank (birth day number) and bhagyank (destiny number). Letters, dashes and slashes are skipped, so B-402 adds up to 6.
- **Business name numerology** (https://apiforastrology.com/numerology/glossary/business-name-numerology): Business name numerology reads a company or shop name by the Chaldean values of its letters. It is the same count as a person's name number. The name's number is then read against the owner's mulank (birth day number) and bhagyank (destiny number). Acme Inc. adds up to 22, a master number, which gives 4.
- **Launch date** (https://apiforastrology.com/numerology/glossary/launch-date): A launch date is the day a business or product opens. Numerology adds every digit of that date down to one digit. It then reads that number against the owner's mulank (birth day number) and bhagyank (destiny number). December 12, 2026 adds up to 16, which gives 7.
### Remedies
- **Numerology gemstone** (https://apiforastrology.com/numerology/glossary/numerology-gemstone): The numerology gemstone is the stone linked to the planet that rules a person's mulank (birth day number). Tradition pairs each stone with a metal and a finger to wear it on. The Sun has ruby, Venus diamond and Saturn blue sapphire. John Doe's mulank is 6, so his stone is diamond, set in silver or platinum.
- **Beej mantra** (https://apiforastrology.com/numerology/glossary/beej-mantra): A beej mantra is a short seed mantra for one planet. Numerology gives the mantra of the planet that rules a person's mulank (birth day number). One daily round is 108 repetitions. For John Doe, mulank 6, the planet is Venus, and the mantra is Om Draam Dreem Draum Sah Shukraya Namah.
- **Lucky direction** (https://apiforastrology.com/numerology/glossary/lucky-direction): The lucky direction is the compass direction linked to the planet that rules a person's mulank (birth day number). Tradition suggests facing it for work or study. The Sun has east, Venus south-east and Saturn west. Ketu, the planet of mulank 7, has no direction of its own, so mulank 7 gets none.
- **Ruling deity** (https://apiforastrology.com/numerology/glossary/ruling-deity): The ruling deity is the god or goddess often worshipped for a planet. Numerology gives the deity of the planet that rules a person's mulank (birth day number). The Sun has Surya, Venus Lakshmi and Ketu Ganesha. Customs differ by region and family. John Doe's mulank is 6, ruled by Venus, so his deity is Lakshmi.
- **Fast day** (https://apiforastrology.com/numerology/glossary/fast-day): The fast day is the weekday on which people fast for the planet that rules their mulank (birth day number). It is always the same day as the lucky day. Rahu takes Saturday and Ketu takes Tuesday. John Doe's mulank is 6, ruled by Venus, so his fast day is Friday.