Diwali 2027 falls on Thursday, Oct 28 in New York and on Friday, Oct 29 in New Delhi. Both dates are correct for their city. Your app needs both, and it needs to know which user gets which.
Diwali is not a rare case. We asked our API for the full Hindu calendar for 2027 in both cities. That means every festival and fasting day. Of the 23 big festivals, 9 fall on a different date. Of the 125 monthly fasting and observance days, 48 do. That includes 11 of the 25 Ekadashis, the fasts kept on the 11th day of each lunar half-month. In every one of those 57 cases, New York keeps the day one calendar day before India.
So a single printed list will be wrong for part of your users. The fix is two calls per city: GET /v1/festivals and GET /v1/vrats. Each takes the year, a latitude, a longitude and a time zone. Together they return the whole year. Each festival has a fixed id, listed on the Sections and IDs page.
Below are the full 2027 tables for New York, with the New Delhi date beside each one. Then we show the code that loads a year for any city. All dates come from our API, run on Oct 13, 2026.
Hindu calendar 2027: festival dates in New York and New Delhi
These are the 23 festivals that GET /v1/festivals returns. Most sit on a tithi, a lunar day, in a named lunar month. The 9 rows marked "No" fall on a different date.
Festival | New York | New Delhi | Same day? |
|---|---|---|---|
Makar Sankranti | Thu, Jan 14 | Fri, Jan 15 | No |
Vasant Panchami | Thu, Feb 11 | Thu, Feb 11 | Yes |
Maha Shivaratri | Sat, Mar 6 | Sat, Mar 6 | Yes |
Holika Dahan | Sun, Mar 21 | Sun, Mar 21 | Yes |
Holi | Mon, Mar 22 | Mon, Mar 22 | Yes |
Ram Navami | Wed, Apr 14 | Thu, Apr 15 | No |
Hanuman Jayanti | Tue, Apr 20 | Tue, Apr 20 | Yes |
Akshaya Tritiya | Sat, May 8 | Sun, May 9 | No |
Guru Purnima | Sun, Jul 18 | Sun, Jul 18 | Yes |
Raksha Bandhan | Mon, Aug 16 | Tue, Aug 17 | No |
Krishna Janmashtami | Tue, Aug 24 | Tue, Aug 24 | Yes |
Ganesh Chaturthi | Fri, Sep 3 | Sat, Sep 4 | No |
Anant Chaturdashi | Tue, Sep 14 | Tue, Sep 14 | Yes |
Sarva Pitru Amavasya | Wed, Sep 29 | Wed, Sep 29 | Yes |
Navratri begins | Thu, Sep 30 | Thu, Sep 30 | Yes |
Dussehra | Sat, Oct 9 | Sat, Oct 9 | Yes |
Karva Chauth | Mon, Oct 18 | Mon, Oct 18 | Yes |
Dhanteras | Tue, Oct 26 | Wed, Oct 27 | No |
Diwali (Lakshmi Puja) | Thu, Oct 28 | Fri, Oct 29 | No |
Govardhan Puja | Sat, Oct 30 | Sat, Oct 30 | Yes |
Bhai Dooj | Sat, Oct 30 | Sun, Oct 31 | No |
Chhath Puja (evening offering) | Thu, Nov 4 | Thu, Nov 4 | Yes |
Prabodhini Ekadashi | Tue, Nov 9 | Wed, Nov 10 | No |
Three of the nine fall in one five-day stretch: Dhanteras, Diwali and Bhai Dooj, from Oct 26 to Oct 30 in New York. A store that sends Diwali reminders in both countries needs a separate date for each one.
Two rows show why the dates split. Diwali needs Amavasya, the new moon day, during the early evening. In 2027, Amavasya begins at 11:18 AM on Oct 28 in New York, so that evening is covered. In New Delhi, the same moment is 8:48 PM, and the only evening it covers there is Oct 29. Some web lists give Oct 29 for New York as well. But there the new moon day ends at 9:36 AM on Oct 29, long before that evening. Makar Sankranti follows the Sun instead. It is the day the Sun enters Capricorn, if it does so before sunset. That happens at 10:40 AM on Jan 14 in New York, but at 9:10 PM in New Delhi, after sunset. So India keeps Jan 15.
Our post on why festival dates change by city explains the rule in full. Here we stay with the dates.
Ekadashi 2027 dates: all 25, in both cities
Ekadashi is the 11th tithi of each half of the lunar month. It comes twice a lunar month, and many families fast on it. GET /v1/vrats returns 25 for 2027 in each city.
Ekadashi | New York | New Delhi |
|---|---|---|
Saphala | Sat, Jan 2 | Sun, Jan 3 |
Pausha Putrada | Mon, Jan 18 | Mon, Jan 18 |
Shattila | Mon, Feb 1 | Tue, Feb 2 |
Jaya | Tue, Feb 16 | Wed, Feb 17 |
Vijaya | Wed, Mar 3 | Thu, Mar 4 |
Amalaki | Thu, Mar 18 | Thu, Mar 18 |
Papamochani | Fri, Apr 2 | Fri, Apr 2 |
Kamada | Fri, Apr 16 | Sat, Apr 17 |
Varuthini | Sun, May 2 | Sun, May 2 |
Mohini | Sun, May 16 | Sun, May 16 |
Apara | Mon, May 31 | Tue, Jun 1 |
Nirjala | Mon, Jun 14 | Mon, Jun 14 |
Yogini | Wed, Jun 30 | Wed, Jun 30 |
Devshayani | Tue, Jul 13 | Wed, Jul 14 |
Kamika | Thu, Jul 29 | Thu, Jul 29 |
Shravana Putrada | Thu, Aug 12 | Thu, Aug 12 |
Aja | Fri, Aug 27 | Sat, Aug 28 |
Parsva | Sat, Sep 11 | Sat, Sep 11 |
Indira | Sun, Sep 26 | Sun, Sep 26 |
Papankusha | Sun, Oct 10 | Mon, Oct 11 |
Rama | Mon, Oct 25 | Mon, Oct 25 |
Devutthana | Tue, Nov 9 | Wed, Nov 10 |
Utpanna | Tue, Nov 23 | Wed, Nov 24 |
Mokshada | Thu, Dec 9 | Thu, Dec 9 |
Saphala | Thu, Dec 23 | Thu, Dec 23 |
A lunar year without a leap month has 24 Ekadashis, but calendar year 2027 holds 25. Saphala Ekadashi falls twice: early in January and again in late December. A loop that expects exactly 24 will break.
We checked the New Delhi column against Drik Panchang, a widely used published calendar. Its 2027 Ekadashi page for New Delhi gives the same date for all 25.
How many 2027 dates differ between New York and India
Here is the full count, from the same two runs. "India" here means New Delhi. We also asked for the API's default place, Ujjain, on India time. It gave the same date as New Delhi for every 2027 entry.
Kind of day | In 2027 | Different in New York |
|---|---|---|
Festivals | 23 | 9 |
Ekadashi | 25 | 11 |
Pradosh (13th lunar day, an evening fast) | 25 | 11 |
Darsha Amavasya (rites on the new moon day) | 13 | 6 |
Purnima vrat (the full moon fast) | 12 | 5 |
Amavasya (the new moon day) | 13 | 4 |
Masik Shivaratri (monthly night of Shiva) | 13 | 4 |
Sankashti Chaturthi (4th day after the full moon) | 12 | 4 |
Purnima (the full moon day) | 12 | 3 |
All | 148 | 57 |
That is 57 of 148 dates, or 39%. One day appears in both lists: Prabodhini Ekadashi in the festivals and Devutthana Ekadashi in the fasts are the same day.

The gap always ran the same way in 2027. New York was one day earlier, never later. New York's clock is 9.5 or 10.5 hours behind India's. So a lunar day that begins late in India's evening begins in New York's morning. New York's evening can use it that same day, while India waits for the next one. Do not hard-code "subtract one day", though. Some festivals use other rules, and 91 of the 148 dates did not move at all.
When traditions keep a different day
Some days split by tradition, not by city. The API flags them with sources_agree: false and gives the other date in other_tradition_date. In 2027, three days carry this flag:
Day | City | Date given | Other tradition |
|---|---|---|---|
Krishna Janmashtami | New York and New Delhi | Tue, Aug 24 | Wed, Aug 25 |
Jaya Ekadashi | New York | Tue, Feb 16 | Wed, Feb 17 |
Pausha Putrada Ekadashi | New Delhi | Mon, Jan 18 | Tue, Jan 19 |
For Janmashtami, the API notes that Vaishnava families keep the day when Ashtami, the 8th lunar day, holds sunrise. In 2027 that points to Aug 25. Show both dates and let each family follow its own.
Every entry also carries decided_by, the rule that chose the day. For New York's Diwali, it reads "the only day the tithi holds pradosh". Pradosh is the early evening window. Print that line in a details view. A priest or a careful user can check it against their own calendar.
See every call behind these tables. The Hindu calendar API page lists the festival, fasting-day and month calls, with the fields each one returns.

Load a whole year into your app
Two calls give you a full year for one place. This Node.js code lists New York's 2027 festivals and Ekadashis in one sorted list. Run it on your server, so your API key stays private.
// The 2027 festivals and Ekadashis for one city (Node 18 or later).
const BASE_URL = "https://apiforastrology.com/api/astrology/v1";
// The user's city: New York.
const place = {
year: "2027",
latitude: "40.7128",
longitude: "-74.006",
timezone: "America/New_York",
};
async function getYear(path, extra = {}) {
const query = new URLSearchParams({ ...place, ...extra });
const response = await fetch(`${BASE_URL}/${path}?${query}`, {
headers: { Authorization: `Bearer ${process.env.ASTROLOGY_API_KEY}` },
});
return response.json();
}
const { festivals } = await getYear("festivals");
const { vrats } = await getYear("vrats", { kind: "ekadashi" });
// One list, sorted by date.
const days = [...festivals, ...vrats].sort((a, b) => a.date.localeCompare(b.date));
for (const day of days) {
let line = `${day.date} ${day.name}`;
if (day.sources_agree === false) {
line += ` (some families: ${day.other_tradition_date})`;
}
console.log(line);
}
console.log(`${festivals.length} festivals, ${vrats.length} Ekadashis`);It printed 48 dates, then a count. Here are the first six lines and the last:
2027-01-02 Saphala Ekadashi
2027-01-14 Makar Sankranti
2027-01-18 Pausha Putrada Ekadashi
2027-02-01 Shattila Ekadashi
2027-02-11 Vasant Panchami
2027-02-16 Jaya Ekadashi (some families: 2027-02-17)
...
23 festivals, 25 EkadashisChange the kind value to get other fasting days, such as kind=ekadashi,pradosh. Leave it out to get all eight kinds. Add lang=hi for Hindi names: Diwali comes back as दीपावली (लक्ष्मी पूजा), with the English name in name_en.
Four details save you bugs. First, send a time zone name such as America/New_York, not a fixed offset. Daylight saving changes New York's offset during the year, and the API uses the right one for each date. Second, leave out the place and you get India's dates for Ujjain, not your user's. Third, merge with care. Nov 9 shows up twice in New York's list, as Prabodhini Ekadashi and as Devutthana Ekadashi. Fourth, the first call for a new year and place is slow. In our run, it took about 4 seconds for festivals and 8 for fasting days.
For a month grid, GET /v1/panchang/month returns one row per day with that day's festivals and fasts. In November 2027, New York has 8 days with one or both. The API reference lists every field.
Who needs which list
A diaspora app needs the user's own city. Jane Doe in Chicago and her parents in New Delhi will see different Diwali dates, and both are right. A publisher with a US and an India edition needs one list per edition. A puja store needs its own city for kit deliveries and reminders. Our post on astrology features for puja stores covers that case.
Check one day for your city. The free panchang tool shows the tithi, sunrise and the times of the day for any place and date. It runs on the same API.

A Hindu calendar is not one list for the world. In 2027, 57 of 148 dates differ between New York and New Delhi, always by one day. Ask for each user's city, show the rule beside the date, and both cities get the right day.



