---
title: "Monthly Panchanga calendar"
method: POST
path: "/v1/astro/panchanga/calendar"
tags: ["Astrology"]
---

# Monthly Panchanga calendar

`POST /v1/astro/panchanga/calendar`

## Request

- Base URL: `https://api.asterwise.com`
- URL: `https://api.asterwise.com/v1/astro/panchanga/calendar`
- Auth: HTTP bearer

Panchanga for every day of a month at a location, one entry per day. Each day keeps the sunrise tithi, vara, nakshatra, yoga, karana and Rahu Kaal, and adds sunrise, sunset, moonrise, moonset, paksha, the lunar month (amanta and purnimanta, with Adhik months), Bhadra windows, and every tithi, nakshatra, yoga and karana active between that sunrise and the next with ISO start and end times. A kshaya tithi (one no sunrise touches) appears on the day it runs, flagged is_kshaya; a tithi that holds two sunrises is flagged is_vriddhi on both days. Give `year` (1900-2100), `month` (1-12) and either `location` (a city name) or `lat` and `lon` (also accepted as `latitude` and `longitude`); `timezone` defaults to Asia/Kolkata.

## Request body

- PanchangaCalendarPostBody
  - `year` integer, required: Year, 1900-2100.
  - `month` integer, required: Month, 1-12.
  - `location` string, nullable: City name, used when lat and lon are not given.
  - `lat` number, nullable: Latitude in decimal degrees, north positive. Also accepted as latitude.
  - `lon` number, nullable: Longitude in decimal degrees, east positive. Also accepted as longitude.
  - `timezone` string: IANA timezone for the location
  - `ayanamsa` 'lahiri' | 'raman' | 'kp' | 'tropical': Ayanamsa system: lahiri (default), raman, kp, or tropical for a zero offset, as on every other chart endpoint

## Response `200`

All Panchanga elements for every day of the month

- ApiResponsePanchangaCalendarResponse
  - `success` boolean: True if the request succeeded
  - `message` string: Human-readable status message
  - `data` PanchangaCalendarResponse, required
    - `year` integer, required: Year of the calendar.
    - `month` integer, required: Month of the calendar, 1 to 12.
    - `timezone` string, required: IANA timezone used for calculations.
    - `ayanamsa` string, required: Ayanamsa system used.
    - `days` CalendarDay[], required: Panchanga data for every day of the month.
      - `date` string, required: Date in YYYY-MM-DD format.
      - `tithi` CalendarTithi, required
        - `name` string, required: Tithi name.
        - `number` integer, required: Tithi number, 1 to 30.
        - `paksha` string, required: Shukla or Krishna.
        - `end_time` string, nullable: Tithi end time if available.
      - `vara` CalendarVara, required
        - `name` string, required: Weekday name in Sanskrit.
        - `number` integer, required: Weekday number, 1 to 7.
        - `lord` string, nullable: Planetary lord of the weekday.
      - `nakshatra` CalendarNakshatra, required
        - `name` string, required: Nakshatra name.
        - `index` integer, required: Zero-based nakshatra index, 0 to 26.
        - `pada` integer, required: Pada number, 1 to 4.
        - `end_time` string, nullable: Nakshatra end time if available.
      - `yoga` CalendarYoga, required
        - `name` string, required: Yoga name.
        - `index` integer, required: Zero-based yoga index, 0 to 26.
        - `is_inauspicious` boolean, required: True if this yoga is inauspicious.
        - `end_time` string, nullable: Yoga end time if available.
      - `karana` CalendarKarana, required
        - `name` string, required: Karana name.
        - `number` integer, required: Karana number.
        - `end_time` string, nullable: Karana end time if available.
      - `rahu_kaal` CalendarRahuKaal, required
        - `start` string, required: Rahu Kaal start time in HH:MM local time.
        - `start_at` string, nullable: Rahu Kaal start time, ISO 8601 local time with date and UTC offset.
        - `start_utc` string, nullable: Rahu Kaal start time, ISO 8601 UTC with Z.
        - `end` string, required: Rahu Kaal end time in HH:MM local time.
        - `end_at` string, nullable: Rahu Kaal end time, ISO 8601 local time with date and UTC offset.
        - `end_utc` string, nullable: Rahu Kaal end time, ISO 8601 UTC with Z.
      - `sunrise` string, nullable: Sunrise, ISO 8601 local time with offset.
      - `sunset` string, nullable: Sunset, ISO 8601 local time with offset.
      - `moonrise` string, nullable: First moonrise before the next sunrise. Null if none.
      - `moonset` string, nullable: First moonset before the next sunrise. Null if none.
      - `paksha` string, nullable: Paksha at sunrise.
      - `masa` Masa
        - `amanta` MasaName, required
          - `index` integer, required: 1 = Chaitra ... 12 = Phalguna.
          - `name` string, required
          - `display_name` string, required: Name with 'Adhik' prefix for an intercalary month.
          - `is_adhik` boolean, required
        - `purnimanta` MasaName, required
          - `index` integer, required: 1 = Chaitra ... 12 = Phalguna.
          - `name` string, required
          - `display_name` string, required: Name with 'Adhik' prefix for an intercalary month.
          - `is_adhik` boolean, required
        - `is_kshaya` boolean, required: True in the rare month in which the Sun changes sign twice.
      - `tithis` DayTithi[], nullable: Every tithi active between this sunrise and the next.
        - `at_sunrise` boolean, required: True for the limb running at this day's sunrise (the one a printed panchang names for the day).
        - `is_kshaya` boolean, required: Starts after this sunrise and ends before the next, so no sunrise falls in it.
        - `is_vriddhi` boolean, required: Runs through two consecutive sunrises, so it is the sunrise limb of two days (flagged on both).
        - `start` string, required: Start. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `end` string, required: End. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `start_utc` string, nullable: Start, ISO 8601 UTC with Z.
        - `end_utc` string, nullable: End, ISO 8601 UTC with Z.
        - `nature` string, nullable: auspicious or inauspicious, as a printed panchang labels this kind of window (sought for beginnings, or avoided). Absent on neutral divisions such as horas and day parts. The rule behind the window is in its field description.
        - `number` integer, required: 1 to 30 (1-15 Shukla, 16-30 Krishna).
        - `name` string, required
        - `paksha` string, required: Shukla or Krishna.
        - `fivefold` string, required: Nanda, Bhadra, Jaya, Rikta or Purna.
        - `is_chidra` boolean, required
      - `nakshatras` DayNakshatra[], nullable: Every nakshatra active between this sunrise and the next.
        - `at_sunrise` boolean, required: True for the limb running at this day's sunrise (the one a printed panchang names for the day).
        - `is_kshaya` boolean, required: Starts after this sunrise and ends before the next, so no sunrise falls in it.
        - `is_vriddhi` boolean, required: Runs through two consecutive sunrises, so it is the sunrise limb of two days (flagged on both).
        - `start` string, required: Start. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `end` string, required: End. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `start_utc` string, nullable: Start, ISO 8601 UTC with Z.
        - `end_utc` string, nullable: End, ISO 8601 UTC with Z.
        - `nature` string, nullable: auspicious or inauspicious, as a printed panchang labels this kind of window (sought for beginnings, or avoided). Absent on neutral divisions such as horas and day parts. The rule behind the window is in its field description.
        - `index` integer, required: 0 = Ashwini ... 26 = Revati.
        - `number` integer, required: 1 to 27.
        - `name` string, required
        - `lord` string, required: Vimshottari lord.
        - `padas` DayPada[], nullable: Pada changes within the day (single-day endpoint only).
          - `start` string, required: Start. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
          - `end` string, required: End. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
          - `start_utc` string, nullable: Start, ISO 8601 UTC with Z.
          - `end_utc` string, nullable: End, ISO 8601 UTC with Z.
          - `nature` string, nullable: auspicious or inauspicious, as a printed panchang labels this kind of window (sought for beginnings, or avoided). Absent on neutral divisions such as horas and day parts. The rule behind the window is in its field description.
          - `pada` integer, required: 1 to 4.
      - `yogas` DayYoga[], nullable: Every yoga active between this sunrise and the next.
        - `at_sunrise` boolean, required: True for the limb running at this day's sunrise (the one a printed panchang names for the day).
        - `is_kshaya` boolean, required: Starts after this sunrise and ends before the next, so no sunrise falls in it.
        - `is_vriddhi` boolean, required: Runs through two consecutive sunrises, so it is the sunrise limb of two days (flagged on both).
        - `start` string, required: Start. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `end` string, required: End. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `start_utc` string, nullable: Start, ISO 8601 UTC with Z.
        - `end_utc` string, nullable: End, ISO 8601 UTC with Z.
        - `nature` string, nullable: auspicious or inauspicious, as a printed panchang labels this kind of window (sought for beginnings, or avoided). Absent on neutral divisions such as horas and day parts. The rule behind the window is in its field description.
        - `index` integer, required
        - `number` integer, required
        - `name` string, required
        - `is_inauspicious` boolean, required
      - `karanas` DayKarana[], nullable: Every karana active between this sunrise and the next.
        - `at_sunrise` boolean, required: True for the limb running at this day's sunrise (the one a printed panchang names for the day).
        - `is_kshaya` boolean, required: Starts after this sunrise and ends before the next, so no sunrise falls in it.
        - `is_vriddhi` boolean, required: Runs through two consecutive sunrises, so it is the sunrise limb of two days (flagged on both).
        - `start` string, required: Start. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `end` string, required: End. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `start_utc` string, nullable: Start, ISO 8601 UTC with Z.
        - `end_utc` string, nullable: End, ISO 8601 UTC with Z.
        - `nature` string, nullable: auspicious or inauspicious, as a printed panchang labels this kind of window (sought for beginnings, or avoided). Absent on neutral divisions such as horas and day parts. The rule behind the window is in its field description.
        - `number` integer, required: 1 to 60 within the lunar month.
        - `name` string, required
        - `lord` string, nullable
        - `is_vishti` boolean, required: Vishti karana, also called Bhadra.
      - `bhadra` BhadraWindow[], nullable: Bhadra (Vishti karana) windows during the day.
        - `start` string, required: Start. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `end` string, required: End. ISO 8601 local time with UTC offset, e.g. 2026-11-06T10:31:09+05:30.
        - `start_utc` string, nullable: Start, ISO 8601 UTC with Z.
        - `end_utc` string, nullable: End, ISO 8601 UTC with Z.
        - `nature` string, nullable: auspicious or inauspicious, as a printed panchang labels this kind of window (sought for beginnings, or avoided). Absent on neutral divisions such as horas and day parts. The rule behind the window is in its field description.
        - `residence` string, required: Prithvi, Swarga or Patala, from the Moon's sign.
        - `residence_english` string, required
        - `is_on_earth` boolean, required: Bhadra is held harmful when it resides on earth (Moon in Karka, Simha, Kumbha or Meena).

## Other responses

- `401`: Authentication failed
- `403`: Authorization failed
- `404`: Resource not found
- `413`: Payload too large
- `422`: Validation error
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream provider error
- `503`: Service unavailable

---

[API](https://skmtc.dev/asterwise/apis/asterwise-api.md) · [All operations](https://skmtc.dev/asterwise/apis/asterwise-api/llms.txt) · [OpenAPI document](https://skmtc.dev/asterwise/apis/asterwise-api/revisions/3c4bbb1194e2?raw)
