Skip to content
POST/api/astro/lal-kitab/varshphal/1 credit

Lal Kitab varshphal

The Lal Kitab annual chart for a given year. Lal Kitab fixes the houses to the signs: house 1 is ALWAYS Aries, house 2 always Taurus, through to house 12 always Pisces — for every chart, whoever the native is. A planet's house is therefore its sign number, and the ascendant does not move the houses the way it does in Parashari astrology. This means these endpoints will disagree with /api/astro/chart/ and /api/astro/planet-positions/ for almost everyone. That is the system, not an error: they are two different traditions answering two different questions. The progression is arithmetic rather than astronomical. Where the Tajika varshphal at /api/astro/tajika/ casts a real solar-return chart, Lal Kitab advances every planet one house per completed year of age: annual_house = ((natal_house - 1) + age) % 12 + 1 So every planet moves by the same number of houses, and the annual chart returns to the natal arrangement every twelfth year — `full_cycle` marks those years. Age is counted in COMPLETED years as of the birthday in the year you asked for, which is when the varshphal year opens.

https://api.occultapi.com/api/astro/lal-kitab/varshphal/
Test Request

Authentication

Send your key in the X-API-Key header. Keys are server-side credentials — never put one in browser JavaScript or a mobile app.

X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/json

Request fields

FieldTypeRequiredNotes
date_timestring (date-time)required

The moment to calculate for, ISO 8601. ALWAYS include an offset or a trailing Z - a value with no zone is read as Asia/Kolkata (UTC+05:30), not UTC, and can return the previous day's result with a 200. '2026-09-01T06:00:00Z' and '2026-09-01 06:00:00' are different instants and give different answers.

latitudenumber (double)required

Latitude of the place, in decimal degrees. Positive is north, negative is south. Example: 26.9124 for Jaipur, 40.7128 for New York. Minutes and seconds are not accepted - convert first.

min -90 · max 90

longitudenumber (double)required

Longitude of the place, in decimal degrees. Positive is east, negative is west. Example: 75.7873 for Jaipur, -74.0060 for New York. Note the sign: a missing minus puts New York in China.

min -180 · max 180

yearintegerrequired

Year of birth as a number, e.g. 1990. Four digits.

min 1900 · max 2200

ayanamsastringoptional

Ayanamsa for the underlying sidereal positions. Lal Kitab itself is house-based and does not prescribe one; this is passed through to the position engine.

timezone_as_floatnumber (double)optional

UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30), -5 for New York in winter, 5.75 for Nepal. This is NOT validated against date_time - if the two disagree you get a successful response for the wrong moment, so derive both from the same source. Use the offset in force on that date, not today's: a summer birth in a country with daylight saving needs the summer offset.

min -12 · max 14

Example request

curl -X POST https://api.occultapi.com/api/astro/lal-kitab/varshphal/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time":"1990-08-15T10:30:00+05:30","latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5,"year":2027}'

Response

{
  "data": {
    "system": "Lal Kitab",
    "year": 2027,
    "age": 37,
    "year_opens": "2027-08-15",
    "method": "((natal_house - 1) + age) % 12 + 1",
    "note": "The annual chart is a progression, not a solar return: every planet advances one house per completed year, so the chart repeats every twelve years.",
    "ascendant": {
      "longitude": 177.7489463338338,
      "zodiac_name": "Virgo",
      "nakshatra": "Chitra",
      "pada": 2
    },
    "planets": [
      {
        "planet": "sun",
        "natal_house": 4,
        "house": 5,
        "sign": "Leo",
        "pakka_ghar": [
          1
        ],
        "in_pakka_ghar": false,
        "returned_to_natal": false
      },
      {
        "planet": "moon",
        "natal_house": 2,
        "house": 3,
        "sign": "Gemini",
        "pakka_ghar": [
          4
        ],
        "in_pakka_ghar": false,
        "returned_to_natal": false
      },
      {
        "planet": "mars",
        "natal_house": 1,
        "house": 2,
        "sign": "Taurus",
        "pakka_ghar": [
          3,
          8
        ],
        "in_pakka_ghar": false,
        "returned_to_natal": false
      },
      {
        "planet": "mercury",
        "natal_house": 5,
        "house": 6,
        "sign": "Virgo",
        "pakka_ghar": [
          6,
          7
        ],
        "in_pakka_ghar": true,
        "returned_to_natal": false
      },
      {
        "planet": "jupiter",
        "natal_house": 4,
        "house": 5,
        "sign": "Leo",
        "pakka_ghar": [
          2,
          5,
          9,
          12
        ],
        "in_pakka_ghar": true,
        "returned_to_natal": false
      },
      {
        "planet": "venus",
        "natal_house": 4,
        "house": 5,
        "sign": "Leo",
        "pakka_ghar": [
          7
        ],
        "in_pakka_ghar": false,
        "returned_to_natal": false
      },
      {
        "planet": "saturn",
        "natal_house": 9,
        "house": 10,
        "sign": "Capricorn",
        "pakka_ghar": [
          8,
          10,
          11
        ],
        "in_pakka_ghar": true,
        "returned_to_natal": false
      },
      {
        "planet": "rahu",
        "natal_house": 10,
        "house": 11,
        "sign": "Aquarius",
        "pakka_ghar": [
          12
        ],
        "in_pakka_ghar": false,
        "returned_to_natal": false
      },
      {
        "planet": "ketu",
        "natal_house": 4,
        "house": 5,
        "sign": "Leo",
        "pakka_ghar": [
          6
        ],
        "in_pakka_ghar": false,
        "returned_to_natal": false
      }
    ],
    "houses": [
      {
        "house": 1,
        "sign": "Aries",
        "planets": []
      },
      {
        "house": 2,
        "sign": "Taurus",
        "planets": [
          "mars"
        ]
      },
      {
        "house": 3,
        "sign": "Gemini",
        "planets": [
          "moon"
        ]
      },
      {
        "house": 4,
        "sign": "Cancer",
        "planets": []
      },
      {
        "house": 5,
        "sign": "Leo",
        "planets": [
          "sun",
          "jupiter",
          "venus",
          "ketu"
        ]
      },
      {
        "house": 6,
        "sign": "Virgo",
        "planets": [
          "mercury"
        ]
      },
      {
        "house": 7,
        "sign": "Libra",
        "planets": []
      },
      {
        "house": 8,
        "sign": "Scorpio",
        "planets": []
      },
      {
        "house": 9,
        "sign": "Sagittarius",
        "planets": []
      },
      {
        "house": 10,
        "sign": "Capricorn",
        "planets": [
          "saturn"
        ]
      },
      {
        "house": 11,
        "sign": "Aquarius",
        "planets": [
          "rahu"
        ]
      },
      {
        "house": 12,
        "sign": "Pisces",
        "planets": []
      }
    ],
    "full_cycle": false
  },
  "status": 200,
  "is_error": false,
  "message": "successful"
}

Captured from a real call using the exact request above. Results sit under data.

Errors

Metering errors return { "error": "…", "message": "<code>", "is_error": true }. Show error to people and branch on message. See the error reference.