Skip to main content

Authentication

All API endpoints are secured. To generate your API key, sign in, navigate to Account > API Keys and click Create API key. Set the token that was generated as the value of the auth query parameter in requests to API endpoints. Example: https://api.kaalchakra.dev/v1/panchang?auth=kk-prod-my-token

Time Zones

curl -H "Accept: application/json" \
  "https://api.kaalchakra.dev/v1/panchang?time_zone=America%2FLos_Angeles&auth=$TOKEN"
API clients may supply a time_zone query parameter, which is used by the REST API server to determine the current date for the client application. Time zones defined by the tz database are supported. If time_zone is not set the client application’s time zone is assumed to be "Asia/Kolkata".

Rate Limits

Rate limits are applied to manage capacity and prevent excessive usage.

Conventions

Romanization

Sanskrit and Arabic words are romanized using Hunterian transliteration.

Timestamps

All timestamps conform to the ISO 8601 format.

Localization

Overview

Most objects with a name property also have a localized_name property.
Localized names of holidays and days of observance are coming soon.
Names are usually romanized Sanskrit; for regional calendar data, names may have origins in other languages. By default, the value of localized_name fields is null. When localization is enabled via the language query parameter, localized_name fields are populated according to the following rules:
  1. The primary writing system and alphabet for the language are used.
  2. If a name exists in the vernacular of the language, the vernacular name is returned. Otherwise, the name in the original language — usually Sanskrit, but possibly another Indian language, English, Arabic or Hebrew — is returned.

List of supported languages

LanguageAbbreviationStatus
BengalibnSupported
HindihiSupported
MarathiComing soon
TamilComing soon
TeluguComing soon
Don’t see the language you’re looking for? Email us and we’ll add it to the roadmap.

Example: Default

curl -H "Accept: application/json" \
  "https://api.kaalchakra.dev/v1/panchang?auth=$TOKEN" \
  | jq '{tithis: .angas.tithis}'
{
  "tithis": [{
    "name": "Tritiya",
    "localized_name": null,
    "ends_at": ""2025-09-10T15:39:00.000+05:30"
  }]
}

Example: Hindi

curl -H "Accept: application/json" \
  "https://api.kaalchakra.dev/v1/panchang?auth=$TOKEN&language=hi" \
  | jq '{tithis: .angas.tithis}'
{
  "tithis": [{
    "name": "Tritiya",
    "localized_name": "तृतीया",
    "ends_at": ""2025-09-10T15:39:00.000+05:30"
  }]
}

Example: Bengali

curl -H "Accept: application/json" \
  "https://api.kaalchakra.dev/v1/panchang?auth=$TOKEN&language=bn" \
  | jq '{tithis: .angas.tithis}'
{
  "tithis": [{
    "name": "Tritiya",
    "localized_name": "তৃতীয়",
    "ends_at": ""2025-09-10T15:39:00.000+05:30"
  }]
}