Panchang and calendar
Ekadashi in Vedic astrology
Updated
Ekadashi: how the API computes it
Ekadashi is the 11th tithi (lunar day) of each half of the lunar month. So there are about 24 a year, and each has its own name, such as Nirjala or Mohini. GET /v1/vrats returns every Ekadashi in a calendar year, with the date the fast is kept.
The date depends on the tithi at sunrise at your place. So the same Ekadashi can fall on different calendar days in New York and in Delhi. Tradition also has rules for the day after, when the tithi runs across two sunrises.
The API follows its stated rule and reports the dates it chose. Festivals skip some days that vrats (fasts) do not. Two Ekadashis, Padmini and Parama, come only in a leap month (an extra lunar month).
Where traditions really disagree, GET /v1/festivals says sources_agree: false. It gives other_tradition_date next to the date it picked. So do not treat any one Ekadashi date as the only right answer.
Pass the user's latitude, longitude and time zone, so each user gets a date for their own city.
Get it from the API
GET /v1/vrats
# New York
curl "https://apiforastrology.com/api/astrology/v1/vrats?year=2026&latitude=40.7128&longitude=-74.006&timezone=America/New_York" \
-H "Authorization: Bearer $ASTROLOGY_API_KEY"{
"year": 2026,
"place": {
"latitude": 40.7128,
"longitude": -74.006,
"timezone": -5,
"timezone_info": {
"source": "zone",
"offset_hours": -5,
"zone": "America/New_York",
"abbreviation": "EST",
"dst": false,
"dst_hours": 0,
"ambiguous_resolved_by_fold": null,
"note": "read from the IANA tz database at this instant, so daylight saving and historical offset changes are included"
},
"note": "this zone changes offset during the year; each time uses the offset in force on its own date (UTC-5 in January, UTC-4 in July) and ends with that offset"
},
"convention": "purnimanta",
"vrats": [
{
"date": "2026-01-02",
"kaal": "sunrise",
"decided_by": "the tithi holds sunrise on no day; kept on the civil day it mostly falls in",
"coverage": 0,
"kaal_at": "2026-01-02T07:20:10-05:00",
"slug": "purnima",
"name": "Pausha Purnima",
"masa": {
"name": "Pausha",
"purnimanta": "Pausha",
"amanta": "Pausha",
"adhika": false,
"paksha": "shukla",
"tithi": 15
},
"tithi": {
"starts": "2026-01-02T08:23:58-05:00",
"ends": "2026-01-03T05:02:54-05:00"
}
},
{
"date": "2026-01-02",
"kaal": "madhyahna",
"decided_by": "the only day the tithi holds madhyahna",
"coverage": 1,
"kaal_window": {
"starts": "2026-01-02T11:04:13-05:00",
"ends": "2026-01-02T12:56:14-05:00"
},
"slug": "purnima-vrat",
"name": "Pausha Purnima vrat",
"masa": {
"name": "Pausha",
"purnimanta": "Pausha",
"amanta": "Pausha",
"adhika": false,
"paksha": "shukla",
"tithi": 15
},
"tithi": {
"starts": "2026-01-02T08:23:58-05:00",
"ends": "2026-01-03T05:02:54-05:00"
}
},
{
"date": "2026-01-06",
"kaal": "moonrise",
"decided_by": "the tithi holds moonrise on no day; kept on the civil day it mostly falls in",
"coverage": 0,
"kaal_at": "2026-01-06T20:43:56-05:00",
"slug": "sankashti-chaturthi",
"name": "Lambodara Sankashti",
"masa": {
"name": "Magha",
"purnimanta": "Magha",
"amanta": "Pausha",
"adhika": false,
"paksha": "krishna",
"tithi": 4
},
"tithi": {
"starts": "2026-01-05T21:32:09-05:00",
"ends": "2026-01-06T20:23:03-05:00"
}
}
],
"counts": {
"ekadashi": 24,
"pradosh": 24,
"sankashti-chaturthi": 13,
"masik-shivaratri": 12,
"purnima": 13,
"purnima-vrat": 13,
"amavasya": 12,
"darsha-amavasya": 12
}
}Where the API returns it
| GET | /v1/vrats | Monthly fasting days (vrats) for a year and place |
| GET | /v1/festivals | Hindu festival dates for a year and place |
| GET | /v1/festivals/{slug} | One festival's date for a year and place |
What the API reference says
Each line is quoted from the reference page of the endpoint named above it.
- GET /v1/vrats · Monthly fasting days (vrats) for a year and placeReturns every Ekadashi, Pradosh, Sankashti Chaturthi, Masik Shivaratri, Purnima and Amavasya in a calendar year.
- GET /v1/festivals · Hindu festival dates for a year and placeWhere traditions really do differ (Janmashtami, Ekadashi), the response says
sources_agree: falseand givesother_tradition_date. - GET /v1/vrats · Monthly fasting days (vrats) for a year and placeFestivals skip them but vrats do not, and Padmini and Parama Ekadashi only occur in a leap month.
Feature page: Hindu calendar and festivals. Who uses it: Publishers and media. The classical rules the API follows are in the rulebook.
How we check the numbers
Every value here starts from planet positions worked out from NASA JPL planet data (DE440). We test them against NASA JPL Horizons, NASA's planet position service. On 25,571 positions from 1850 to 2149, the Sun and planets agree within 0.001 arc seconds. The Moon agrees within 0.011. On 2,000 random birth charts, the rising sign agrees with Swiss Ephemeris within 0.004 arc seconds. An arc second is 1/3,600 of a degree. A practicing astrologer reviews the rules behind these answers. See how we test.
Related terms
Free tools
See it with your own details
Runs on the same API call. Enter your details and see the answer in your browser.
Today's panchang
Tithi (lunar day), nakshatra, sunrise, rahu kaal and the choghadiya (good and bad parts of the day) for your own city.
See today's panchang
From the blog
Astrology API
Get these values from the API
Create a free test key and call any endpoint on this page. Or try a request in the API reference first.
Your first answer
John Doe, New York
- RisingVirgoHast
- SunCancerAshlesha
- MoonTaurusMrigashira
- MarsAriesKrittika
Real API output. A free test key gets the same answer.
01
Test key: 1,000 test calls a month to build with
02
Free plan: 2,000 live calls a month, no card needed
03
Open rules: every rule is published, so you can check any answer

