Shastra Panchangam

Panchangam API

Free, no key, CORS open. Every value is computed with the Swiss Ephemeris on the Lahiri ayanamsha at that city's own horizon, and the day runs sunrise to sunrise.

Endpoints

/api/v1/today/{city}.json

Today for one city.

/api/v1/day/{city}/{YYYY-MM-DD}.json

One named day.

/api/v1/range/{city}.json?from=YYYY-MM-DD&days=31

Up to 366 days.

/api/v1/cities.json

The 18 cities with coordinates.

/api/v1/festivals.json

Festival dates, each marked published or not.

/api/v1/meta.json

Field order, name tables, range.

Times are integers

Every time is minutes from IST midnight of that date. A value above 1440 means the following day, so a tithi ending at 1531 ends at 01:31 the next morning. No timezone parsing, no ambiguity.

Two things to respect

A time is only meaningful with its city. Rahu kalam in Chennai is not rahu kalam in Delhi — every value here is computed for one town's own horizon, and quoting one for another is simply wrong.

Festivals carry published: false when the date is computed but not asserted: either unchecked against the printed almanacs, or genuinely contested between traditions. Govardhan Puja 2026 is contested. Please do not render those as settled dates.

Attribution

Use it freely, commercially or not. A link back to shastrapanchangam.com is appreciated and is what keeps this free.

Example

curl https://shastrapanchangam.com/api/v1/today/bengaluru.json

See the response · festivals · cities

How each value is computed · why the day starts at sunrise