LifeAstroAPILifeAstroAPI

API Reference / Vedic Astrology / Panchang

GET
10 credits

/v1/panchang/amrit-kalam

Amrit Kalam window.

What this tells you

Amrit Kalam ("nectar time") is a short, highly auspicious window inside each nakshatra. The classical tables give, for each of the 27 nakshatras, a start offset in ghatis counted from the nakshatra's start, for a nakshatra 60 ghatis long. The API scales the offset and the 1.6-ghati duration to the real length of the nakshatra. It uses the same method as Varjyam with a different offset table. Actions begun during Amrit Kalam are said to bear especially good fruit.

Request

All requests require an Authorization header with your dv_live_* API key.

example request
curl "https://api.lifeastroapi.com/v1/panchang/amrit-kalam?date=2027-01-15&tz=Asia%2FKolkata&lat=28.6139&lon=77.209" \
  -H "Authorization: Bearer YOUR_API_KEY"

Query parameters

Checked against the API: a parameter is marked required when the request fails without it.

NameRequiredExampleDescription
dateyes2027-01-15Date (YYYY-MM-DD).
tzyesAsia/KolkataTimezone: IANA name (Asia/Kolkata) or UTC offset (+05:30).
latyes28.6139Latitude in decimal degrees.
lonyes77.209Longitude in decimal degrees.
ayanamsano—Ayanamsa (sidereal offset) to use. Defaults to lahiri.

Response (200 OK)

The real response to the example request above, generated from the API itself. Long arrays are trimmed to their first two items. Field names are stable across versions.

200 response
{
  "date": "2027-01-15",
  "location": {
    "lat": 28.6139,
    "lon": 77.209,
    "alt": 0
  },
  "tz": "Asia/Kolkata",
  "nakshatra": "Revati",
  "nakshatra_index": 26,
  "amrit_offset_ghatika": 4,
  "window": {
    "start_jd": 2461420.310308,
    "end_jd": 2461420.337573,
    "start_local": "2027-01-15 00:56:51",
    "end_local": "2027-01-15 01:36:06"
  },
  "duration_seconds": 2355
}

Field reference

Every field in the response, with its type, a real example, and what it means.

FieldTypeMeaning
datestring (YYYY-MM-DD)
The requested date.
example: "2027-01-15"
locationobject
Echo of lat, lon and alt (metres).
example: { "lat": 28.6139, "lon": 77.209, "alt": 0 }
tzstring
Echo of the tz you sent. All *_local times are in this zone.
example: "Asia/Kolkata"
nakshatrastring
Nakshatra running at local sunrise of `date`. The Amrit Kalam window lies inside this nakshatra. Translated when you pass `locale`.
example: "Revati"
nakshatra_indexinteger (0–26)
0 = Ashwini … 26 = Revati.
example: 26
amrit_offset_ghatikanumber
Where Amrit Kalam starts, in ghatis from the start of the nakshatra, on a 60-ghati scale. Note the name differs from `offset_ghatika` in /v1/panchang/varjyam.
example: 4
Jyotish: Each nakshatra has its own fixed Amrit offset in the classical tables (Muhurta Chintamani). It is a separate table from the Varjyam offsets.
window.start_jd / end_jdnumber
Start and end of Amrit Kalam as Julian Day in UT.
example: 2461420.310308
window.start_local / end_localstring (YYYY-MM-DD HH:MM:SS)
Start and end of Amrit Kalam in local time (request tz). Can be on the day before `date`, as here.
example: "2027-01-15 00:56:51"
duration_secondsinteger
Length of the window in seconds. It is 1.6 ghatis of the nakshatra's real length, so it varies with the Moon's speed (about 33–44 minutes).
example: 2355

Usage tips

How to use it

  • Check the date of the window
    The window belongs to the nakshatra running at sunrise. That nakshatra often began the day before, so the window can fall before sunrise, even on the previous date (in the example: 00:56 to 01:36 on 2027-01-15, hours before that day's sunrise). It can also fall after the next sunrise or at night. Compare it with the day's sunrise before suggesting it as a "best time" for today.
  • Nakshatras that start later in the day
    Only the sunrise nakshatra is used. To get the Amrit Kalam of a nakshatra that begins later in the day, call again with the next date.
  • Pair with Varjyam
    Show Amrit Kalam next to /v1/panchang/varjyam: "avoid this, prefer this".

Errors

Every error follows the same envelope. Use the error.code field (not the message) for conditional logic in your integration.

401 Unauthorized

{
  "error": {
    "code": "unauthorized",
    "message": "missing or invalid API key",
    "request_id": "req_01hqy7k8c3e7m1n"
  }
}

402 Payment Required

{
  "error": {
    "code": "trial_exhausted",
    "message": "your free trial credits are exhausted — pick a plan to continue",
    "top_up_url": "https://lifeastroapi.com/pricing",
    "request_id": "req_01hqy7k8c3e7m1n"
  }
}

429 Too Many Requests

{
  "error": {
    "code": "rate_limited",
    "message": "rate limit exceeded; retry after 12 seconds",
    "request_id": "req_01hqy7k8c3e7m1n"
  }
}

Try it

Get a dv_live_* key from your dashboard and paste into the cURL snippet above. New accounts get 1,500 free credits. Sign up.