Astrology reading API reference
Updated
The reading endpoints of API for Astrology (apiforastrology.com) turn a birth chart into written readings. They come in English or Hindi. Get one section, a summary, a daily or weekly reading, a forecast or a full report. Most use reading credits on live keys, not calls. The group has 13 endpoints, and the table below shows each cost.
Start with POST /v1/reading/sections, then fetch each section with POST /v1/reading/section/{section_id}. Every section id is on the Sections and IDs page. Readings that match the chart shows how to build reading cards this way. For a daily screen with a chart, use POST /v1/reading/daily. With only the Moon sign, use GET /v1/rashi/{sign}/today. How to add a daily horoscope walks through the Moon-sign version. For seven days at once, use POST /v1/reading/weekly, and always send a start date (from). Without one you get only pending, and the call still uses reading credits.
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}.
13 endpoints. Paths are relative to https://apiforastrology.com/api/astrology. Send your API key in the Authorization: Bearer header (see authentication). No key yet? Get a key. To send test requests from the browser, open the interactive reference.
Overview: Readings and reports, Daily horoscopes, Remedies, Karmic reading.
Which reading endpoint to call
| What you need | Endpoint | Cost |
|---|---|---|
| A Moon sign from a first name, when the visitor gives no birth details | GET /v1/name/rashi | 1 call |
| Every reading topic, to build a topic menu | GET /v1/reading/topics | 1 call |
| The list of sections a chart has. Start here | POST /v1/reading/sections | 1 call |
| The text of one section, such as one planet or one topic | POST /v1/reading/section/{section_id} | From 1 reading credit |
| A daily reading for one person's chart | POST /v1/reading/daily | 1 call |
| A reading for each of seven days: the Moon, good and hard days, planet changes and dates | POST /v1/reading/weekly | 3 reading credits |
| A daily reading when you know only the Moon sign | GET /v1/rashi/{sign}/today | 1 call |
| A karma reading from Rahu, Ketu and the soul planet | POST /v1/karma | 2 reading credits |
| A spiritual path reading: devotion and release | POST /v1/spiritual | 2 reading credits |
| A love, career or wealth forecast for one person | POST /v1/forecast/{theme} | 3 reading credits |
| A short reading for someone who knows no astrology | POST /v1/summary | 2 reading credits |
| The full reading as one printable HTML page | POST /v1/report | 25 reading credits |
| The rules a chart triggers, ranked, with no reading text | POST /v1/reading/rules | 1 call |
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.
Cost: Each successful request counts as 1 call toward your monthly calls.
Required inputs
| Name | In | What it is |
|---|---|---|
| name | query | A first name, in English or Devanagari (Hindi or Marathi) or Gujarati letters. |
Optional inputs (2), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
Main response fields
name(string)script(string)read_as(object): holds consonant, vowel.steps(array)approximate(boolean)candidates(array of objects): each item 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): each item holds key, text, language, detail.not_computed(array of strings)
curl "https://apiforastrology.com/api/astrology/v1/name/rashi?name=John" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY"{
"name": "John",
"script": "Latn",
"read_as": {
"consonant": "j",
"vowel": "o"
},
"steps": [],
"approximate": false,
"candidates": [
{
"nakshatra": "Shravan",
"nakshatra_lord": "Moon",
"number": 22,
"pada": 3,
"moon_sign": "Capricorn",
"syllable": "Jo",
"syllable_hi": "जो"
}
],
"sources_agree": false,
"other_tradition": {
"candidates": [],
"used_by": "the 27-star table, as Telugu and most English lists give it",
"other_by": "Hindi, Gujarati and Marathi panchangs, which count 28 stars",
"note": "The API gives Shravana the 27-star syllables Ju, Je, Jo and Kha. Hindi, Gujarati and Marathi panchangs count 28 stars and give Shravana Khi, Khu, Khe and Kho, so this first sound points somewhere else in their table. `candidates` follows…",
"moon_signs": []
},
"moon_signs": [
"Capricorn"
],
"notes": [
{
"key": "rashi_basis",
"text": [
"This Moon sign comes from the first sound of your name, not from your birth details. This sign is right only if your name was chosen from your birth star, as many families do. Your birth date, time and place give your real Moon sign."
],
"language": "en",
"detail": "standard"
}
],
"not_computed": [
"the Moon itself -- a name stands for its pada only if it was chosen from it"
]
}Example from a real call. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Daily horoscopes.
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:<id> and a chart. No birth data needed.
Cost: Each successful request counts as 1 call toward your monthly calls.
Every topic id on the Sections and IDs page
Required inputs
None.
Optional inputs (1), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
Main response fields
count(number)groups(string)topics(array of objects): each item holds id, group, title, question, when, has_answer, extra_points.
curl "https://apiforastrology.com/api/astrology/v1/reading/topics" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY"{
"count": 32,
"groups": "Life Prediction (11), Monthly Forecast (6), Sade Sati (6), Remedies (9)",
"topics": [
{
"id": "topic:personality",
"group": "Life Prediction",
"title": "Life Prediction: Personality and self",
"question": "Who am I? Temperament, strengths, how others see you",
"when": "answer first, then the evidence",
"has_answer": true,
"extra_points": [
"mind",
"seen_as",
"gifts"
]
},
{
"id": "topic:professional-life",
"group": "Life Prediction",
"title": "Life Prediction: Career and work",
"question": "What work suits me? Fields, leadership, work-life balance",
"when": "answer first, then the evidence",
"has_answer": true,
"extra_points": [
"balance",
"leadership"
]
},
{
"id": "topic:love-and-marriage",
"group": "Life Prediction",
"title": "Life Prediction: Love and relationships",
"question": "How do I love? Patterns, emotional needs, marriage",
"when": "answer first, then the evidence",
"has_answer": true,
"extra_points": [
"needs",
"compatibility"
]
}
]
}Example from a real call. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Readings and reports.
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.
Cost: Each successful request counts as 1 call toward your monthly calls.
Every reading section id on the Sections and IDs page
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (8), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
meta(object): holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.language(string)detail(string)sections(array of objects): each item holds id, group, title.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/reading/sections" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
},
"language": "en",
"detail": "standard",
"sections": [
{
"id": "signature",
"group": "signature",
"title": "Your signature: day, color, number, stone"
},
{
"id": "ascendant",
"group": "ascendant",
"title": "Virgo Ascendant"
},
{
"id": "nakshatra",
"group": "nakshatra",
"title": "Mrigashira Nakshatra"
}
]
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Readings and reports.
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:<id> | 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.
transitsandtopic: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-detailsgivesageon 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.
Cost: Uses reading credits on live keys instead of monthly calls. On test keys it counts as 1 call.
Every reading section id on the Sections and IDs page
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (9), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| as_of | query | Date for the sections that depend on time, YYYY-MM-DD. For example, the topic:remedy-* sections use the running mahadasha (main planetary period). The topic:sadesati-* sections use where Saturn is. Defaults to today; set it if you need the same response on every call. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
section(object): holds id, group, title.blocks(array of objects): each item 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.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/reading/section/planet:Mars?as_of=2026-10-01" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"section": {
"id": "planet:Mars",
"group": "planet",
"title": "Mars"
},
"blocks": [
{
"id": "attribute:own_sign:Mars",
"title": "Mars · own sign",
"family": "attribute",
"score": 3,
"text": [
"Your energy is direct. Mars is in its own sign, one of the two it rules, so nothing stands between it and the job. Mars is the planet of energy and courage, and at home it holds nothing back.",
"Your courage is real, and it is usually the first thing people notice about you. In Aries it shows as speed: you act while others are still talking. In Scorpio it is held back and aimed: you wait for the right moment, and then you don't…",
"Either way, the force does what it means to do and does not ask permission first. The risk is conflict you didn't need, because Mars in its own sign rarely backs down. So decide on purpose which fights are worth having."
],
"language": "en",
"detail": "standard",
"graha": "Mars",
"attribute": "own_sign",
"themes": [
"direct force",
"unqualified courage"
]
},
{
"id": "planet_sign:Mars:1",
"title": "Mars in Aries",
"family": "planet_sign",
"score": 2,
"text": [
"Mars rules Aries, so it acts here without asking anyone's permission. Mars is the planet of your energy, courage and drive, and Aries is its own fire sign. So no other planet stands in between, and nothing slows it down.",
"You usually act first and think later. You start things by doing, not by planning on paper: you sign up for the race, then train. Your courage is often the first thing people notice about you. So is your impatience with anyone who dithers.…",
"Without a direction, this energy turns inward. Mars with nothing to push against turns into irritation, restlessness and arguing for the sake of it. You need something demanding to aim at: physical work, a hard problem or a contest. Once…"
],
"language": "en",
"detail": "standard",
"graha": "Mars",
"themes": [
"courage",
"directness",
"impatience"
]
},
{
"id": "planet_house:Mars:8",
"title": "Mars in the 8th house",
"family": "planet_house",
"score": 3,
"text": [
"Mars sits in your eighth house, the part of the chart for hidden matters, sudden change and shared money. You look into things properly. Mars is a planet of action, so here your energy goes into digging and into handling crises. Research,…",
"You have strong stamina, so you get through what happens to you and aren't easily scared by the next thing. What to watch is your taste for intensity, because after a while it can start choosing the events for you."
],
"language": "en",
"detail": "standard",
"graha": "Mars",
"themes": [
"surgery and risk",
"investigation",
"disputed inheritance"
]
}
],
"gaps": [],
"language": "en",
"detail": "standard",
"fell_back_to_en": false,
"in_short": {
"outcome": "strained",
"lines": [
"Mars is under some pressure in your chart. What it looks after may need more effort and patience from you.",
"In your chart, it looks after your own effort, your nerve, and brothers and sisters. It also looks after upheaval, inheritance, and what is shared or kept hidden.",
"Its effects show most in upheaval, inheritance, and what is shared or kept hidden."
],
"basis": {
"graha": "Mars",
"owns": [
3,
8
],
"house": 8
}
},
"tendency": {
"graha": "Mars",
"house": 8,
"verdict": "mixed",
"leans": "strains",
"counts": {
"supports": 1,
"strains": 2
},
"supports": [
{
"kind": "tendency_dignity_strong",
"graha": "Mars",
"says": "Mars is in Aries (own sign)"
}
],
"strains": [
{
"kind": "tendency_rules_dusthana",
"graha": "Mars",
"says": "Mars rules the 8th house, a dusthana"
},
{
"kind": "tendency_in_dusthana",
"graha": "Mars",
"says": "Mars stands in the 8th, a dusthana"
}
],
"noted": [],
"not_evaluated": [],
"rule": "supports only -> favorable; strains only -> difficult; both -> mixed; neither -> plain. Nothing is weighted; `leans` counts the two lists and does not score them."
},
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
}
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Another example: A topic with a plain answer (topic:professional-life)
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/reading/section/topic:professional-life?as_of=2026-10-01" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"section": {
"id": "topic:professional-life",
"group": "topic",
"title": "Life Prediction: Career and work"
},
"blocks": [
{
"id": "topic:professional-life",
"title": "Life Prediction: Career and work",
"family": "life_prediction",
"score": null,
"text": [
"Your work is read first from your 10th house (the house of work) and where its ruler sits. It shows what suits you and what people will know you for. Your 6th house adds daily effort and how you handle competition. Your 2nd house shows…",
"Saturn is your staying power, and the Sun your drive to lead and be seen. Mercury is your skill with trade and talk. Big career turns often open in the dasha (a stretch of years) of a planet tied to your work. So a slow phase does not mean…",
"What you can do: hold the strongest point up against the work you do now. Where it shows a weak spot, like uneven income, build one habit for it now. One example is a fixed monthly saving."
],
"language": "en",
"detail": "standard",
"read_from": "the tenth house and its lord, the sixth, and the karakas for work",
"answer": {
"headline": "Your chart backs your work more than most parts of your life. The effort you put in usually turns into results and a good name, often more easily than for others.",
"explain": "Your career planet is the planet that rules your 10th house, the house of work. In your chart, that planet is Mercury.",
"points": [
"Your career may take you abroad or behind the scenes. Foreign companies, hospitals, research, charities and quiet work on your own tend to suit you."
],
"strengths": [
"Your career planet is strong in its sign, so your work stands on solid ground.",
"Your career planet also rules a lucky house, so good fortune and your work tend to go together."
],
"watch": [
"Your career planet sits in a difficult house, so your work often involves obstacles you have to push through."
],
"fields": [
"business and trade",
"writing, media and communication",
"accounts and analysis"
],
"timing": [
"Your current Jupiter–Moon period is not mainly about work. For now, progress comes more from steady effort than from timing.",
"Your next stretch with work in focus is the Saturn–Mercury period, from December 2033 to September 2036."
],
"tips": [
"Aim a little higher than feels comfortable. Your chart backs your ambition at work.",
"Put your own name on what you do, so the credit reaches you.",
"Use the work periods in your report's timing chapters for big moves: a new role or your own business."
],
"advice": "Stay open to working abroad or with foreign companies. Quiet, independent or behind-the-scenes work suits you better than being always on show. Watch work costs like travel and setup.",
"note": "Job or your own business? Talk this through with your astrologer.",
"more": [
{
"id": "balance",
"value": "first",
"text": "Your work planet, the ruler of your 10th house (career), is stronger than your home planet. That is the ruler of your 4th house (home and family). Work tends to pull hard on you, so guard your rest and family time."
}
],
"basis": {
"topic": "career",
"house": 10,
"lord": "Mercury",
"lord_in_house": 12,
"in_house": [],
"outcome": "helped",
"verdict": "mixed",
"leans": "supports"
}
},
"draws_on": [
{
"id": "lord_house:10:12",
"title": "Lord of the 10th (Mercury) in the 12th house",
"text": [
"Your tenth house covers career and your good name. Its ruler sits in your twelfth, the house of foreign places, institutions, spending and quiet work. So your work often happens out of sight: abroad, inside institutions or behind the…",
"Often this means working abroad, inside an institution, in research, or behind someone else who gets the public credit. Your work may cost you a lot, in money or in energy. You may not chase fame, and you may not much enjoy it when it…",
"By the usual measures of success this can look hard, but by other measures it often makes complete sense. Which measure you go by is your choice, not something the chart decides. Letting your quiet work be seen now and then protects your…"
],
"score": 5
},
{
"id": "planet_house:Mercury:12",
"title": "Mercury in the 12th house",
"text": [
"Mercury sits in your twelfth house, the part of the chart for solitude, foreign lands and work behind the scenes. You often do your best work alone. That can mean research, writing, translation, or analysis done quietly for an institution…",
"The trouble is a mind that talks to itself: time alone can quickly turn into going over the same thoughts again and again. You need at least one regular conversation with someone else, planned and on a schedule."
],
"score": 5
},
{
"id": "planet_owns:Mercury:10",
"title": "Mercury owns the 10th house",
"text": [
"Your tenth house covers career, reputation and your place in public life. Mercury, the planet of communication and skill, rules it, so your work tends to be built on your intelligence. Writing, business, consulting, media, analysis and…",
"Being adaptable helps your career instead of distracting you. Running two kinds of work at once can be normal for you: a day job and a side business, or teaching alongside writing. People often respect you because you are useful and you…",
"The thing to watch is taking on so much that nothing gets your full attention. Choosing one main line of work, with the others kept small, makes your reputation clearer."
],
"score": 5
}
],
"not_written": []
}
],
"gaps": [],
"language": "en",
"detail": "standard",
"fell_back_to_en": false,
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
}
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Readings and reports, Remedies.
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.
Cost: Each successful request counts as 1 call toward your monthly calls.
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (11), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| as_of | query | The day to read, YYYY-MM-DD. Defaults to today. |
| latitude | query | Where the person is today: latitude in degrees, negative for south. Defaults to the birth place. |
| longitude | query | Longitude in degrees, negative for west. Send it with latitude; the panchang depends on sunrise, and sunrise depends on where you are. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
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): each item 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): each item 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.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/reading/daily?as_of=2026-10-01&latitude=40.7128&longitude=-74.006" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"reckoned_at": "sunrise",
"panchang": {
"date": "2026-10-01",
"place": {
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York"
},
"sun": {
"rise": "2026-10-01T06:52:37-04:00",
"set": "2026-10-01T18:37:57-04:00"
},
"moon": {
"rise": "2026-10-01T21:38:37-04:00",
"set": "2026-10-01T12:44:56-04:00"
},
"tithi": {
"index": 21,
"name": "Shashthi",
"paksha": "krishna",
"completion_percent": 17.4653,
"starts": "2026-10-01T03:05:43-04:00",
"ends": "2026-10-02T00:45:43-04:00"
},
"nakshatra": {
"name": "Rohini",
"lord": "Moon",
"pada": 2,
"starts": "2026-09-30T20:32:55-04:00",
"ends": "2026-10-01T18:57:24-04:00"
},
"yoga": {
"index": 16,
"name": "Siddhi",
"completion_percent": 76.4854,
"starts": "2026-09-30T14:50:35-04:00",
"ends": "2026-10-01T11:48:23-04:00"
},
"karana": {
"index": 41,
"name": "Gara",
"completion_percent": 34.9307,
"starts": "2026-10-01T03:05:43-04:00",
"ends": "2026-10-01T13:55:24-04:00"
},
"vara": {
"index": 5,
"name": "Thursday",
"lord": "Jupiter"
},
"masa": {
"name": "Bhadrapada",
"paksha": "krishna",
"adhika": false,
"kshaya": false,
"convention": "amanta",
"starts": "2026-09-10T23:27:00-04:00",
"ends": "2026-10-10T11:50:05-04:00",
"amanta": {
"name": "Bhadrapada",
"adhika": false
},
"purnimanta": {
"name": "Asvina",
"adhika": false
},
"rule": "a lunar month runs new moon to new moon and is named after the sankranti it contains; none makes it adhika, two make it kshaya. Purnimanta names the dark half after the following month; a leap month keeps its bounds in both"
},
"ritu": {
"name": "Sharad",
"season": "autumn"
},
"ritu_lunar": {
"name": "Varsha",
"season": "monsoon"
},
"samvat": {
"shaka": 1948,
"vikram": 2083,
"vikram_kartikadi": 2082,
"note": "shaka and vikram turn at Chaitra, not at the Gregorian new year; vikram_kartikadi is the Vikram year as Gujarat counts it, turning at Kartika (the day after Diwali)"
},
"ayana": "Dakshinayana",
"ayana_sidereal": "Dakshinayana",
"reckoning": {
"ritu": "tropical Sun",
"ayana": "tropical Sun",
"ritu_lunar": "lunar month",
"ayana_sidereal": "sidereal Sun",
"note": "ritu and ayana follow the solstices and equinoxes (the tropical Sun). Festivals, vrats and the lunar month keep the lunar reckoning; their dates are unchanged."
},
"inauspicious": {
"rahu_kaal": {
"starts": "2026-10-01T14:13:27-04:00",
"ends": "2026-10-01T15:41:37-04:00"
},
"yamaganda": {
"starts": "2026-10-01T06:52:37-04:00",
"ends": "2026-10-01T08:20:47-04:00"
},
"gulika_kaal": {
"starts": "2026-10-01T09:48:57-04:00",
"ends": "2026-10-01T11:17:07-04:00"
}
},
"auspicious": {
"abhijit_muhurta": {
"starts": "2026-10-01T12:21:46-04:00",
"ends": "2026-10-01T13:08:47-04:00",
"overlaps": [],
"clear": [
{
"starts": "2026-10-01T12:21:46-04:00",
"ends": "2026-10-01T13:08:47-04:00"
}
]
}
},
"muhurta": {
"weekday_lord": "Jupiter",
"conflicts": [
{
"band": "yamaganda",
"choghadiya": "Shubh",
"eighth": 1,
"note": "Shubh is reckoned benefit and auspicious beginnings, and yamaganda covers the same eighth of the day. The two tables disagree here; neither is applied over the other."
},
{
"band": "rahu_kaal",
"choghadiya": "Amrit",
"eighth": 6,
"note": "Amrit is reckoned the best of the eight, and rahu kaal covers the same eighth of the day. The two tables disagree here; neither is applied over the other."
}
],
"choghadiya": {
"day": [
{
"graha": "Jupiter",
"name": "Shubh",
"quality": "auspicious",
"signifies": "benefit and auspicious beginnings",
"starts": "2026-10-01T06:52:37-04:00",
"ends": "2026-10-01T08:20:47-04:00",
"index": 1
},
{
"graha": "Mars",
"name": "Rog",
"quality": "inauspicious",
"signifies": "illness and conflict",
"starts": "2026-10-01T08:20:47-04:00",
"ends": "2026-10-01T09:48:57-04:00",
"index": 2
},
{
"graha": "Sun",
"name": "Udveg",
"quality": "inauspicious",
"signifies": "anxiety and unrest",
"starts": "2026-10-01T09:48:57-04:00",
"ends": "2026-10-01T11:17:07-04:00",
"index": 3
}
],
"night": [
{
"graha": "Moon",
"name": "Amrit",
"quality": "auspicious",
"signifies": "the best of the eight",
"starts": "2026-10-01T18:37:57-04:00",
"ends": "2026-10-01T20:09:54-04:00",
"index": 1
},
{
"graha": "Venus",
"name": "Char",
"quality": "neutral",
"signifies": "movement; good for travel",
"starts": "2026-10-01T20:09:54-04:00",
"ends": "2026-10-01T21:41:52-04:00",
"index": 2
},
{
"graha": "Mars",
"name": "Rog",
"quality": "inauspicious",
"signifies": "illness and conflict",
"starts": "2026-10-01T21:41:52-04:00",
"ends": "2026-10-01T23:13:50-04:00",
"index": 3
}
]
},
"hora": [
{
"index": 1,
"lord": "Jupiter",
"starts": "2026-10-01T06:57:02-04:00",
"ends": "2026-10-01T07:57:04-04:00"
},
{
"index": 2,
"lord": "Mars",
"starts": "2026-10-01T07:57:04-04:00",
"ends": "2026-10-01T08:57:07-04:00"
},
{
"index": 3,
"lord": "Sun",
"starts": "2026-10-01T08:57:07-04:00",
"ends": "2026-10-01T09:57:09-04:00"
}
],
"rule": "all three walk the descending Chaldean order -- Saturn, Jupiter, Mars, Sun, Venus, Mercury, Moon. Horas and day choghadiya start at the weekday lord and move one place at a time; night choghadiya start at the lord of the fifth weekday from…",
"note": "day choghadiya divide daylight, night choghadiya divide the night, and horas divide sunrise to sunrise. The three do not share boundaries and are not meant to. Choghadiya and the bands run on the visible sunrise the calendars print; the…"
},
"reckoned_at": "sunrise",
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 24.230763,
"ephemeris": "JPL DE440s"
}
},
"moon": {
"id": "daily:moon",
"title": "The Moon in the 1st from your own",
"family": "transits",
"text": [
"About every 27 days, the Moon returns to your own Moon sign, your first house. It stays about two and a quarter days. The Moon rules your mood and feelings, and here it is back where it was when you were born. **So tradition counts this as…",
"What you can do: use these two days for anything where your own read of things matters most. Right now you usually aren't detached, even if you don't notice. So these two days suit work that needs you to stay detached less well. A good…"
],
"language": "en",
"detail": "standard",
"sign": "Taurus",
"house_from_moon": 1,
"result": "favorable",
"net": "obstructed",
"obstructed": true,
"obstructed_by": [
"Sun"
],
"vedha_house": 5
},
"transits": [
{
"id": "daily:transit:Sun",
"title": "Sun in the 5th from your Moon",
"family": "transits",
"text": [
"Counted from your Moon sign, the fifth house covers children, learning, judgment and the things you create. The Sun brings confidence, and during its month here that is exactly the risk. **From the inside, confidence and good judgment feel…",
"What you can do: keep your money out of speculation this month, because your confidence makes a risk look smaller than it is. If someone criticizes your idea, listen before you defend it. Creative work and teaching can still go well when…"
],
"language": "en",
"detail": "standard",
"graha": "Sun",
"sign": "Virgo",
"house_from_moon": 5,
"result": "unfavorable",
"net": "unfavorable",
"obstructed": false,
"obstructed_by": []
},
{
"id": "daily:transit:Mars",
"title": "Mars in the 3rd from your Moon",
"family": "transits",
"text": [
"Transits are counted from your Moon sign. The third house from it covers effort, courage, short trips and your brothers and sisters. Mars is the planet of drive and nerve, exactly what this house needs. **Its stay of about six weeks here…",
"What you can do: this is your window for the hard push. That could be the confrontation, the deadline or the job that needs force more than skill. What you get done now often lasts after the transit ends. Leave delicate work for another…"
],
"language": "en",
"detail": "standard",
"graha": "Mars",
"sign": "Cancer",
"house_from_moon": 3,
"result": "favorable",
"net": "favorable",
"obstructed": false,
"obstructed_by": []
},
{
"id": "daily:transit:Mercury",
"title": "Mercury in the 6th from your Moon",
"family": "transits",
"text": [
"The sixth house, counted from your Moon sign, covers disputes, debts, daily work and health. Mercury handles all of these through detail, and right now you have the detail. **So its three to four weeks here are one of its strong transits…",
"What you can do: bring the dispute, the debt and the health question to these weeks. Watch your tone, though, because being precise can sound like criticism. A colleague you correct now, even rightly, may remember it later."
],
"language": "en",
"detail": "standard",
"graha": "Mercury",
"sign": "Libra",
"house_from_moon": 6,
"result": "favorable",
"net": "favorable",
"obstructed": false,
"obstructed_by": []
}
],
"summary": {
"favorable": 4,
"unfavorable": 4,
"obstructed": 1
},
"gaps": [],
"language": "en",
"detail": "standard",
"fell_back_to_en": false,
"note": "the Moon leads because it is the only part of the chart that moves fast enough to make one day differ from the next. The slower grahas set the season the day sits in.",
"dasha": [
{
"level": "mahadasha",
"lord": "Jupiter",
"start": "2014-12-20T19:27:09.380502",
"end": "2030-12-20T19:27:09.380502"
},
{
"level": "antardasha",
"lord": "Moon",
"start": "2026-04-21T07:27:09.380502",
"end": "2027-08-21T07:27:09.380502"
},
{
"level": "pratyantardasha",
"lord": "Jupiter",
"start": "2026-09-10T08:27:09.380502",
"end": "2026-11-14T06:51:09.380502"
}
],
"sadesati": {
"present": false,
"phase": null,
"in_break": false,
"current": null,
"next": {
"starts": "2027-06-02T19:58:14",
"ends": "2034-07-12T18:52:55",
"complete": true,
"phases": [
{
"phase": "rising",
"sanskrit": "arohini",
"house_from_moon": 12,
"starts": "2027-06-02T19:58:14",
"ends": "2027-10-19T21:42:17"
},
{
"phase": "rising",
"sanskrit": "arohini",
"house_from_moon": 12,
"starts": "2028-02-23T08:54:04",
"ends": "2029-08-08T03:02:02"
},
{
"phase": "peak",
"sanskrit": "madhya",
"house_from_moon": 1,
"starts": "2029-08-08T03:02:02",
"ends": "2029-10-05T07:22:54"
}
],
"breaks": [
{
"starts": "2027-10-19T21:42:17",
"ends": "2028-02-23T08:54:04",
"reason": "Saturn retrograde back out of the band"
}
]
},
"dhaiya_present": false,
"kantaka_present": false,
"dhaiya_kantaka": null
},
"natal_moon_sign": "Taurus",
"date": "2026-10-01",
"tara_bala": {
"count": 27,
"tara": 9,
"name": "Ati-Mitra",
"count_name": "Ati-Mitra",
"auspicious": true,
"severity": null,
"severity_reason": null,
"signifies": "the most favorable; support arrives without asking",
"rule": "counted from the natal Moon nakshatra to the day nakshatra, mod 9. The 1st (Janma: counts 1, 10 and 19), 3rd, 5th and 7th are unfavorable for a start; the 2nd, 4th, 6th, 8th and 9th are favorable. Of the Janma counts the 1st is strict and…",
"reading": {
"text": [
"**Today is the most helpful step in your cycle of nine.** Count from your birth star, the nakshatra (star group) the Moon was in when you were born, to today's star. Today lands on the step of the great friend. Help tends to come without…",
"What you can do: use the day for something that matters to you. Make an important request or start a task you have planned. Still check the details before you commit."
],
"language": "en",
"detail": "standard"
}
},
"place": {
"latitude": 40.7128,
"longitude": -74.006,
"is_birth_place": false
},
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
}
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Daily horoscopes.
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/dailygives for that date.moon_staysjoins 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.
rulestates 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.
Cost: Uses reading credits on live keys instead of monthly calls. On test keys it counts as 1 call.
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (12), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| from | query | The first day of the week, YYYY-MM-DD. Required: with no date the answer is pending. |
| as_of | query | The same as from, under the name the monthly sections use. |
| latitude | query | Where the person is now: latitude in degrees, negative for south. Defaults to the birth place. |
| longitude | query | Longitude in degrees, negative for west. Send it with latitude. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
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): each item holds date, panchang, moon, tara_bala, chandra_bala, standing.moon_stays(array of objects): each item 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.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/reading/weekly?from=2026-10-01&as_of=2026-10-01&latitude=40.7128&longitude=-74.006" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"from": "2026-10-01",
"to": "2026-10-07",
"framing": {
"id": "weekly:framing",
"family": "weekly",
"key": [
"framing"
],
"title": "Your week",
"text": [
"**This is your week, read one day at a time.** Each part below is the same reading you would get for that day or that period on its own. The Moon moves the fastest, so it shapes each day. Your dasha (the planet period you are in) and the…"
],
"language": "en",
"detail": "standard"
},
"dasha": {
"framing": {
"id": "weekly:dasha:steady",
"family": "weekly",
"key": [
"dasha",
"steady"
],
"title": "Your planet period this week",
"text": [
"Your planet period stays the same all week. So this week rests on the same ground as the weeks around it. The reading of your period below holds for every day."
],
"language": "en",
"detail": "standard"
},
"running": [
{
"id": "vimshottari:mahadasha:Jupiter",
"level": "mahadasha",
"title": "Jupiter Mahadasha",
"family": "dasha",
"system": "vimshottari",
"lord": "Jupiter",
"lord_en": "Jupiter",
"starts": "2014-12-20",
"ends": "2030-12-20",
"parts": [
{
"part": "level",
"key": "mahadasha",
"text": [
"**The mahadasha is your major period.** The dasha system is the chain of planetary periods that times your life, and the mahadasha is its largest division. It runs for years, sometimes decades, so it sets the overall tone of that chapter…",
"It decides the broad themes and priorities. Everything smaller happens within it: the sub-periods and the weeks inside them."
],
"language": "en",
"detail": "standard"
},
{
"part": "lord",
"key": "Jupiter",
"text": [
"Jupiter stands for wisdom, growth and good guidance. So a Jupiter period puts four things at the center: learning, faith, children and steady growth in money. When it is your major period, it lasts 16 years. Doors tend to open through…",
"By nature it is the most protective of the periods. How much of that you feel depends on how Jupiter stands in your chart, and the reading below shows this. At its best, things usually work out: help turns up, and mistakes are forgiven…",
"It rewards study, teaching, giving advice and anything that grows slowly. For health, watch the liver, your weight and the blood. What helps: keep some discipline while life is easy, such as a regular exercise habit and a budget that still…"
],
"language": "en",
"detail": "standard"
}
],
"language": "en",
"detail": "standard"
},
{
"id": "vimshottari:antardasha:Moon",
"level": "antardasha",
"title": "Moon Antardasha",
"family": "dasha",
"system": "vimshottari",
"lord": "Moon",
"lord_en": "Moon",
"starts": "2026-04-21",
"ends": "2027-08-21",
"parts": [
{
"part": "level",
"key": "antardasha",
"text": [
"**The antardasha is your sub-period.** It runs inside the mahadasha, your major period, and lasts from several months to a few years. You actually feel its rhythm day to day: it is short enough to change what each year is like.",
"It brings the broad promise of the major period down to earth: specific windows for movement, a breakthrough or a stretch of hard work."
],
"language": "en",
"detail": "standard"
},
{
"part": "lord",
"key": "Moon",
"text": [
"The Moon stands for your mind and feelings. So a Moon period brings your sensitivity, your home and your bond with your mother into sharp focus. When it is your major period, it lasts 10 years. Your intuition gets stronger. Things go well…",
"Of all the periods, the Moon's is the most changeable, much as the Moon itself changes shape through the month. Your moods drive your decisions, and travel and moving are common. What looked settled at the start is often rearranged by the…",
"It rewards work that involves caring for people, looking after them and dealing with the public. But anyone whose plans need a steady temper can find it hard. For health, watch the chest, the stomach and your sleep. What helps: a regular…"
],
"language": "en",
"detail": "standard"
},
{
"part": "role",
"key": "great_friend",
"text": [
"The planet ruling this sub-period is a great friend (atimitra) of the planet ruling the period above it. Planets are friendly or hostile to each other in two ways: by nature, and by where they sit in your chart. These two are friendly on…",
"No pairing is more cooperative: the sub-period works with what the bigger period is doing instead of fighting it. The results are usually the ones the bigger period was already promising. They tend to arrive on time and without a struggle."
],
"language": "en",
"detail": "standard"
}
],
"language": "en",
"detail": "standard"
},
{
"id": "vimshottari:pratyantardasha:Jupiter",
"level": "pratyantardasha",
"title": "Jupiter Pratyantardasha",
"family": "dasha",
"system": "vimshottari",
"lord": "Jupiter",
"lord_en": "Jupiter",
"starts": "2026-09-10",
"ends": "2026-11-14",
"parts": [
{
"part": "level",
"key": "pratyantardasha",
"text": [
"**The pratyantardasha is the sub-sub-period.** It sits inside the antardasha, your sub-period, and runs from a few days to about six months. So it gives the texture of what is happening to you right now.",
"Use this layer for short-term timing: signing an agreement, starting a project, planning a trip or fixing a date for a big event. Don't base big life decisions on it, because it is too short."
],
"language": "en",
"detail": "standard"
},
{
"part": "lord",
"key": "Jupiter",
"text": [
"Jupiter stands for wisdom, growth and good guidance. So a Jupiter period puts four things at the center: learning, faith, children and steady growth in money. When it is your major period, it lasts 16 years. Doors tend to open through…",
"By nature it is the most protective of the periods. How much of that you feel depends on how Jupiter stands in your chart, and the reading below shows this. At its best, things usually work out: help turns up, and mistakes are forgiven…",
"It rewards study, teaching, giving advice and anything that grows slowly. For health, watch the liver, your weight and the blood. What helps: keep some discipline while life is easy, such as a regular exercise habit and a budget that still…"
],
"language": "en",
"detail": "standard"
},
{
"part": "role",
"key": "friend",
"text": [
"The planet ruling this sub-period is a friend (mitra) of the planet ruling the period above it. Planets can be friendly by nature or by where they sit in your chart. Here the two work together easily.",
"So the bigger period's themes usually move forward rather than stall. Nothing dramatic is added, but what is already underway keeps moving."
],
"language": "en",
"detail": "standard"
}
],
"language": "en",
"detail": "standard"
}
],
"detail": [
{
"level": "mahadasha",
"lord": "Jupiter",
"starts": "2014-12-20",
"ends": "2030-12-20",
"within": null,
"lord_stands": {
"verdict": "mixed",
"counts": {
"supports": 2,
"strains": 4
},
"supports": [
"Jupiter is in Cancer (exalted)",
"Venus shares the sign, and is benefic in this chart"
],
"strains": [
"The Sun shares the sign, and is malefic in this chart",
"Ketu shares the sign, and is malefic in this chart",
"Mars aspects it, and is malefic in this chart"
],
"noted": []
}
},
{
"level": "antardasha",
"lord": "Moon",
"starts": "2026-04-21",
"ends": "2027-08-21",
"within": "Jupiter",
"relation_to_lord_above": "great_friend",
"lord_stands": {
"verdict": "mixed",
"counts": {
"supports": 2,
"strains": 1
},
"supports": [
"The Moon is in Taurus (mulatrikona)",
"The Moon stands in the 9th, a trine"
],
"strains": [
"Rahu aspects it, and is malefic in this chart"
],
"noted": []
}
},
{
"level": "pratyantardasha",
"lord": "Jupiter",
"starts": "2026-09-10",
"ends": "2026-11-14",
"within": "Moon",
"relation_to_lord_above": "friend",
"lord_stands": {
"verdict": "mixed",
"counts": {
"supports": 2,
"strains": 4
},
"supports": [
"Jupiter is in Cancer (exalted)",
"Venus shares the sign, and is benefic in this chart"
],
"strains": [
"The Sun shares the sign, and is malefic in this chart",
"Ketu shares the sign, and is malefic in this chart",
"Mars aspects it, and is malefic in this chart"
],
"noted": []
}
}
],
"changes": []
},
"days": [
{
"date": "2026-10-01",
"panchang": {
"vara": {
"index": 5,
"name": "Thursday",
"lord": "Jupiter"
},
"tithi": {
"index": 21,
"name": "Shashthi",
"paksha": "krishna",
"completion_percent": 17.4653,
"starts": "2026-10-01T03:05:43-04:00",
"ends": "2026-10-02T00:45:43-04:00"
},
"nakshatra": {
"name": "Rohini",
"lord": "Moon",
"pada": 2,
"starts": "2026-09-30T20:32:55-04:00",
"ends": "2026-10-01T18:57:24-04:00"
}
},
"moon": {
"id": "daily:moon",
"title": "The Moon in the 1st from your own",
"family": "transits",
"text": [
"About every 27 days, the Moon returns to your own Moon sign, your first house. It stays about two and a quarter days. The Moon rules your mood and feelings, and here it is back where it was when you were born. **So tradition counts this as…",
"What you can do: use these two days for anything where your own read of things matters most. Right now you usually aren't detached, even if you don't notice. So these two days suit work that needs you to stay detached less well. A good…"
],
"language": "en",
"detail": "standard",
"sign": "Taurus",
"house_from_moon": 1,
"result": "favorable",
"net": "obstructed",
"obstructed": true,
"obstructed_by": [
"Sun"
],
"vedha_house": 5
},
"tara_bala": {
"count": 27,
"tara": 9,
"name": "Ati-Mitra",
"count_name": "Ati-Mitra",
"auspicious": true,
"severity": null,
"severity_reason": null,
"signifies": "the most favorable; support arrives without asking",
"rule": "counted from the natal Moon nakshatra to the day nakshatra, mod 9. The 1st (Janma: counts 1, 10 and 19), 3rd, 5th and 7th are unfavorable for a start; the 2nd, 4th, 6th, 8th and 9th are favorable. Of the Janma counts the 1st is strict and…",
"reading": {
"text": [
"**Today is the most helpful step in your cycle of nine.** Count from your birth star, the nakshatra (star group) the Moon was in when you were born, to today's star. Today lands on the step of the great friend. Help tends to come without…",
"What you can do: use the day for something that matters to you. Make an important request or start a task you have planned. Still check the details before you commit."
],
"language": "en",
"detail": "standard"
}
},
"chandra_bala": {
"house_from_natal_moon": 1,
"strong": true,
"decided_by": "house",
"paksha": null,
"sources_agree": true,
"rule": "the transit Moon in the 1st, 3rd, 6th, 7th, 10th or 11th from the natal Moon is strong; in the 4th, 8th or 12th weak. In the 2nd, 5th or 9th it is strong in the bright half (shukla paksha) and weak in the dark half (krishna paksha)"
},
"standing": "good"
},
{
"date": "2026-10-02",
"panchang": {
"vara": {
"index": 6,
"name": "Friday",
"lord": "Venus"
},
"tithi": {
"index": 22,
"name": "Saptami",
"paksha": "krishna",
"completion_percent": 28.2524,
"starts": "2026-10-02T00:45:43-04:00",
"ends": "2026-10-02T22:30:08-04:00"
},
"nakshatra": {
"name": "Mrigashira",
"lord": "Mars",
"pada": 3,
"starts": "2026-10-01T18:57:24-04:00",
"ends": "2026-10-02T17:25:13-04:00"
}
},
"moon": {
"id": "daily:moon",
"title": "The Moon in the 1st from your own",
"family": "transits",
"text": [
"About every 27 days, the Moon returns to your own Moon sign, your first house. It stays about two and a quarter days. The Moon rules your mood and feelings, and here it is back where it was when you were born. **So tradition counts this as…",
"What you can do: use these two days for anything where your own read of things matters most. Right now you usually aren't detached, even if you don't notice. So these two days suit work that needs you to stay detached less well. A good…"
],
"language": "en",
"detail": "standard",
"sign": "Taurus",
"house_from_moon": 1,
"result": "favorable",
"net": "obstructed",
"obstructed": true,
"obstructed_by": [
"Sun"
],
"vedha_house": 5
},
"tara_bala": {
"count": 1,
"tara": 1,
"name": "Janma",
"count_name": "Janma",
"auspicious": false,
"severity": "strict",
"severity_reason": "the birth star itself. Classical texts strictly reject it for big beginnings such as marriage, long journeys and a new business",
"signifies": "the birth star and its 10th and 19th repeats. Best avoided for big new starts such as marriage, long travel or a new business",
"rule": "counted from the natal Moon nakshatra to the day nakshatra, mod 9. The 1st (Janma: counts 1, 10 and 19), 3rd, 5th and 7th are unfavorable for a start; the 2nd, 4th, 6th, 8th and 9th are favorable. Of the Janma counts the 1st is strict and…",
"reading": {
"text": [
"**Today the Moon comes back to your birth star.** Your birth star is the nakshatra (star group) the Moon was in when you were born. Old texts say this day is best avoided for big new starts. Your feelings may also sit a little closer to…",
"What you can do: keep today for your usual work. Save big new starts, like a wedding, a long trip or a new business, for another day."
],
"language": "en",
"detail": "standard"
}
},
"chandra_bala": {
"house_from_natal_moon": 1,
"strong": true,
"decided_by": "house",
"paksha": null,
"sources_agree": true,
"rule": "the transit Moon in the 1st, 3rd, 6th, 7th, 10th or 11th from the natal Moon is strong; in the 4th, 8th or 12th weak. In the 2nd, 5th or 9th it is strong in the bright half (shukla paksha) and weak in the dark half (krishna paksha)"
},
"standing": "mixed"
},
{
"date": "2026-10-03",
"panchang": {
"vara": {
"index": 7,
"name": "Saturday",
"lord": "Saturn"
},
"tithi": {
"index": 23,
"name": "Ashtami",
"paksha": "krishna",
"completion_percent": 38.5321,
"starts": "2026-10-02T22:30:08-04:00",
"ends": "2026-10-03T20:22:13-04:00"
},
"nakshatra": {
"name": "Ardra",
"lord": "Rahu",
"pada": 3,
"starts": "2026-10-02T17:25:13-04:00",
"ends": "2026-10-03T15:59:54-04:00"
}
},
"moon": {
"id": "daily:moon",
"title": "The Moon in the 2nd from your own",
"family": "transits",
"text": [
"The second house from your Moon sign covers family, food, speech and the money you have on hand. The Moon, which colors your mood, spends about two and a quarter days here. **Tradition counts it as a mildly hard Moon for you.** Small costs…",
"What you can do: keep spending to what you planned, and put off the family talk about money for a couple of days. Eat simply and at regular times. If something small goes wrong, fix it and move on, because your mood usually lifts when the…"
],
"language": "en",
"detail": "standard",
"sign": "Gemini",
"house_from_moon": 2,
"result": "unfavorable",
"net": "unfavorable",
"obstructed": false,
"obstructed_by": [],
"vedha_house": null
},
"tara_bala": {
"count": 2,
"tara": 2,
"name": "Sampat",
"count_name": "Sampat",
"auspicious": true,
"severity": null,
"severity_reason": null,
"signifies": "wealth and gain; among the best of the nine",
"rule": "counted from the natal Moon nakshatra to the day nakshatra, mod 9. The 1st (Janma: counts 1, 10 and 19), 3rd, 5th and 7th are unfavorable for a start; the 2nd, 4th, 6th, 8th and 9th are favorable. Of the Janma counts the 1st is strict and…",
"reading": {
"text": [
"**Today is one of the better days in your cycle.** Count from your birth star, the nakshatra (star group) the Moon was in when you were born, to today's star. Today lands on the step of gain, one of the best of the nine. Money matters and…",
"What you can do: use today for something that can grow. Follow up on a payment, make a planned purchase, or put a little money aside. Keep it planned, not rushed."
],
"language": "en",
"detail": "standard"
}
},
"chandra_bala": {
"house_from_natal_moon": 2,
"strong": false,
"decided_by": "paksha",
"paksha": "krishna",
"sources_agree": true,
"rule": "the transit Moon in the 1st, 3rd, 6th, 7th, 10th or 11th from the natal Moon is strong; in the 4th, 8th or 12th weak. In the 2nd, 5th or 9th it is strong in the bright half (shukla paksha) and weak in the dark half (krishna paksha)"
},
"standing": "mixed"
}
],
"moon_stays": [
{
"house_from_moon": 1,
"sign": "Taurus",
"result": "favorable",
"from": "2026-10-01",
"to": "2026-10-02"
},
{
"house_from_moon": 2,
"sign": "Gemini",
"result": "unfavorable",
"from": "2026-10-03",
"to": "2026-10-04"
},
{
"house_from_moon": 3,
"sign": "Cancer",
"result": "favorable",
"from": "2026-10-05",
"to": "2026-10-06"
}
],
"sky": {
"framing": {
"id": "weekly:sky:some",
"family": "weekly",
"key": [
"sky",
"some"
],
"title": "Planets that change this week",
"text": [
"Some planets move into a new sign or change direction this week. Each change is listed on its day, with what it may bring. A change in a slow planet lasts for months, so it counts for more than a quick one."
],
"language": "en",
"detail": "standard"
},
"changes": [
{
"kind": "station_retrograde",
"date": "2026-10-03",
"at": "2026-10-03T03:13-04:00",
"graha": "Venus",
"title": "Venus turns retrograde (seems to move backward)",
"text": [
"Retrograde means a planet seems, from Earth, to move backward for a while. Venus, the planet of love, money and pleasure, does this about every 19 months for roughly six weeks. So some years have none, and the years that do are marked by…",
"Old attachments come back up, and the traditional advice is to look at them rather than act on them. New commitments, marriage most of all, are usually put off until Venus turns direct (moves forward again). That is advice about timing,…"
],
"retrograde_until": "2026-11-13",
"retrograde_until_known": true,
"language": "en",
"detail": "standard"
}
]
},
"best_days": {
"framing": {
"id": "weekly:best:some",
"family": "weekly",
"key": [
"best",
"some"
],
"title": "Better days",
"text": [
"A few days this week pass both day checks. One check counts from your birth star to the day's star. The other looks at the Moon's place from your birth Moon. These days tend to suit new starts, talks and plans you care about."
],
"language": "en",
"detail": "standard"
},
"days": [
{
"date": "2026-10-01",
"tara": "Ati-Mitra",
"tara_auspicious": true,
"moon_house_from_natal_moon": 1,
"chandra_strong": true
},
{
"date": "2026-10-05",
"tara": "Kshema",
"tara_auspicious": true,
"moon_house_from_natal_moon": 3,
"chandra_strong": true
}
]
},
"hardest_days": {
"framing": {
"id": "weekly:hardest:one",
"family": "weekly",
"key": [
"hardest",
"one"
],
"title": "Days to go gently",
"text": [
"One day this week fails both day checks. It tends to bring slow going. Keep it for routine work, and move a big start to another day if you can."
],
"language": "en",
"detail": "standard"
},
"days": [
{
"date": "2026-10-04",
"tara": "Vipat",
"tara_auspicious": false,
"moon_house_from_natal_moon": 2,
"chandra_strong": false
}
]
},
"rule": "a day is good when tara bala is auspicious (the day nakshatra is not the 1st, 3rd, 5th or 7th tara from the birth nakshatra; the 1st is the Janma tara, counts 1, 10 and 19) and chandra bala is strong (the Moon in the 1st, 3rd, 6th, 7th,…",
"dates": {
"title": "Dates to note",
"events": [
{
"kind": "moon_day",
"rank": 50,
"date": "2026-10-01",
"title": "Your Moon day: the Moon returns to your birth star, Mrigashira",
"text": [],
"when": "2026-10-01T18:57:24-04:00",
"until": "2026-10-02T17:25:13-04:00",
"nakshatra": "Mrigashira"
},
{
"kind": "remedy_day",
"rank": 30,
"date": "2026-10-01",
"title": "Thursday: your Jupiter mantra day",
"text": [],
"graha": "Jupiter",
"weekday": "Thursday"
},
{
"kind": "vrat",
"rank": 20,
"date": "2026-10-06",
"title": "Indira Ekadashi",
"text": [],
"slug": "ekadashi",
"name": "Indira Ekadashi",
"kaal": "sunrise"
}
]
},
"counts": {
"good": 2,
"hard": 1,
"mixed": 4,
"sky_changes": 1,
"period_changes": 0,
"dates": 4
},
"gaps": [],
"language": "en",
"detail": "standard",
"note": "each paragraph is the one its own route serves: a day is /v1/reading/daily for that date, a period the dasha section, a sign change the transit entry, a station the annual forecast entry and a dated item the personal calendar. Only the…",
"sadesati": {
"present": false,
"phase": null,
"in_break": false,
"current": null,
"next": {
"starts": "2027-06-02T19:58:14",
"ends": "2034-07-12T18:52:55",
"complete": true,
"phases": [
{
"phase": "rising",
"sanskrit": "arohini",
"house_from_moon": 12,
"starts": "2027-06-02T19:58:14",
"ends": "2027-10-19T21:42:17"
},
{
"phase": "rising",
"sanskrit": "arohini",
"house_from_moon": 12,
"starts": "2028-02-23T08:54:04",
"ends": "2029-08-08T03:02:02"
},
{
"phase": "peak",
"sanskrit": "madhya",
"house_from_moon": 1,
"starts": "2029-08-08T03:02:02",
"ends": "2029-10-05T07:22:54"
}
],
"breaks": [
{
"starts": "2027-10-19T21:42:17",
"ends": "2028-02-23T08:54:04",
"reason": "Saturn retrograde back out of the band"
}
]
},
"dhaiya_present": false,
"kantaka_present": false,
"dhaiya_kantaka": null
},
"place": {
"latitude": 40.7128,
"longitude": -74.006,
"is_birth_place": false
},
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
}
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Daily horoscopes.
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.
Cost: Each successful request counts as 1 call toward your monthly calls.
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (6), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| date | query | Calendar date, YYYY-MM-DD. Defaults to today in the requested time zone. |
| latitude | query | Latitude in degrees, negative for south. Defaults to Ujjain, India. |
| longitude | query | Longitude in degrees, negative for west. Defaults to Ujjain, India. |
| timezone | query | IANA time zone name such as America/New_York, or a fixed offset from UTC in hours such as -5. Defaults to 5.5 (India time). |
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): each item 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)
# New York, Oct 1, 2026
curl "https://apiforastrology.com/api/astrology/v1/rashi/Taurus/today?date=2026-10-01&latitude=40.7128&longitude=-74.006&timezone=America/New_York" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY"{
"reckoned_at": "sunrise",
"panchang": {
"date": "2026-10-01",
"place": {
"latitude": 40.7128,
"longitude": -74.006,
"timezone": -4
},
"sun": {
"rise": "2026-10-01T06:52:37-04:00",
"set": "2026-10-01T18:37:57-04:00"
},
"moon": {
"rise": "2026-10-01T21:38:37-04:00",
"set": "2026-10-01T12:44:56-04:00"
},
"tithi": {
"index": 21,
"name": "Shashthi",
"paksha": "krishna",
"completion_percent": 17.4653,
"starts": "2026-10-01T03:05:43-04:00",
"ends": "2026-10-02T00:45:43-04:00"
},
"nakshatra": {
"name": "Rohini",
"lord": "Moon",
"pada": 2,
"starts": "2026-09-30T20:32:55-04:00",
"ends": "2026-10-01T18:57:24-04:00"
},
"yoga": {
"index": 16,
"name": "Siddhi",
"completion_percent": 76.4854,
"starts": "2026-09-30T14:50:35-04:00",
"ends": "2026-10-01T11:48:23-04:00"
},
"karana": {
"index": 41,
"name": "Gara",
"completion_percent": 34.9307,
"starts": "2026-10-01T03:05:43-04:00",
"ends": "2026-10-01T13:55:24-04:00"
},
"vara": {
"index": 5,
"name": "Thursday",
"lord": "Jupiter"
},
"masa": {
"name": "Bhadrapada",
"paksha": "krishna",
"adhika": false,
"kshaya": false,
"convention": "amanta",
"starts": "2026-09-10T23:27:00-04:00",
"ends": "2026-10-10T11:50:05-04:00",
"amanta": {
"name": "Bhadrapada",
"adhika": false
},
"purnimanta": {
"name": "Asvina",
"adhika": false
},
"rule": "a lunar month runs new moon to new moon and is named after the sankranti it contains; none makes it adhika, two make it kshaya. Purnimanta names the dark half after the following month; a leap month keeps its bounds in both"
},
"ritu": {
"name": "Sharad",
"season": "autumn"
},
"ritu_lunar": {
"name": "Varsha",
"season": "monsoon"
},
"samvat": {
"shaka": 1948,
"vikram": 2083,
"vikram_kartikadi": 2082,
"note": "shaka and vikram turn at Chaitra, not at the Gregorian new year; vikram_kartikadi is the Vikram year as Gujarat counts it, turning at Kartika (the day after Diwali)"
},
"ayana": "Dakshinayana",
"ayana_sidereal": "Dakshinayana",
"reckoning": {
"ritu": "tropical Sun",
"ayana": "tropical Sun",
"ritu_lunar": "lunar month",
"ayana_sidereal": "sidereal Sun",
"note": "ritu and ayana follow the solstices and equinoxes (the tropical Sun). Festivals, vrats and the lunar month keep the lunar reckoning; their dates are unchanged."
},
"inauspicious": {
"rahu_kaal": {
"starts": "2026-10-01T14:13:27-04:00",
"ends": "2026-10-01T15:41:37-04:00"
},
"yamaganda": {
"starts": "2026-10-01T06:52:37-04:00",
"ends": "2026-10-01T08:20:47-04:00"
},
"gulika_kaal": {
"starts": "2026-10-01T09:48:57-04:00",
"ends": "2026-10-01T11:17:07-04:00"
}
},
"auspicious": {
"abhijit_muhurta": {
"starts": "2026-10-01T12:21:46-04:00",
"ends": "2026-10-01T13:08:47-04:00",
"overlaps": [],
"clear": [
{
"starts": "2026-10-01T12:21:46-04:00",
"ends": "2026-10-01T13:08:47-04:00"
}
]
}
},
"muhurta": {
"weekday_lord": "Jupiter",
"conflicts": [
{
"band": "yamaganda",
"choghadiya": "Shubh",
"eighth": 1,
"note": "Shubh is reckoned benefit and auspicious beginnings, and yamaganda covers the same eighth of the day. The two tables disagree here; neither is applied over the other."
},
{
"band": "rahu_kaal",
"choghadiya": "Amrit",
"eighth": 6,
"note": "Amrit is reckoned the best of the eight, and rahu kaal covers the same eighth of the day. The two tables disagree here; neither is applied over the other."
}
],
"choghadiya": {
"day": [
{
"graha": "Jupiter",
"name": "Shubh",
"quality": "auspicious",
"signifies": "benefit and auspicious beginnings",
"starts": "2026-10-01T06:52:37-04:00",
"ends": "2026-10-01T08:20:47-04:00",
"index": 1
},
{
"graha": "Mars",
"name": "Rog",
"quality": "inauspicious",
"signifies": "illness and conflict",
"starts": "2026-10-01T08:20:47-04:00",
"ends": "2026-10-01T09:48:57-04:00",
"index": 2
},
{
"graha": "Sun",
"name": "Udveg",
"quality": "inauspicious",
"signifies": "anxiety and unrest",
"starts": "2026-10-01T09:48:57-04:00",
"ends": "2026-10-01T11:17:07-04:00",
"index": 3
}
],
"night": [
{
"graha": "Moon",
"name": "Amrit",
"quality": "auspicious",
"signifies": "the best of the eight",
"starts": "2026-10-01T18:37:57-04:00",
"ends": "2026-10-01T20:09:54-04:00",
"index": 1
},
{
"graha": "Venus",
"name": "Char",
"quality": "neutral",
"signifies": "movement; good for travel",
"starts": "2026-10-01T20:09:54-04:00",
"ends": "2026-10-01T21:41:52-04:00",
"index": 2
},
{
"graha": "Mars",
"name": "Rog",
"quality": "inauspicious",
"signifies": "illness and conflict",
"starts": "2026-10-01T21:41:52-04:00",
"ends": "2026-10-01T23:13:50-04:00",
"index": 3
}
]
},
"hora": [
{
"index": 1,
"lord": "Jupiter",
"starts": "2026-10-01T06:57:02-04:00",
"ends": "2026-10-01T07:57:04-04:00"
},
{
"index": 2,
"lord": "Mars",
"starts": "2026-10-01T07:57:04-04:00",
"ends": "2026-10-01T08:57:07-04:00"
},
{
"index": 3,
"lord": "Sun",
"starts": "2026-10-01T08:57:07-04:00",
"ends": "2026-10-01T09:57:09-04:00"
}
],
"rule": "all three walk the descending Chaldean order -- Saturn, Jupiter, Mars, Sun, Venus, Mercury, Moon. Horas and day choghadiya start at the weekday lord and move one place at a time; night choghadiya start at the lord of the fifth weekday from…",
"note": "day choghadiya divide daylight, night choghadiya divide the night, and horas divide sunrise to sunrise. The three do not share boundaries and are not meant to. Choghadiya and the bands run on the visible sunrise the calendars print; the…"
},
"reckoned_at": "sunrise",
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 24.230763,
"ephemeris": "JPL DE440s"
}
},
"moon": {
"id": "daily:moon",
"title": "The Moon in the 1st from your own",
"family": "transits",
"text": [
"About every 27 days, the Moon returns to your own Moon sign, your first house. It stays about two and a quarter days. The Moon rules your mood and feelings, and here it is back where it was when you were born. **So tradition counts this as…",
"What you can do: use these two days for anything where your own read of things matters most. Right now you usually aren't detached, even if you don't notice. So these two days suit work that needs you to stay detached less well. A good…"
],
"language": "en",
"detail": "standard",
"sign": "Taurus",
"house_from_moon": 1,
"result": "favorable",
"net": "obstructed",
"obstructed": true,
"obstructed_by": [
"Sun"
],
"vedha_house": 5
},
"transits": [
{
"id": "daily:transit:Sun",
"title": "Sun in the 5th from your Moon",
"family": "transits",
"text": [
"Counted from your Moon sign, the fifth house covers children, learning, judgment and the things you create. The Sun brings confidence, and during its month here that is exactly the risk. **From the inside, confidence and good judgment feel…",
"What you can do: keep your money out of speculation this month, because your confidence makes a risk look smaller than it is. If someone criticizes your idea, listen before you defend it. Creative work and teaching can still go well when…"
],
"language": "en",
"detail": "standard",
"graha": "Sun",
"sign": "Virgo",
"house_from_moon": 5,
"result": "unfavorable",
"net": "unfavorable",
"obstructed": false,
"obstructed_by": []
},
{
"id": "daily:transit:Mars",
"title": "Mars in the 3rd from your Moon",
"family": "transits",
"text": [
"Transits are counted from your Moon sign. The third house from it covers effort, courage, short trips and your brothers and sisters. Mars is the planet of drive and nerve, exactly what this house needs. **Its stay of about six weeks here…",
"What you can do: this is your window for the hard push. That could be the confrontation, the deadline or the job that needs force more than skill. What you get done now often lasts after the transit ends. Leave delicate work for another…"
],
"language": "en",
"detail": "standard",
"graha": "Mars",
"sign": "Cancer",
"house_from_moon": 3,
"result": "favorable",
"net": "favorable",
"obstructed": false,
"obstructed_by": []
},
{
"id": "daily:transit:Mercury",
"title": "Mercury in the 6th from your Moon",
"family": "transits",
"text": [
"The sixth house, counted from your Moon sign, covers disputes, debts, daily work and health. Mercury handles all of these through detail, and right now you have the detail. **So its three to four weeks here are one of its strong transits…",
"What you can do: bring the dispute, the debt and the health question to these weeks. Watch your tone, though, because being precise can sound like criticism. A colleague you correct now, even rightly, may remember it later."
],
"language": "en",
"detail": "standard",
"graha": "Mercury",
"sign": "Libra",
"house_from_moon": 6,
"result": "favorable",
"net": "favorable",
"obstructed": false,
"obstructed_by": []
}
],
"summary": {
"favorable": 4,
"unfavorable": 4,
"obstructed": 1
},
"gaps": [],
"language": "en",
"detail": "standard",
"fell_back_to_en": false,
"note": "the Moon leads because it is the only part of the chart that moves fast enough to make one day differ from the next. The slower grahas set the season the day sits in.",
"sadesati": {
"present": false,
"phase": null,
"in_break": false,
"current": null,
"next": {
"starts": "2027-06-02T19:58:14",
"ends": "2034-07-12T18:52:56",
"complete": true,
"phases": [
{
"phase": "rising",
"sanskrit": "arohini",
"house_from_moon": 12,
"starts": "2027-06-02T19:58:14",
"ends": "2027-10-19T21:42:18"
},
{
"phase": "rising",
"sanskrit": "arohini",
"house_from_moon": 12,
"starts": "2028-02-23T09:54:05",
"ends": "2029-08-08T03:02:03"
},
{
"phase": "peak",
"sanskrit": "madhya",
"house_from_moon": 1,
"starts": "2029-08-08T03:02:03",
"ends": "2029-10-05T07:22:54"
}
],
"breaks": [
{
"starts": "2027-10-19T21:42:18",
"ends": "2028-02-23T09:54:05",
"reason": "Saturn retrograde back out of the band"
}
]
},
"dhaiya_present": false,
"kantaka_present": false,
"dhaiya_kantaka": null
},
"natal_moon_sign": "Taurus",
"chandra_bala": {
"house_from_natal_moon": 1,
"strong": true,
"decided_by": "house",
"paksha": null,
"sources_agree": true,
"rule": "the transit Moon in the 1st, 3rd, 6th, 7th, 10th or 11th from the natal Moon is strong; in the 4th, 8th or 12th weak. In the 2nd, 5th or 9th it is strong in the bright half (shukla paksha) and weak in the dark half (krishna paksha)"
},
"date": "2026-10-01",
"place": {
"latitude": 40.7128,
"longitude": -74.006,
"timezone": -4,
"timezone_info": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
},
"applies_to": "everyone whose natal Moon is in Taurus",
"not_claimed": "a reading of one person. No ascendant, house, running dasha or ashtakavarga enters it; supply a birth chart to /v1/reading/daily for those."
}Example from a real call for New York, Oct 1, 2026. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Daily horoscopes.
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.
Cost: Uses reading credits on live keys instead of monthly calls. On test keys it counts as 1 call.
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (8), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
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.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/karma" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"axis": {
"ketu": {
"graha": "Ketu",
"sign": 4,
"house": 11,
"sign_lord": "Moon",
"lord_house": 9,
"means": "the settled end -- already fluent, already practiced, and for that reason the place a person disengages from",
"sign_name": "Cancer",
"graha_name": "Ketu",
"sign_lord_name": "Moon"
},
"rahu": {
"graha": "Rahu",
"sign": 10,
"house": 5,
"sign_lord": "Saturn",
"lord_house": 4,
"means": "the unmet end -- unfamiliar, hungry and unpracticed, and for that reason where the effort of a life actually goes",
"sign_name": "Capricorn",
"graha_name": "Rahu",
"sign_lord_name": "Saturn"
},
"rule": "one axis with two ends, always seven houses apart. Moving toward one is moving away from the other",
"nodes_rule_no_sign": "the nodes own no sign, so each end is read from the sign it occupies and the graha that rules it -- never from a dignity they do not have",
"houses_apart": 6,
"is_an_axis": true,
"text": [
"**You have Ketu in the eleventh house and Rahu in the fifth.** As the two lunar nodes, Ketu and Rahu always sit opposite each other. Ketu stands on familiar ground, and Rahu on ground that pulls you.",
"Your eleventh house covers friends, groups and shared goals. So you find it easy to move through large groups, social circles and shared projects.",
"Your fifth house covers creativity, romance and self-expression, and that is what pulls you. It draws you to your own creative voice and to things that carry your own mark. It also draws you to romance, fun and the simple joy of creating.…"
],
"language": "en",
"detail": "standard"
},
"atmakaraka": {
"graha": "Sun",
"sign": 4,
"house": 11,
"sign_lord": "Moon",
"lord_house": 9,
"karaka": "Atmakaraka",
"degree_in_sign": 28.7753,
"all_karakas": {
"Atmakaraka": "Sun",
"Amatyakaraka": "Mars",
"Bhratrikaraka": "Saturn",
"Matrikaraka": "Mercury",
"Putrakaraka": "Moon",
"Gnatikaraka": "Venus",
"Darakaraka": "Jupiter"
},
"scheme": "seven-karaka. The eight-karaka variant adds Rahu and changes every assignment below it, so the two are not compatible and a chart is read under one or the other",
"rule": "the graha at the highest degree within its sign",
"text": [
"**The Sun is your atmakaraka**, the planet that has gone farthest through its own sign in your chart. The Jaimini system is a classical school of Vedic astrology. It reads this planet as the one that points to the main lesson of your life.",
"The Sun stands for authority, self-respect and your father. So for you the lesson is about humility, self-respect and leading well. The aim is to shine and inspire people through honesty and care for others. You learn to feel sure of…",
"In real life this can show up as being handed responsibility early, or feeling stung when your effort goes unnoticed. What helps: lead by example, give credit freely, and ask yourself whether you want the job done well or want to be seen…"
],
"language": "en",
"detail": "standard",
"graha_name": "Sun",
"sign_name": "Cancer"
},
"karakamsa": {
"atmakaraka": "Sun",
"navamsa_sign": 12,
"rasi_sign": 4,
"house_from_rasi_lagna": 7,
"sign_lord": "Jupiter",
"vargottama": false,
"rule": "the sign the atmakaraka occupies in the navamsa, counted as a house from the RASI ascendant",
"text": [
"**Your karakamsa** is the sign your atmakaraka occupies in the navamsa (D9) chart. That sign is counted as a house from your rising sign. The atmakaraka is the planet farthest through its own sign, the one that carries your main life…",
"Your birth chart shows what you do outwardly, while the navamsa shows your inner life and your deeper leanings. So the karakamsa shows where that main lesson meets your inner life.",
"For you it falls in your **seventh house**. Your main lessons tend to play out in this part of life. Your growth, passions and sense of fulfillment are most engaged here. Give this area steady, deliberate attention rather than leaving it…"
],
"language": "en",
"detail": "standard",
"sign_name": "Pisces",
"sign_lord_name": "Jupiter"
},
"houses": {
"5": {
"means_en": "purva punya: what is already earned, and comes without being worked for",
"lord": "Saturn",
"lord_house": 4,
"lord_sign": 9,
"occupants": [
"Rahu"
],
"text": [
"**This house covers purva punya: what is already earned, and comes without being worked for.** Its ruler is Saturn, placed in your fourth house.",
"Here the fifth house is read for what already comes easily to you: creative talent, good instincts or simple good fortune. Tradition links it with merit from earlier actions (purva punya). In this reading, that means the gifts you bring…",
"The house where its ruler sits shows where those gifts are most likely to be put to use. Because easy gifts are easy to take for granted, it helps to practice them on purpose."
],
"language": "en",
"detail": "standard",
"means": "purva punya: what is already earned, and comes without being worked for",
"lord_name": "Saturn",
"occupant_names": [
"Rahu"
]
},
"9": {
"means_en": "dharma, fortune and the father: the direction that feels like it was always yours",
"lord": "Venus",
"lord_house": 11,
"lord_sign": 4,
"occupants": [
"Moon"
],
"text": [
"**This house covers dharma, fortune and the father: the direction that feels like it was always yours.** Its ruler is Venus, placed in your eleventh house.",
"The ninth house is about dharma (right conduct), grace, wisdom and fortune. It shows the path that feels right to you, and it links you with teachers, good ideals and lucky breaks.",
"The house where its ruler sits shows where two things tend to show up in your life: a sense of right direction, and good fortune. What helps: follow the principles you believe in consistently, and stay in touch with people who teach or…"
],
"language": "en",
"detail": "standard",
"means": "dharma, fortune and the father: the direction that feels like it was always yours",
"lord_name": "Venus",
"occupant_names": [
"Moon"
]
},
"12": {
"means_en": "moksha, release, and what has to be given up rather than gained",
"lord": "Sun",
"lord_house": 11,
"lord_sign": 4,
"occupants": [
"Mercury"
],
"text": [
"**This house covers moksha, release, and what has to be given up rather than gained.** Its ruler is the Sun, placed in your eleventh house.",
"The twelfth house is about moksha (liberation), time alone and the wisdom of letting go. It stands for the peace that comes when you stop worrying and trust that life is carrying you along.",
"The house where its ruler sits shows where letting go is most likely to be asked of you. It also shows where letting go tends to bring relief. What helps: make regular time for rest or quiet reflection, and practice giving without…"
],
"language": "en",
"detail": "standard",
"means": "moksha, release, and what has to be given up rather than gained",
"lord_name": "Sun",
"occupant_names": [
"Mercury"
]
}
},
"read_from": "the Rahu-Ketu axis, the atmakaraka and its karakamsa, and the 5th, 9th and 12th bhavas",
"not_scored": "there is no classical total for a karmic reading, and a number here would look authoritative and be this service's own",
"not_claimed": "this reports DISPOSITION AND DIRECTION -- where a person is already fluent and disengaged, and where they are hungry and unpracticed. It is not a report on a previous life, and must not be read or written as one",
"not_computed": [
"the eight-karaka scheme, which is a different and incompatible assignment",
"karakamsa yogas, which need the navamsa read as a chart in its own right"
],
"framing": {
"title": "What you bring, and where you are going",
"text": [
"**This section looks at where you are already practiced and where you are not.** It draws on the Rahu-Ketu axis, the atmakaraka and its karakamsa, and the 5th, 9th and 12th bhavas.",
"Put simply, it looks at three things together. First, the two lunar nodes, Rahu and Ketu, which always sit opposite each other. Ketu marks familiar ground, and Rahu marks ground that pulls at you. Second, the planet that leads your chart…",
"Together these show your natural leanings. Some things come easily because you have done them so much. Other ground pulls at you because you haven't covered it yet. Knowing which is which helps you put effort where you are hungry to grow."
],
"language": "en",
"detail": "standard"
},
"gaps": [],
"language": "en",
"detail": "standard",
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
}
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Karmic reading.
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.
Cost: Uses reading credits on live keys instead of monthly calls. On test keys it counts as 1 call.
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (8), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
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): each item holds id, rule, verses, holds_in, sources_agree, graha, text, language, detail.devatas(array)renunciation_yogas(array of objects): each item 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.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/spiritual" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"karakamsa": {
"atmakaraka": "Sun",
"navamsa_sign": 12,
"rasi_sign": 4,
"house_from_rasi_lagna": 7,
"sign_lord": "Jupiter",
"vargottama": false,
"rule": "the sign the atmakaraka occupies in the navamsa, counted as a house from the RASI ascendant"
},
"twelfth_from_karakamsa": {
"sign": 11,
"sign_lord": "Saturn",
"in_malefic_sign": true,
"occupants": {
"rasi": [],
"navamsa": []
},
"findings": [],
"rule": "the sign twelfth from the karakamsa, with the grahas in it counted in the rasi chart and in the navamsa"
},
"in_karakamsa": [
{
"id": "SP-14",
"rule": "the atmakaraka in the navamsa of Pisces: final release",
"verses": "BPHS 33, the navamsa signs",
"holds_in": [
"navamsa"
],
"sources_agree": true,
"graha": "Sun",
"text": [
"Your soul planet (atmakaraka) sits in Pisces in the navamsa (the chart of ninths). The book links this to final freedom, moksha. It points to a deep pull toward the spiritual side of life, more than to worldly gain."
],
"language": "en",
"detail": "standard"
}
],
"devatas": [],
"renunciation_yogas": [
{
"name": "Pravrajya",
"category": "renunciation",
"rule": "four or more grahas occupy one sign",
"detail": "Sun, Jupiter, Venus, Ketu in Cancer"
}
],
"source": "Brihat Parashara Hora Shastra, ch. 33 (effects of karakamsa)",
"not_applied": [
"the planet-to-deity table often quoted for the 12th from the karakamsa (Mercury to Vishnu, Jupiter to Shiva and so on): it is not in BPHS ch. 33, which has no verse for Mercury or Jupiter there",
"the 12th lord when the sign is empty: a later method, not in the chapter"
],
"not_claimed": [
"a deity named here is the one the chapter links to a placement, a leaning and not an instruction; a person's own tradition is theirs",
"the verse promising heaven after death for a benefic exalted or at home in the 12th is not reported; no chart computation can stand behind a claim about an afterlife"
],
"not_scored": "nothing here is weighted or totalled",
"framing": {
"text": [
"This reading looks at your spiritual leanings: what draws you, and how you are likely to look for meaning. It uses two places in your chart. The first is the karakamsa: the sign where your soul planet sits in the navamsa, the chart of…",
"Every point below comes from one classical book, Brihat Parashara Hora Shastra, chapter 33. A deity named here is the one that book links to a placement. It shows a leaning, not a rule, and your own tradition comes first."
],
"language": "en",
"detail": "standard"
},
"no_deity_named": {
"text": [
"Your chart has none of the placements the book links to a named deity. That does not mean anything is missing. The book simply names a deity for only a few combinations, and most charts have none of them."
],
"language": "en",
"detail": "standard"
},
"gaps": [],
"language": "en",
"detail": "standard",
"karma": {
"axis": {
"ketu": {
"graha": "Ketu",
"sign": 4,
"house": 11,
"sign_lord": "Moon",
"lord_house": 9,
"means": "the settled end -- already fluent, already practiced, and for that reason the place a person disengages from",
"sign_name": "Cancer",
"graha_name": "Ketu",
"sign_lord_name": "Moon"
},
"rahu": {
"graha": "Rahu",
"sign": 10,
"house": 5,
"sign_lord": "Saturn",
"lord_house": 4,
"means": "the unmet end -- unfamiliar, hungry and unpracticed, and for that reason where the effort of a life actually goes",
"sign_name": "Capricorn",
"graha_name": "Rahu",
"sign_lord_name": "Saturn"
},
"rule": "one axis with two ends, always seven houses apart. Moving toward one is moving away from the other",
"nodes_rule_no_sign": "the nodes own no sign, so each end is read from the sign it occupies and the graha that rules it -- never from a dignity they do not have",
"houses_apart": 6,
"is_an_axis": true,
"text": [
"**You have Ketu in the eleventh house and Rahu in the fifth.** As the two lunar nodes, Ketu and Rahu always sit opposite each other. Ketu stands on familiar ground, and Rahu on ground that pulls you.",
"Your eleventh house covers friends, groups and shared goals. So you find it easy to move through large groups, social circles and shared projects.",
"Your fifth house covers creativity, romance and self-expression, and that is what pulls you. It draws you to your own creative voice and to things that carry your own mark. It also draws you to romance, fun and the simple joy of creating.…"
],
"language": "en",
"detail": "standard"
},
"atmakaraka": {
"graha": "Sun",
"sign": 4,
"house": 11,
"sign_lord": "Moon",
"lord_house": 9,
"karaka": "Atmakaraka",
"degree_in_sign": 28.7753,
"all_karakas": {
"Atmakaraka": "Sun",
"Amatyakaraka": "Mars",
"Bhratrikaraka": "Saturn",
"Matrikaraka": "Mercury",
"Putrakaraka": "Moon",
"Gnatikaraka": "Venus",
"Darakaraka": "Jupiter"
},
"scheme": "seven-karaka. The eight-karaka variant adds Rahu and changes every assignment below it, so the two are not compatible and a chart is read under one or the other",
"rule": "the graha at the highest degree within its sign",
"text": [
"**The Sun is your atmakaraka**, the planet that has gone farthest through its own sign in your chart. The Jaimini system is a classical school of Vedic astrology. It reads this planet as the one that points to the main lesson of your life.",
"The Sun stands for authority, self-respect and your father. So for you the lesson is about humility, self-respect and leading well. The aim is to shine and inspire people through honesty and care for others. You learn to feel sure of…",
"In real life this can show up as being handed responsibility early, or feeling stung when your effort goes unnoticed. What helps: lead by example, give credit freely, and ask yourself whether you want the job done well or want to be seen…"
],
"language": "en",
"detail": "standard",
"graha_name": "Sun",
"sign_name": "Cancer"
},
"karakamsa": {
"atmakaraka": "Sun",
"navamsa_sign": 12,
"rasi_sign": 4,
"house_from_rasi_lagna": 7,
"sign_lord": "Jupiter",
"vargottama": false,
"rule": "the sign the atmakaraka occupies in the navamsa, counted as a house from the RASI ascendant",
"text": [
"**Your karakamsa** is the sign your atmakaraka occupies in the navamsa (D9) chart. That sign is counted as a house from your rising sign. The atmakaraka is the planet farthest through its own sign, the one that carries your main life…",
"Your birth chart shows what you do outwardly, while the navamsa shows your inner life and your deeper leanings. So the karakamsa shows where that main lesson meets your inner life.",
"For you it falls in your **seventh house**. Your main lessons tend to play out in this part of life. Your growth, passions and sense of fulfillment are most engaged here. Give this area steady, deliberate attention rather than leaving it…"
],
"language": "en",
"detail": "standard",
"sign_name": "Pisces",
"sign_lord_name": "Jupiter"
},
"houses": {
"5": {
"means_en": "purva punya: what is already earned, and comes without being worked for",
"lord": "Saturn",
"lord_house": 4,
"lord_sign": 9,
"occupants": [
"Rahu"
],
"text": [
"**This house covers purva punya: what is already earned, and comes without being worked for.** Its ruler is Saturn, placed in your fourth house.",
"Here the fifth house is read for what already comes easily to you: creative talent, good instincts or simple good fortune. Tradition links it with merit from earlier actions (purva punya). In this reading, that means the gifts you bring…",
"The house where its ruler sits shows where those gifts are most likely to be put to use. Because easy gifts are easy to take for granted, it helps to practice them on purpose."
],
"language": "en",
"detail": "standard",
"means": "purva punya: what is already earned, and comes without being worked for",
"lord_name": "Saturn",
"occupant_names": [
"Rahu"
]
},
"9": {
"means_en": "dharma, fortune and the father: the direction that feels like it was always yours",
"lord": "Venus",
"lord_house": 11,
"lord_sign": 4,
"occupants": [
"Moon"
],
"text": [
"**This house covers dharma, fortune and the father: the direction that feels like it was always yours.** Its ruler is Venus, placed in your eleventh house.",
"The ninth house is about dharma (right conduct), grace, wisdom and fortune. It shows the path that feels right to you, and it links you with teachers, good ideals and lucky breaks.",
"The house where its ruler sits shows where two things tend to show up in your life: a sense of right direction, and good fortune. What helps: follow the principles you believe in consistently, and stay in touch with people who teach or…"
],
"language": "en",
"detail": "standard",
"means": "dharma, fortune and the father: the direction that feels like it was always yours",
"lord_name": "Venus",
"occupant_names": [
"Moon"
]
},
"12": {
"means_en": "moksha, release, and what has to be given up rather than gained",
"lord": "Sun",
"lord_house": 11,
"lord_sign": 4,
"occupants": [
"Mercury"
],
"text": [
"**This house covers moksha, release, and what has to be given up rather than gained.** Its ruler is the Sun, placed in your eleventh house.",
"The twelfth house is about moksha (liberation), time alone and the wisdom of letting go. It stands for the peace that comes when you stop worrying and trust that life is carrying you along.",
"The house where its ruler sits shows where letting go is most likely to be asked of you. It also shows where letting go tends to bring relief. What helps: make regular time for rest or quiet reflection, and practice giving without…"
],
"language": "en",
"detail": "standard",
"means": "moksha, release, and what has to be given up rather than gained",
"lord_name": "Sun",
"occupant_names": [
"Mercury"
]
}
},
"read_from": "the Rahu-Ketu axis, the atmakaraka and its karakamsa, and the 5th, 9th and 12th bhavas",
"not_scored": "there is no classical total for a karmic reading, and a number here would look authoritative and be this service's own",
"not_claimed": "this reports DISPOSITION AND DIRECTION -- where a person is already fluent and disengaged, and where they are hungry and unpracticed. It is not a report on a previous life, and must not be read or written as one",
"not_computed": [
"the eight-karaka scheme, which is a different and incompatible assignment",
"karakamsa yogas, which need the navamsa read as a chart in its own right"
],
"framing": {
"title": "What you bring, and where you are going",
"text": [
"**This section looks at where you are already practiced and where you are not.** It draws on the Rahu-Ketu axis, the atmakaraka and its karakamsa, and the 5th, 9th and 12th bhavas.",
"Put simply, it looks at three things together. First, the two lunar nodes, Rahu and Ketu, which always sit opposite each other. Ketu marks familiar ground, and Rahu marks ground that pulls at you. Second, the planet that leads your chart…",
"Together these show your natural leanings. Some things come easily because you have done them so much. Other ground pulls at you because you haven't covered it yet. Knowing which is which helps you put effort where you are hungry to grow."
],
"language": "en",
"detail": "standard"
},
"gaps": [],
"language": "en",
"detail": "standard"
},
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
}
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Karmic reading.
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.
Cost: Uses reading credits on live keys instead of monthly calls. On test keys it counts as 1 call.
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (10), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| from | query | Start date, YYYY-MM-DD. Defaults to today. |
| to | query | End date, YYYY-MM-DD. Defaults to one year after the start, and can be at most 12 months after it. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
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): each item holds graha, house_from_moon, sign, starts, ends, entry_known, exit_known, resumes_visit, result, vedha_house, bindus, strength.clashes(array of objects): each item holds subject, house, from, to, favorable, unfavorable, reading.periods(array of objects): each item 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): each item holds graha, reason.meta(object): holds ayanamsa, ayanamsa_value, julian_day, ephemeris, node, timezone.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/forecast/love?from=2026-10-01&to=2026-12-31" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"theme": "love",
"focus": "love-and-marriage",
"read_from": "the seventh house and its lord, the second, and Venus",
"houses": [
7,
2,
12
],
"lords": [
7,
2
],
"karakas": [
"Venus",
"Jupiter"
],
"window": {
"from": "2026-10-01",
"to": "2026-12-31"
},
"not_ranked": "a transit and a mahadasha are not on one scale -- one lasts weeks and the other twenty years. They are two lists with their dates, and no number puts them in order",
"framing": {
"text": [
"**This is your love and marriage forecast for the time ahead.** It reads your 7th, 2nd and 12th houses, the parts of your chart for marriage and close bonds. It also follows the planets that stand for love in your chart (Venus and Jupiter).",
"Two clocks run at once. **Transits**, the planets moving through your chart now, are the weather: they come and go in weeks or months. Your **running mahadasha and antardasha** are the long period and the shorter sub-period you are living…",
"A transit can only bring what your running period allows. Read the two together to see when bigger steps in love are more likely. You can also see how to use the quieter stretches. What you can do: save the big steps, such as a proposal or…"
],
"language": "en",
"detail": "standard"
},
"transits": [
{
"graha": "Mercury",
"house_from_moon": 6,
"sign": "Libra",
"starts": "2026-10-01T00:00:00",
"ends": "2026-12-02T06:57:31",
"entry_known": false,
"exit_known": true,
"resumes_visit": false,
"result": "favorable",
"vedha_house": 9,
"bindus": 6,
"strength": "strong",
"natal_house": 2,
"why": [
"crossing your 2nd house, counted from your lagna"
],
"transit_reading_id": "transit:Mercury:6",
"reading": {
"text": [
"Mercury is crossing your 2nd house, the house of family and home life. Until December 2, family tends to back your relationship, so it is a good time for talks at home."
],
"language": "en",
"detail": "standard"
}
},
{
"graha": "Jupiter",
"house_from_moon": 3,
"sign": "Cancer",
"starts": "2026-10-01T00:00:00",
"ends": "2026-10-31T02:32:49",
"entry_known": false,
"exit_known": true,
"resumes_visit": false,
"result": "unfavorable",
"vedha_house": null,
"bindus": 4,
"strength": "moderate",
"natal_house": 11,
"why": [
"karaka for this theme"
],
"transit_reading_id": "transit:Jupiter:3",
"reading": {
"text": [
"Jupiter is a natural sign of love in your chart, so its move matters for you. Until October 31, feelings can run hot and cold, so be patient with each other."
],
"language": "en",
"detail": "standard"
}
},
{
"graha": "Venus",
"house_from_moon": 6,
"sign": "Libra",
"starts": "2026-10-01T00:00:00",
"ends": "2026-11-05T14:34:20",
"entry_known": false,
"exit_known": true,
"resumes_visit": false,
"result": "unfavorable",
"vedha_house": null,
"bindus": 4,
"strength": "moderate",
"natal_house": 2,
"why": [
"karaka for this theme",
"crossing your 2nd house, counted from your lagna"
],
"transit_reading_id": "transit:Venus:6",
"reading": {
"text": [
"Venus is crossing your 2nd house, the house of family and home life. Until November 5, family talks can get heated, so choose your words with care.",
"Venus is a natural sign of love in your chart, so its move matters for you. Until November 5, feelings can run hot and cold, so be patient with each other."
],
"language": "en",
"detail": "standard"
}
}
],
"clashes": [
{
"subject": "house",
"house": 2,
"from": "2026-10-01T00:00:00",
"to": "2026-11-05T14:34:20",
"favorable": "Mercury",
"unfavorable": "Venus",
"reading": {
"text": [
"**October 1, 2026 to November 5, 2026:** Mercury and Venus both cross your 2nd house at the same time, and they pull opposite ways. You may feel some of each, with help coming beside setbacks. Neither one cancels the other, so take the…"
],
"language": "en",
"detail": "standard"
}
},
{
"subject": "house",
"house": 2,
"from": "2026-10-17T10:21:43",
"to": "2026-11-05T14:34:20",
"favorable": "Sun",
"unfavorable": "Venus",
"reading": {
"text": [
"**October 17, 2026 to November 5, 2026:** Sun and Venus both cross your 2nd house at the same time, and they pull opposite ways. You may feel some of each, with help coming beside setbacks. Neither one cancels the other, so take the help…"
],
"language": "en",
"detail": "standard"
}
},
{
"subject": "karaka",
"house": null,
"from": "2026-11-05T14:34:20",
"to": "2026-11-22T06:51:08",
"favorable": "Venus",
"unfavorable": "Jupiter",
"reading": {
"text": [
"**November 5, 2026 to November 22, 2026:** Venus and Jupiter, the planets that stand for this part of life in your chart, pull opposite ways at the same time. Good days and harder days can come close together, so judge the stretch as a…"
],
"language": "en",
"detail": "standard"
}
}
],
"periods": [
{
"level": "mahadasha",
"within": null,
"lord": "Jupiter",
"lord_name": "Jupiter",
"starts": "2014-12-20",
"ends": "2030-12-20",
"years": 16,
"owns_theme_houses": [
7
],
"occupies_house": null,
"is_karaka": true,
"why": [
"rules your 7th house",
"karaka for this theme"
],
"counts": 2,
"reading": {
"text": [
"Jupiter stands for wisdom, growth and good guidance. So a Jupiter period puts four things at the center: learning, faith, children and steady growth in money. When it is your major period, it lasts 16 years. Doors tend to open through…",
"By nature it is the most protective of the periods. How much of that you feel depends on how Jupiter stands in your chart, and the reading below shows this. At its best, things usually work out: help turns up, and mistakes are forgiven…",
"It rewards study, teaching, giving advice and anything that grows slowly. For health, watch the liver, your weight and the blood. What helps: keep some discipline while life is easy, such as a regular exercise habit and a budget that still…"
],
"language": "en",
"detail": "standard"
}
}
],
"transits_reading": {
"text": [
"**10 transits** touch this part of your life in the window you chose. A transit is a planet moving through one of your houses. Each one is counted two ways. The house from your birth Moon shows whether it helps or strains. The house from…",
"Each transit is read by the house it wakes up and the houses its planet rules. That shows you when doors may open and when it pays to wait. It means the most when you read it next to your running dasha. What you can do: mark the dates…"
],
"language": "en",
"detail": "standard"
},
"periods_reading": {
"text": [
"**One dasha period** in your forecast window is tied to this part of your life. A dasha is a long planetary period. While this one runs, it tends to bring this area to the front.",
"The entry below says why its planet was chosen. A transit can only add to what your running period allows. What you can do: use this period on purpose, and set one clear goal for this area before it begins or early in it."
],
"language": "en",
"detail": "standard"
},
"gaps": [],
"language": "en",
"detail": "standard",
"omitted": [
{
"graha": "Moon",
"reason": "changes house 41 times in this window, more than the 14 a timeline lists. Narrow the window, or read it from /v1/transits/ingresses/Moon."
}
],
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
}
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Readings and reports.
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.
Cost: Uses reading credits on live keys instead of monthly calls. On test keys it counts as 1 call.
Every summary section on the Sections and IDs page
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (9), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| as_of | query | The day to read "where you are now" and "the year ahead" from, YYYY-MM-DD. Defaults to today. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
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): each item 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)
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/summary?as_of=2026-10-01" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"who": {
"approach": "earth",
"feeling": "earth"
},
"strengths": {
"houses": [
1,
9,
5
]
},
"effort": {
"houses": [
6,
8
]
},
"contested": {
"houses": [
12,
4,
11
]
},
"life": {
"work": {
"house": 10,
"lord": "Mercury",
"verdict": "mixed",
"leans": "supports",
"outcome": "helped"
},
"money": {
"house": 2,
"lord": "Venus",
"verdict": "mixed",
"leans": "strains",
"outcome": "strained"
},
"love": {
"house": 7,
"lord": "Jupiter",
"verdict": "mixed",
"leans": "strains",
"outcome": "strained"
},
"health": {
"house": 1,
"lord": "Mercury",
"verdict": "mixed",
"leans": "supports",
"outcome": "helped"
}
},
"features": {
"buckets": [
"detachment"
],
"doshas": [],
"yogas_by_bucket": {
"detachment": [
"Pravrajya"
]
}
},
"now": {
"period": {
"lord": "Jupiter",
"verdict": "mixed",
"leans": "strains",
"outcome": "strained",
"rules_lucky_house": false,
"starts": "2014-12-20T19:27:09.380502",
"ends": "2030-12-20T19:27:09.380502",
"level": "mahadasha"
},
"sub_period": {
"lord": "Moon",
"verdict": "mixed",
"leans": "supports",
"outcome": "helped",
"rules_lucky_house": false,
"starts": "2026-04-21T07:27:09.380502",
"ends": "2027-08-21T07:27:09.380502",
"level": "antardasha"
},
"sade_phase": "none"
},
"year": {
"balance": "mixed",
"counts_in_days": {
"favorable": 244,
"unfavorable": 484
},
"spans": [
{
"graha": "Jupiter",
"house_from_moon": 3,
"verdict": "unfavorable",
"days": 30,
"starts": "2026-10-01T00:00:00",
"ends": "2026-10-31T02:32:49"
},
{
"graha": "Saturn",
"house_from_moon": 11,
"verdict": "favorable",
"days": 244,
"starts": "2026-10-01T00:00:00",
"ends": "2027-06-02T19:58:05"
},
{
"graha": "Jupiter",
"house_from_moon": 4,
"verdict": "unfavorable",
"days": 85,
"starts": "2026-10-31T02:32:49",
"ends": "2027-01-24T15:01:25"
}
],
"read_from": "Jupiter and Saturn, counted from the natal Moon, weighed by how long each stands where it stands",
"not_claimed": "no score. A year is called steady, mixed or demanding, and the transits it was read from are listed beside it"
},
"do": {
"stone": "Emerald",
"stone_caution": null,
"days": [
"Wednesday",
"Friday"
],
"colors": [
"green",
"olive",
"white"
]
},
"because": {
"ascendant_sign": 6,
"moon_sign": 2,
"lagna_lord": "Mercury",
"strength_houses": [
1,
9,
5
],
"effort_houses": [
6,
8
],
"contested_houses": [
12,
4,
11
],
"withheld_houses": [],
"life": {
"work": {
"house": 10,
"lord": "Mercury",
"verdict": "mixed",
"leans": "supports",
"outcome": "helped"
},
"money": {
"house": 2,
"lord": "Venus",
"verdict": "mixed",
"leans": "strains",
"outcome": "strained"
},
"love": {
"house": 7,
"lord": "Jupiter",
"verdict": "mixed",
"leans": "strains",
"outcome": "strained"
},
"health": {
"house": 1,
"lord": "Mercury",
"verdict": "mixed",
"leans": "supports",
"outcome": "helped"
}
},
"features": {
"buckets": [
"detachment"
],
"doshas": [],
"yogas_by_bucket": {
"detachment": [
"Pravrajya"
]
}
},
"period": {
"lord": "Jupiter",
"verdict": "mixed",
"leans": "strains",
"outcome": "strained",
"rules_lucky_house": false,
"starts": "2014-12-20T19:27:09.380502",
"ends": "2030-12-20T19:27:09.380502",
"level": "mahadasha"
},
"sub_period": {
"lord": "Moon",
"verdict": "mixed",
"leans": "supports",
"outcome": "helped",
"rules_lucky_house": false,
"starts": "2026-04-21T07:27:09.380502",
"ends": "2027-08-21T07:27:09.380502",
"level": "antardasha"
},
"sade_phase": "none",
"year": {
"balance": "mixed",
"counts_in_days": {
"favorable": 244,
"unfavorable": 484
}
}
},
"read_from": "the rising sign and the Moon for temperament, the rules this chart fires for the areas, the dasha running now for the period, and Jupiter and Saturn from the Moon for the year",
"not_claimed": [
"no overall score, rating or percentage. No classical scheme produces one for a whole chart, and a number would look authoritative while being ours rather than the tradition’s",
"nothing here is computed differently from the full reading. It is the same chart said in ordinary words, and every section names in `because` what it was read from",
"a house whose own rules disagree is named on neither side. That disagreement is what the tensions section is for, and averaging it into a strength would be the blending `reconcile` refuses"
],
"summary": [
{
"id": "who-you-are",
"title": "In short",
"text": [
"You are practical first. You want to know how a thing really works, and you would rather do one job well than three halfway. People rely on you because you keep your word, so promise only what you can keep.",
"You settle slowly. A new home, job or friend has to feel steady before you relax, and once you do, you stay. You are slow to get hurt and slow to forget it, so give trust time to build."
],
"language": "en",
"detail": "standard",
"because": {
"rising_element": "earth",
"moon_element": "earth"
}
},
{
"id": "strengths",
"title": "What comes easily",
"text": [
"Some parts of your life come more easily than the rest: you yourself, your health and how people see you; luck, belief, teachers and long journeys; children, learning and whatever you make. Your chart backs them, so the work you put in…"
],
"language": "en",
"detail": "standard",
"because": {
"houses": [
1,
9,
5
]
}
},
{
"id": "effort",
"title": "What takes effort",
"text": [
"Other parts of your life ask more of you than they give back easily: daily work, health, competition and debt; upheaval, inheritance, and what is shared or kept hidden. Expect to work for what you get here, because your chart pulls against…"
],
"language": "en",
"detail": "standard",
"because": {
"houses": [
6,
8
]
}
}
],
"gaps": [],
"language": "en",
"detail": "standard",
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
},
"as_of": "2026-10-01"
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Readings and reports.
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.
Cost: Uses reading credits on live keys instead of monthly calls. On test keys it counts as 1 call.
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (11), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| detail | query | Length of the reading text: standard (the default) or expanded, which is about 1.8 times longer. If a passage has no expanded version yet, the standard one is returned. Each text block reports the length it got in its detail field. |
| as_of | query | Date for the transit and forecast chapters, YYYY-MM-DD. Without it, those chapters are left out. |
| topics | query | Include the 32 topic readings. The sade sati and dosha remedy topics appear only when the chart has them. Default false. |
| title | query | Heading for the document. Defaults to the ascendant sign. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
text/html: A self-contained HTML document.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/report?as_of=2026-10-01" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'Parameters, schemas and a test request in the interactive reference. Feature: Readings and reports.
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.
Cost: Each successful request counts as 1 call toward your monthly calls.
Required inputs
| Name | In | What it is |
|---|---|---|
| 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 (7), with their defaults
| Name | In | What it does |
|---|---|---|
| lang | query | Language of the reading text, such as en (English, the default) or hi (Hindi). GET /v1/meta lists the languages available. If a passage is not written in that language yet, the English passage is returned instead and marked with fell_back_to_en. Names in the response, such as planets and signs, are translated too. |
| hour | body | Hour of birth on the local clock at the birth place, from 0 to 23 (24-hour clock). Default 0. |
| minute | body | Minute of birth, from 0 to 59. Default 0. |
| second | body | Second of birth, from 0 to 59. Default 0. |
| timezone_fold | body | Only needed for a local time that happens twice, on the night the clocks go back. In the US since 2007, that is 1:00 to 1:59 AM on the first Sunday in November. 0 picks the first occurrence (before the change) and 1 the second. Without it, such a time is rejected, not guessed. A wrong guess would quietly move the chart by an hour. A local time that never happens, because the clocks jumped forward over it, is also rejected; check the birth time, or send the UTC offset that was in force. |
| ayanamsa | body | The ayanamsa: the offset between the tropical zodiac (used in Western astrology) and the sidereal zodiac (used in Vedic astrology). lahiri (the default) is the Lahiri, or Chitrapaksha, ayanamsa used by the Government of India. kp is the Krishnamurti ayanamsa used in KP astrology, about 6 arcminutes less. raman is B. V. Raman's, about 1 degree 27 arcminutes less. Also: yukteshwar (Sri Yukteshwar's, about 1 degree 23 arcminutes less), jn_bhasin (J. N. Bhasin's, about 1 degree 6 arcminutes less), ushashashi (about 3 degrees 48 arcminutes less) and fagan_bradley (the Western sidereal zodiac, about 53 arcminutes more). true_chitra keeps the star Spica (Chitra) at exactly 180 degrees, so it follows the star itself; it is within about a minute of arc of Lahiri. The chosen ayanamsa is also used for the transits, sade sati and forecasts read against this chart. |
| node | body | How to calculate Rahu and Ketu, the lunar nodes (the two points where the Moon's orbit crosses the Sun's path). Use true for the actual position (the default) or mean for the averaged position. |
Main response fields
chart(object): holds ascendant, moon_sign, lagnesh, yogakaraka.rules(array of objects): each item holds id, family, title, graha, bears_on, rules_house, occupies_house, themes, score, weighting.areas(array of objects): each item 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.
# John Doe, born Aug 15, 1990, 10:30 AM, New York
curl -X POST "https://apiforastrology.com/api/astrology/v1/reading/rules" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":8,"day":15,"hour":10,"minute":30,"second":0,"latitude":40.7128,"longitude":-74.006,"timezone":"America/New_York"}'{
"chart": {
"ascendant": {
"sign": 6,
"name": "Virgo"
},
"moon_sign": {
"sign": 2,
"name": "Taurus"
},
"lagnesh": "Mercury",
"yogakaraka": null
},
"rules": [
{
"id": "lord_house:4:11",
"family": "lord_house",
"title": "Lord of the 4th (Jupiter) in the 11th house",
"graha": "Jupiter",
"bears_on": [
4,
11
],
"rules_house": 4,
"occupies_house": 11,
"themes": [
"sociable household",
"income from property",
"little privacy"
],
"score": 7,
"weighting": {
"specificity": 3,
"dignity": 3,
"dignity_of": "Jupiter is exalted",
"house_class": 1,
"house_class_of": "kendra"
}
},
{
"id": "lord_house:7:11",
"family": "lord_house",
"title": "Lord of the 7th (Jupiter) in the 11th house",
"graha": "Jupiter",
"bears_on": [
7,
11
],
"rules_house": 7,
"occupies_house": 11,
"themes": [
"spouse through friends",
"material improvement",
"public opinion"
],
"score": 7,
"weighting": {
"specificity": 3,
"dignity": 3,
"dignity_of": "Jupiter is exalted",
"house_class": 1,
"house_class_of": "kendra",
"aspected_by": {
"benefics": [
"Jupiter"
],
"malefics": [
"Ketu"
],
"scored": "no -- reported only, see rulebook PR-07"
}
}
},
{
"id": "planet_owns:Jupiter:4",
"family": "planet_owns",
"title": "Jupiter owns the 4th house",
"graha": "Jupiter",
"bears_on": [
4
],
"rules_house": 4,
"themes": [
"fortunate home",
"the mother's blessing",
"hard to leave"
],
"score": 7,
"weighting": {
"specificity": 3,
"dignity": 3,
"dignity_of": "Jupiter is exalted",
"house_class": 1,
"house_class_of": "kendra"
}
}
],
"areas": [
{
"house": 1,
"signifies": "your body, your temperament and the self other people meet",
"leads": {
"id": "yoga:Sarala",
"title": "Sarala yoga (vipareeta raja)",
"score": 6
},
"qualifies": [
{
"id": "yoga:Satkalatra",
"title": "Satkalatra yoga (marriage)",
"reason": "equal score (6); ordered after yoga:Sarala by specificity"
},
{
"id": "yoga:Vesi",
"title": "Vesi yoga (solar)",
"reason": "equal score (6); ordered after yoga:Sarala by specificity"
},
{
"id": "lord_house:1:12",
"title": "Lord of the 1st (Mercury) in the 12th house",
"reason": "equal score (6); ordered after yoga:Sarala by specificity"
}
]
},
{
"house": 2,
"signifies": "savings, the family you grew up in, speech and what you eat",
"leads": {
"id": "yoga:Kalatramooladhana",
"title": "Kalatramooladhana yoga (wealth source)",
"score": 6
},
"qualifies": [
{
"id": "yoga:Maha Parivartana",
"title": "Maha Parivartana yoga (exchange)",
"reason": "equal score (6); ordered after yoga:Kalatramooladhana by specificity"
},
{
"id": "yoga:Pravrajya",
"title": "Pravrajya yoga (renunciation)",
"reason": "equal score (6); ordered after yoga:Kalatramooladhana by specificity"
},
{
"id": "yoga:Putramooladhana",
"title": "Putramooladhana yoga (wealth source)",
"reason": "equal score (6); ordered after yoga:Kalatramooladhana by specificity"
}
]
},
{
"house": 3,
"signifies": "courage, effort, younger siblings and everyday communication",
"leads": {
"id": "yoga:Anapha",
"title": "Anapha yoga (lunar)",
"score": 6
},
"qualifies": [
{
"id": "yoga:Sarala",
"title": "Sarala yoga (vipareeta raja)",
"reason": "equal score (6); ordered after yoga:Anapha by specificity"
},
{
"id": "yoga:Sodaranasa",
"title": "Sodaranasa yoga (siblings)",
"reason": "scores 5 against 6 for yoga:Anapha"
},
{
"id": "lord_house:3:8",
"title": "Lord of the 3rd (Mars) in the 8th house",
"reason": "scores 5 against 6 for yoga:Anapha"
}
]
}
],
"coverage": {
"fired": 65,
"with_content": 64,
"gaps": [
{
"id": "conjunction:4",
"family": "conjunctions",
"title": "Sun + Jupiter + Venus + Ketu in Cancer",
"reason": "the corpus covers pairs and triples; 4 grahas share Cancer"
}
]
},
"language": "en",
"meta": {
"ayanamsa": "lahiri",
"ayanamsa_value": 23.7260727,
"julian_day": 2448119.10483,
"ephemeris": "JPL DE440s",
"node": "true",
"timezone": {
"source": "zone",
"offset_hours": -4,
"zone": "America/New_York",
"abbreviation": "EDT",
"dst": true,
"dst_hours": 1,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
}
}
}Example from a real call for John Doe, born Aug 15, 1990, 10:30 AM, New York. Long lists and texts are shortened.
Parameters, schemas and a test request in the interactive reference. Feature: Readings and reports.
How we check the numbers
Every answer here starts from planet positions worked out from NASA JPL planet data (DE440). We test them against NASA JPL Horizons, NASA's planet position service. On 25,571 positions from 1850 to 2149, the Sun and planets agree within 0.001 arc seconds. The Moon agrees within 0.011. On 2,000 random birth charts, the rising sign agrees with Swiss Ephemeris within 0.004 arc seconds. An arc second is 1/3,600 of a degree. A practicing astrologer reviews the rules behind these answers. See how we test accuracy.
Related pages
- Features: Readings and reports, Daily horoscopes, Remedies, Karmic reading.
- Used for: Astrology apps, Publishers and media, Puja and spiritual stores, AI assistants and chatbots, Astrologer consultation platforms, Baby name apps, Gemstone and jewelry stores, Dating and compatibility apps.
- Rules: Life prediction topics, Monthly forecast, Annual forecast, Karmic reading, Spiritual path, Theme forecasts, Which rule leads.
- Guides: Quickstart, Conventions, Errors, Changelog, Sections and IDs, Use with AI assistants.
Terms in this group
- Rashi
- Moon sign (janma rashi)
- True and mean node
- Mahadasha
- Antardasha
- Tara bala
- Chandra bala
- Karakamsa
- Avakhada chakra
- Pratyantardasha
- Aries (Mesha)
- Taurus (Vrishabha)
- Gemini (Mithuna)
- Cancer (Karka)
- Leo (Simha)
- Virgo (Kanya)
- Libra (Tula)
- Scorpio (Vrishchika)
- Sagittarius (Dhanu)
- Capricorn (Makara)
- Aquarius (Kumbha)
- Pisces (Meena)
- Panchang
- Gochar (transits)
