Panchang
GET
1 credit

/v1/panchang/vara

Vedic weekday (vara) with lord.

What this tells you

Vara (weekday) is the simplest panchang element, but with a Vedic twist: the day starts at sunrise, not midnight. This matters for labeling rituals, dasha starts, and electional muhurta. The vara lord drives the planetary hora system — Sunday starts with the Sun's hora.

Request

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

example request
curl "https://api.divyastroapi.com/v1/panchang/vara?date=2026-04-19&time=06%3A30&tz=%2B05%3A30&lat=28.61&lon=77.21" \
  -H "Authorization: Bearer dv_live_0123456789abcdef0123456789abcdef"

Response (200 OK)

Successful requests return a JSON body. Field names are stable across versions.

200 response
{
  "vara": {
    "index": 0,
    "name": "Sunday",
    "sanskrit": "Ravivara",
    "lord": "Sun"
  },
  "day_start_jd": 2461137.2,
  "day_end_jd":   2461138.2,
  "is_astro_day": true
}

Field reference

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

FieldTypeMeaning
vara.indexinteger (0–6)
Weekday index. 0 = Sunday, 1 = Monday, ..., 6 = Saturday.
example: 0
vara.namestring
English weekday name.
example: "Sunday"
vara.sanskritstring
Sanskrit/Hindi name. Ravi, Soma, Mangala, Budha, Guru, Shukra, Shani.
example: "Ravivara"
vara.lordstring
Planetary lord. Powers hora calculations.
example: "Sun"
day_start_jdnumber
Sunrise JD — the true start of the Vedic day (not midnight).
example: 2461137.2
day_end_jdnumber
Next sunrise JD.
example: 2461138.2
is_astro_dayboolean
Whether the request time falls within the Vedic day (sunrise-to-sunrise), not the civil day.
example: true

Usage tips

How to use it

  • Before sunrise = yesterday
    If your user queries at 4 AM local time, the Vedic vara is still yesterday. Use `is_astro_day` and `day_start_jd` to decide.
  • Wire into hora
    The vara lord is the first hora of the day. Pass the result into `/v1/panchang/hora` logic if you're computing without the endpoint.

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://divyastroapi.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 500 free credits. Sign up.