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

Onam calendar

Onam is not one day but a sequence keyed to consecutive nakshatras, running from Atham (Hasta) through Thiruvonam to Chathayam. This endpoint returns that whole window for a given year, one row per civil day. Each row gives day_number, the Gregorian date, the weekday in English and in Malayalam script, the governing nakshatra, the Malayalam month and day with the Kollam era year, a captions list naming what is observed that day (Atthachamayam, Athapoo Pookalam, Vallam Kali and so on), an is_repeat_day flag, and segments giving the nakshatra's exact begin and end instants in local time. The day count is not fixed. A nakshatra long enough to span two sunrises produces a repeat day — same name, empty captions, null begin and end — and pushes the sequence out; a short one can instead be merged onto the following day, which then carries two names in its captions. Twelve or thirteen rows is normal. Pass year with latitude, longitude and UTC offset; the year must be between 2006 and 2046. For Onam as a single dated entry among a full year of Kerala festivals, use /api/astro/malayalam_calendar/.

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

{
  "_truncated": true,
  "_note": "Response shortened for the catalogue.",
  "preview": "{\"data\": {\"year\": 2026, \"days\": [{\"day_number\": 1, \"date\": \"2026-08-16\", \"weekday_en\": \"Sunday\", \"weekday_ml\": \"ഞായറാഴ്ച\", \"nakshatra\": \"Atham\", \"malayalam_month\": \"Karkatakam\", \"malayalam_day\": 31, \"kollam_year\": 1201, \"captions\": [\"Atthachamayam\", \"Athapoo Pookalam\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Atham\", \"begin\": \"2026-08-16T03:25:45+05:30\", \"end\": \"2026-08-17T03:50:52+05:30\"}]}, {\"day_number\": 2, \"date\": \"2026-08-17\", \"weekday_en\": \"Monday\", \"weekday_ml\": \"തിങ്കളാഴ്ച\", \"nakshatra\": \"Chithira\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 1, \"kollam_year\": 1202, \"captions\": [\"Chithira Day\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Chithira\", \"begin\": \"2026-08-17T03:50:52+05:30\", \"end\": \"2026-08-18T04:58:59+05:30\"}]}, {\"day_number\": 3, \"date\": \"2026-08-18\", \"weekday_en\": \"Tuesday\", \"weekday_ml\": \"ചൊവ്വാഴ്ച\", \"nakshatra\": \"Chothi\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 2, \"kollam_year\": 1202, \"captions\": [\"Chodhi Day\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Chothi\", \"begin\": \"2026-08-18T04:58:59+05:30\", \"end\": \"2026-08-19T06:47:04+05:30\"}]}, {\"day_number\": 4, \"date\": \"2026-08-19\", \"weekday_en\": \"Wednesday\", \"weekday_ml\": \"ബുധനാഴ്ച\", \"nakshatra\": \"Vishakham\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 3, \"kollam_year\": 1202, \"captions\": [\"Vishakham Day\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Vishakham\", \"begin\": \"2026-08-19T06:47:04+05:30\", \"end\": \"2026-08-20T09:08:29+05:30\"}]}, {\"day_number\": 5, \"date\": \"2026-08-20\", \"weekday_en\": \"Thursday\", \"weekday_ml\": \"വ്യാഴാഴ്ച\", \"nakshatra\": \"Vishakham\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 4, \"kollam_year\": 1202, \"captions\": [], \"is_repeat_day\": true, \"segments\": [{\"name\": \"Vishakham\", \"begin\": null, \"end\": null}]}, {\"day_number\": 6, \"date\": \"2026-08-21\", \"weekday_en\": \"Friday\", \"weekday_ml\": \"വെള്ളിയാഴ്ച\", \"nakshatra\": \"Anizham\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 5, \"kollam_year\": 1202, \"captions\": [\"Anizham Day\", \"Vallam Kali\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Anizham\", \"begin\": \"2026-08-20T09:08:29+05:30\", \"end\": \"2026-08-21T11:53:15+05:30\"}]}, {\"day_number\": 7, \"date\": \"2026-08-22\", \"weekday_en\": \"Saturday\", \"weekday_ml\": \"ശനിയാഴ്ച\", \"nakshatra\": \"Thrikketta\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 6, \"kollam_year\": 1202, \"captions\": [\"Thriketa Day\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Thrikketta\", \"begin\": \"2026-08-21T11:53:15+05:30\", \"end\": \"2026-08-22T14:49:28+05:30\"}]}, {\"day_number\": 8, \"date\": \"2026-08-23\", \"weekday_en\": \"Sunday\", \"weekday_ml\": \"ഞായറാഴ്ച\", \"nakshatra\": \"Moolam\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 7, \"kollam_year\": 1202, \"captions\": [\"Moolam Day, Onam Sadya\", \"Puli Kali, Kaikotti Kali\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Moolam\", \"begin\": \"2026-08-22T14:49:28+05:30\", \"end\": \"2026-08-23T17:44:53+05:30\"}]}, {\"day_number\": 9, \"date\": \"2026-08-24\", \"weekday_en\": \"Monday\", \"weekday_ml\": \"തിങ്കളാഴ്ച\", \"nakshatra\": \"Pooradam\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 8, \"kollam_year\": 1202, \"captions\": [\"Pooradam Day, Onathappan\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Pooradam\", \"begin\": \"2026-08-23T17:44:53+05:30\", \"end\": \"2026-08-24T20:28:27+05:30\"}]}, {\"day_number\": 10, \"date\": \"2026-08-25\", \"weekday_en\": \"Tuesday\", \"weekday_ml\": \"ചൊവ്വാഴ്ച\", \"nakshatra\": \"Uthradam\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 9, \"kollam_year\": 1202, \"captions\": [\"Uthradom Day, First Onam\", \"Uthradappachil\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Uthradam\", \"begin\": \"2026-08-24T20:28:27+05:30\", \"end\": \"2026-08-25T22:51:30+05:30\"}]}, {\"day_number\": 11, \"date\": \"2026-08-26\", \"weekday_en\": \"Wednesday\", \"weekday_ml\": \"ബുധനാഴ്ച\", \"nakshatra\": \"Thiruvonam\", \"malayalam_month\": \"Chingam\", \"malayalam_day\": 10, \"kollam_year\": 1202, \"captions\": [\"Thiruvonam Day, Second Onam\", \"Thiru-Onam, Onam\"], \"is_repeat_day\": false, \"segments\": [{\"name\": \"Thiruvonam\", \"begin\": \"2026-08-25T22:51:30+05:30\", \"end\": \"2026-08-27T00:48:15+05:3"
}

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.