Skip to content
POST/api/astro/bengali_calendar/1 credit

Bengali calendar

The Bengali year for a given Gregorian year: Pohela Boishakh and the solar new year, the twelve Sankrantis, Durga Puja and the rest of the autumn sequence, Kali Puja, Bhai Phonta, Jagaddhatri Puja and the pan-Indian festivals as Bengal observes them. Everything is computed live for the coordinates you pass rather than read from a fixed table. The lunar festivals are found by tithi and then resolved to the civil day on which they are actually kept, using the time of day each observance requires — sunrise for some, midday for others, midnight for Maha Shivaratri — so the dates match what a Bengali panchang would print for that town. Send `year` with `latitude`, `longitude` and `timezone_as_float`. The response is `{year, events}`, where events is a list of `{name, date}` in date order and `date` is a plain YYYY-MM-DD local civil date. Compare with /api/astro/assamese_calendar/, which shares much of this festival set but adds the Bihus and the solar Assamese observances.

https://yogataraapi.prahlad.app/api/astro/bengali_calendar/
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
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.

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.

timezone_as_floatnumber (double)required

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.

yearintegerrequired

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

min 2006 · max 2046

Example request

curl -X POST https://yogataraapi.prahlad.app/api/astro/bengali_calendar/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5,"year":2026}'

Response

{
  "data": {
    "year": 2026,
    "events": [
      {
        "name": "Makara Sankranti",
        "date": "2026-01-14"
      },
      {
        "name": "Kumbha Sankranti",
        "date": "2026-02-13"
      },
      {
        "name": "Maha Shivaratri",
        "date": "2026-02-15"
      },
      {
        "name": "Meena Sankranti",
        "date": "2026-03-15"
      },
      {
        "name": "Rama Navami *Smarta",
        "date": "2026-03-26"
      },
      {
        "name": "Mesha Sankranti",
        "date": "2026-04-14"
      },
      {
        "name": "Solar New Year",
        "date": "2026-04-14"
      },
      {
        "name": "Pohela Boishakha",
        "date": "2026-04-15"
      },
      {
        "name": "Akshaya Tritiya",
        "date": "2026-04-19"
      },
      {
        "name": "Buddha Purnima",
        "date": "2026-05-01"
      },
      {
        "name": "Rabindranath Tagore Jayanti",
        "date": "2026-05-09"
      },
      {
        "name": "Vrishabha Sankranti",
        "date": "2026-05-15"
      },
      {
        "name": "Ganga Puja",
        "date": "2026-05-25"
      },
      {
        "name": "Mithuna Sankranti",
        "date": "2026-06-15"
      },
      {
        "name": "Karka Sankranti",
        "date": "2026-07-16"
      },
      {
        "name": "Ratha Jatra",
        "date": "2026-07-16"
      },
      {
        "name": "Guru Purnima",
        "date": "2026-07-29"
      },
      {
        "name": "Simha Sankranti",
        "date": "2026-08-17"
      },
      {
        "name": "Rakhi Bandhan",
        "date": "2026-08-28"
      },
      {
        "name": "Krishna Janmashtami",
        "date": "2026-09-04"
      },
      {
        "name": "Ganesh Chaturthi",
        "date": "2026-09-14"
      },
      {
        "name": "Kanya Sankranti",
        "date": "2026-09-17"
      },
      {
        "name": "Mahalaya",
        "date": "2026-10-10"
      },
      {
        "name": "Tula Sankranti",
        "date": "2026-10-17"
      },
      {
        "name": "Durga Ashtami",
        "date": "2026-10-19"
      },
      {
        "name": "Maha Navami",
        "date": "2026-10-20"
      },
      {
        "name": "Vijayadashami",
        "date": "2026-10-21"
      },
      {
        "name": "Lakshmi Puja",
        "date": "2026-10-25"
      },
      {
        "name": "Dhanteras",
        "date": "2026-11-06"
      },
      {
        "name": "Dipabali",
        "date": "2026-11-08"
      },
      {
        "name": "Kali Puja",
        "date": "2026-11-08"
      },
      {
        "name": "Bhai Phonta",
        "date": "2026-11-11"
      },
      {
        "name": "Vrishchika Sankranti",
        "date": "2026-11-16"
      },
      {
        "name": "Jagaddhatri Puja",
        "date": "2026-11-18"
      },
      {
        "name": "Dhanu Sankranti",
        "date": "2026-12-16"
      }
    ]
  },
  "message": "successful",
  "is_error": false
}

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.