Timing

Hindu Calendar API for festivals and fasting days

Our Hindu calendar API gives festival dates, fasting days and a full month calendar for any year and any city. The dates are worked out for the place you send, not copied from a calendar printed for India. A temple in Chicago gets the right day for Chicago.

GET /v1/festivals/diwali?year=2026&latitude=40.7128&longitude=-74.006&timezone=America/New_York200 OK
{
  "festival": {
    "name": "Diwali (Lakshmi Puja)",
    "date": "2026-11-08",
    "kaal": "pradosh",
    "kaal_window": {
      "starts": "2026-11-08T16:44:24-05:00",
      "ends": "2026-11-08T19:30:41-05:00"
    },
    "decided_by": "the only day the tithi holds pradosh"
  }
}
The day of Diwali in 2026 for New York, the part of the day the festival needs (pradosh, early evening), and the rule that chose the day. Real output for New York, 2026.

What the Hindu calendar API returns

  • The dates of major Hindu festivals for any year from 1850 to 2149, such as Diwali, Holi, Navratri, Raksha Bandhan and Krishna Janmashtami.
  • For each festival: the date, the part of the day it needs (such as early evening for Diwali), that window's start and end time, and decided_by, the rule that chose the day.
  • Where traditions keep a festival on different days, as with Janmashtami, the response says so and gives the other date.
  • Every monthly fasting day (vrat) in a year: Ekadashi, Pradosh, Sankashti Chaturthi, Masik Shivaratri, Purnima and Amavasya. Ask for only the ones you need, such as kind=ekadashi,pradosh.
  • A month calendar with one row per day: the tithi, nakshatra, yoga and karana at sunrise, the lunar month, and that day's festivals and fasts.
  • Leap months (adhika masa) are found, and a tithi that starts and ends between two sunrises is listed as skipped, as printed calendars mark it.

The first call for a new year and place takes about 8 seconds while the API builds that year's calendar. Later calls are cached. Always send latitude, longitude and timezone: without them, the dates are for Ujjain, India.

Endpoints

The rules behind it

A festival falls on a tithi (lunar day) in a named lunar month. It is kept on the day when that tithi is running during the part of the day the festival needs: early evening (pradosh) for Diwali, midday for Ganesh Chaturthi, midnight for Janmashtami. Months are counted the purnimanta way, ending at the full moon, and no festival is kept in a leap month. The fasting days were checked against Drik Panchang, a widely used published calendar: 495 of 496 dates for New Delhi and Beijing matched.

Browse the full rulebook

Astrology API

Call it with a free test key

Create an account and a test key, then call any endpoint on this page. Or try a request in the API reference first.

  1. 01

    A free test key, with 1,000 requests a month

  2. 02

    Try any endpoint in your browser first

  3. 03

    Every rule published, so you can check any answer