Public API

Free, read-only access to the Nepali Calendar (Bikram Sambat) dataset.

Endpoints

GET /data/{year}/{month}.json

Returns one BS month as an array with one entry per day.

ParameterTypeDescription
yearintegerBikram Sambat year, 1969–2200.
monthintegerBS month, 1–12 (zero-padded in the path, e.g. 07).

Example request

curl https://calendar.bharosilo.com/data/2083/07.json
const res = await fetch(
  "https://calendar.bharosilo.com/data/2083/07.json"
)
const days = await res.json()

for (const day of days) {
  console.log(day.calendarInfo.dates.bs.full.en, day.eventDetails)
}

Response

A JSON array of day objects. Each day exposes the BS and AD dates plus the day's tithiDetails, panchangaDetails, hrituDetails, auspiciousMoments and eventDetails (festivals, holidays and other events).

[
  {
    "calendarInfo": {
      "dates": {
        "bs": {
          "year": { "np": "२०८३", "en": "2083" },
          "month": { "np": "कार्तिक", "en": "Kartik",
                     "code": { "np": "७", "en": "7" } },
          "day": { "np": "१", "en": "1" },
          "full": { "np": "२०८३-७-१", "en": "2083-7-1" }
        },
        "ad": {
          "year": { ... }, "month": { ... }, "day": { ... },
          "full": { "en": "2026-10-18" }
        }
      },
      "days": {
        "dayOfWeek": { "np": "आइतवार", "en": "Sunday" },
        "codes": { ... }
      },
      "nepaliEra": { ... }
    },
    "tithiDetails": { ... },
    "panchangaDetails": { ... },
    "hrituDetails": { ... },
    "auspiciousMoments": { "sahits": [ ... ], "muhurats": [ ... ] },
    "eventDetails": [
      {
        "id": 5,
        "category": { "name": "Other", "id": 126366 },
        "displayType": "Calendar Event",
        "title": { "np": "कालरात्रि", "en": "Kaal Ratri" },
        "isHoliday": false,
        "location": null,
        "timing": { "from": null, "to": null },
        "details": { "en": null, "np": null }
      }
    ]
  }
]

Errors

StatusReason
400Year/month is not an integer, or month is outside 1–12.
404No data for that year and month.

Usage notes

  • No API key or account is required. Responses are read-only public data.
  • Cross-origin requests are allowed (Access-Control-Allow-Origin: *), so you can call the API directly from a browser.
  • Responses are cacheable for one hour (Cache-Control: public, max-age=3600).
  • Please cache responses on your side and avoid unnecessary re-fetching.
  • The API covers the full BS 1969–2200 dataset. The web UI itself only navigates BS 2000–2099, the range the underlying date library supports.

Questions or issues? Contact us at calendar@bharosilo.com.