Skip to content
API96Astro API

API reference / Panchang & almanac

Panchang & almanac

Daily and monthly panchang, timing tables, calendars, eclipses and planetary events for a date and place.

25 endpoints. Every endpoint is POST with a JSON body and your key in the Authorization header. Request schemas and examples come from the OpenAPI document; each example response was captured from the live engine and its data fields are a guide to the shape, not a contract.

Daily Panchang

POSTAvailable

https://api.96astro.com/v1/panchang/daily-panchang

The full panchang for one day at one place: limbs, Sun and Moon times, calendar, auspicious and inauspicious periods, choghadiya, hora, festivals, balas, sunrise chart, doshas and more.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • vara · string
  • limbs · object
  • sun_moon · object
  • calendar · object
  • inauspicious · object
  • auspicious · object
  • disha_shoola · string
  • choghadiya · object
  • hora · object
  • festivals · array of string
  • vasa_shoola · object
  • chandra_bala · object
  • tara_bala · object
  • sunrise_chart · object
  • doshas · object
  • special_yogas · array of object
  • sankalpa · string
  • sacred_tithis · object
  • time_heatmap · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "vara": "Mangalavara",
    "limbs": {
      "tithi": {
        "name": "Tritiya",
        "ends_at": "2026-10-13T23:28:00",
        "paksha": "Shukla"
      },
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Tithi, Nakshatra, Yoga, Karana & Vara

POSTAvailable

https://api.96astro.com/v1/panchang/panchang-five-limbs

The vara, tithi with paksha, nakshatra, yoga and the karanas of the day, each with its end time.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • vara · string
  • limbs · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "vara": "Mangalavara",
    "limbs": {
      "tithi": {
        "name": "Tritiya",
        "ends_at": "2026-10-13T23:28:00",
        "paksha": "Shukla"
      },
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Sunrise, Sunset, Moonrise & Twilights

POSTAvailable

https://api.96astro.com/v1/panchang/sun-moon-timings

Sunrise, sunset, solar noon, moonrise, moonset, the Moon's sign and its phase with illumination.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • sun_moon · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "sun_moon": {
      "sunrise": "2026-10-13T06:20:25",
      "sunset": "2026-10-13T17:54:06",
      "solar_noon": "2026-10-13T12:07:27",
      "moonrise": "2026-10-13T08:45:50",
      "moonset": "2026-10-13T19:18:57",
      "moon_sign": "Tula",
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Hindu Calendar Details

POSTAvailable

https://api.96astro.com/v1/panchang/hindu-calendar

Shaka, Vikram and Kali samvat, amanta and purnimanta month, adhik/kshaya masa flags, ritu, ayana and day and night length.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • calendar · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "calendar": {
      "shaka_samvat": "1948 Parabhava",
      "vikram_samvat": "2083",
      "kali_samvat": "5127",
      "month_amanta": "Ashwin",
      "month_purnimanta": "Ashwin",
      "adhik_masa": false,
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Rahu Kaal & Inauspicious Periods

POSTAvailable

https://api.96astro.com/v1/panchang/inauspicious-timings

Rahu Kaal, Yamaganda, Gulika Kaal, Dur Muhurtam, Kulika, Kantaka-Mrityu, Kalavela and Yamaghanta windows for the day.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • inauspicious · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "inauspicious": {
      "rahu_kaal": [
        {
          "start": "2026-10-13T15:00:40",
          "end": "2026-10-13T16:27:23"
        }
      ],
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Abhijit & Auspicious Periods

POSTAvailable

https://api.96astro.com/v1/panchang/auspicious-timings

Brahma Muhurta, Abhijit, Vijaya, Godhuli, Pratah and Sayahna Sandhya and Nishita.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • auspicious · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "auspicious": {
      "brahma_muhurta": [
        {
          "start": "2026-10-13T04:44:25",
          "end": "2026-10-13T05:32:25"
        }
      ],
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Choghadiya

POSTAvailable

https://api.96astro.com/v1/panchang/choghadiya

Eight day and eight night Choghadiya periods with their nature.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • choghadiya · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "choghadiya": {
      "day": [
        {
          "name": "Rog",
          "quality": "inauspicious",
          "start": "2026-10-13T06:20:00",
          "end": "2026-10-13T07:47:00"
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Hora Table

POSTAvailable

https://api.96astro.com/v1/panchang/hora-table

Twelve day and twelve night planetary horas with their lord, nature and times.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • hora · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "hora": {
      "day": [
        {
          "lord": "Mars",
          "nature": "inauspicious",
          "start": "2026-10-13T06:20:00",
          "end": "2026-10-13T07:18:00"
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Disha Shoola & Vasa

POSTAvailable

https://api.96astro.com/v1/panchang/vasa-shoola

Disha shoola, Chandra/Rahu/Shoola vasa, Shiva vasa, Agnivasa, Bhadravasa, homahuti and Kumbha chakra.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • vasa_shoola · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "vasa_shoola": {
      "disha_shoola": "North",
      "chandra_vasa": "South-East",
      "rahu_vasa": "South",
      "shoola_vasa": "West",
      "shiva_vasa": {
        "place": "Sabha",
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Tarabalam & Chandrabalam

POSTAvailable

https://api.96astro.com/v1/panchang/tara-chandra-bala

Chandra bala of each Moon sign for the day, and tara bala for each birth nakshatra now and after the day's nakshatra changes.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • chandra_bala · object
  • tara_bala · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "chandra_bala": {
      "moon_sign": "Libra",
      "signs": [
        {
          "sign": "Aries",
          "count_from_moon": 7,
          "rating": "Good",
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Sunrise Chart & Planet Positions

POSTAvailable

https://api.96astro.com/v1/panchang/sunrise-chart

The chart cast at sunrise: lagna, the twelve houses and each planet's sign, degree, nakshatra, house, dignity and retrograde/combust flags.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • sunrise_chart · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "sunrise_chart": {
      "lagna": {
        "sign": "Virgo",
        "degree": 24.5939,
        "nakshatra": "Chitra"
      },
      "houses": [
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Festivals of the Day

POSTAvailable

https://api.96astro.com/v1/panchang/day-festivals

Names of the festivals falling on the day at the place.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • festivals · array of string

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "festivals": [
      "Sharad Navratri Day 3"
    ]
  },
  "meta": {
    "request_id": "req_00000000000000000000",
    "api_version": "v1",
    "credits_used": 0,
    "warnings": [],
    "language": "en"
  }
}

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Panchak, Ganda Mool, Bhadra & Vinchudo

POSTAvailable

https://api.96astro.com/v1/panchang/panchak-bhadra

Whether and when Panchak, Ganda Mool, Bhadra (Vishti) and Vinchudo run on the day.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • doshas · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "doshas": {
      "panchak": {
        "active": false,
        "nakshatra": null,
        "panchak_type": null,
        "ends_at": null
      },
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Special Day Yogas

POSTAvailable

https://api.96astro.com/v1/panchang/special-day-yogas

The day's special yogas (Ravi yoga and others), each with whether it is active, its category, a description and when it ends.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • special_yogas · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "special_yogas": [
      {
        "name": "Ravi Yoga",
        "active": false,
        "category": "auspicious",
        "description": "Nakshatra lord (Jupiter) matches weekday lord (Mars). Highly auspicious for new beginnings, travel, and commerce.",
        "until": null
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Sankalpa & Manvadi/Yugadi/Kalpadi Tithis

POSTAvailable

https://api.96astro.com/v1/panchang/sankalpa-sacred-tithis

The sankalpa text for the day and whether it is a Manvadi, Yugadi or Kalpadi tithi.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • sankalpa · string
  • sacred_tithis · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "sankalpa": "Aum! Vishnurvishnum Vishnum. Shrimad Bhagavato Mahaapurushasy Vishnoragnaya Pravartamanasya, Adya Brahmano Dwiteeya Parardhe, Shri Shwetavaraaha Kalpe, Vaivasvata Manvantare, Kali Yuge, Kali Samvat 5127, Asmin Vartamane Vikram Samvat 2083, Varsha Ritau, Dakshinayana Ayane, Tritiya Tithau, Mangalavara Vasare, Vishakha Nakshatre, Preeti Yoge, Taitila Karane, Chandra Tula Rashau, Surya Kanya Rashau, Guru Karka Rashau, Asmin Vartamane Vyavaharike New Delhi, India Kshetra, Mama Dharmarthakamamoksha Chathurvarga Phala Praptyartham Mama Sakutumbasya Kshema Sthairya Arogya Aishwarya Abhivrudhyartham Mama Sarva Sankalpa Sidhyartham.",
    "sacred_tithis": {
      "manvadi_tithi": {
        "manvantara": "Vaivasvata (7th)",
        "traditional_tithi": "Mesha Shukla Tritiya",
        "active_today": false
      },
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Day Quality Heatmap

POSTAvailable

https://api.96astro.com/v1/panchang/time-heatmap

The day and night split into time slots, each with a score, a band and the auspicious and inauspicious periods it contains.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • ayanamsha · object
  • time_heatmap · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "ayanamsha": {
      "id": "lahiri",
      "name": "Lahiri (Chitrapaksha)",
      "degrees": 24.2312
    },
    "time_heatmap": {
      "available": true,
      "day": [
        {
          "start": "2026-10-13T06:20:00",
          "end": "2026-10-13T06:32:00",
          "score": 0,
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Monthly Panchang

POSTAvailable

https://api.96astro.com/v1/panchang/monthly-panchang

Panchang for every day of a month at one place.

Credits
3 credits
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

yearintegerRequired

Calendar year.

Example: 2026

monthintegerRequired

Limits: minimum 1, maximum 12

Example: 10

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • year · integer
  • month · integer
  • location · object
  • days · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "year": 2026,
    "month": 10,
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "timezone": "Asia/Kolkata"
    },
    "days": [
      {
        "date": "2026-10-01",
        "weekday": "Thursday",
        "sunrise": "2026-10-01T06:13:45",
        "sunset": "2026-10-01T18:07:32",
        "moonrise": "2026-10-01T21:19:23",
        "moonset": "2026-10-01T11:01:42",
        "tithi": {
          "name": "Panchami",
          "paksha": "Krishna",
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Panchanga Sequence & Udaya Lagna

POSTAvailable

https://api.96astro.com/v1/panchang/panchanga-sequence

Every tithi, karana, nakshatra and pada, yoga, Moon sign and Udaya Lagna that runs from sunrise to the next sunrise, with start and end times.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • day · object
  • tithi · array of object
  • karana · array of object
  • nakshatra · array of object
  • nakshatra_pada · array of object
  • yoga · array of object
  • moon_sign · array of object
  • udaya_lagna · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "day": {
      "start": "2026-10-13T06:20:00",
      "end": "2026-10-14T06:20:00"
    },
    "tithi": [
      {
        "name": "Tritiya",
        "paksha": "Shukla",
        "start": "2026-10-13T06:20:00",
        "end": "2026-10-13T23:28:00",
        "started_before_sunrise": true,
        "continues_after_next_sunrise": false
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Tamil Solar Calendar

POSTAvailable

https://api.96astro.com/v1/panchang/tamil-calendar

Tamil year, month and date from the Sun's sidereal sign, and the day-types.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • tamil_year · string
  • month · object
  • nakshatra_at_sunrise · string
  • nokku_naal · object
  • kari_naal · object
  • thaniya_naal · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "tamil_year": "Parabhava",
    "month": {
      "name": "Purattasi",
      "name_tamil": "புரட்டாசி",
      "number": 6,
      "day": 27,
      "first_day": "2026-09-17",
      "sankranti_date": "2026-09-17"
    },
    "nakshatra_at_sunrise": "Vishakha",
    "nokku_naal": {
      "type": "keezh",
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Gowri Panchangam & Nalla Neram

POSTAvailable

https://api.96astro.com/v1/panchang/tamil-timings

Gowri Panchangam periods for the day and night, the auspicious Nalla Neram windows and the day's Amritadi yoga.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • sunrise · string
  • sunset · string
  • next_sunrise · string
  • gowri · object
  • nalla_neram · array of object
  • amritadi_yoga · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "sunrise": "2026-10-13T06:20:00",
    "sunset": "2026-10-13T17:54:00",
    "next_sunrise": "2026-10-14T06:20:00",
    "gowri": {
      "day": [
        {
          "name": "Rogam",
          "meaning": "illness; avoid",
          "auspicious": false,
          "start": "2026-10-13T06:20:00",
          "end": "2026-10-13T07:47:00"
        },
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Tyajyam (All Kinds)

POSTAvailable

https://api.96astro.com/v1/panchang/tyajyam

Nakshatra, tithi, vara, karana, lagna and Gowri tyajyam windows for the day, each with its cause, plus the dosha check and Amrita Kalam.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • day · object
  • nakshatra · array of object
  • tithi · array of object
  • vara · array of object
  • karana · array
  • lagna · array of object
  • gowri · array of object
  • dosha · object
  • amrita_kalam · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "day": {
      "start": "2026-10-13T06:20:00",
      "end": "2026-10-14T06:20:00"
    },
    "nakshatra": [
      {
        "because": "Vishakha",
        "start": "2026-10-13T05:54:00",
        "end": "2026-10-13T07:37:00",
        "disputed": false
      },
      {
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Varjyam Windows

POSTAvailable

https://api.96astro.com/v1/panchang/varjyam

Varjyam windows touching one day with their nakshatra and start ghatika, disputed ones flagged, plus the Amrita Kalam windows.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • day · object
  • varjyam · array of object
  • amrita_kalam · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "day": {
      "start": "2026-10-13T06:20:00",
      "end": "2026-10-14T06:20:00"
    },
    "varjyam": [
      {
        "nakshatra": "Vishakha",
        "nakshatra_start": "2026-10-12T23:52:00",
        "nakshatra_end": "2026-10-14T01:43:00",
        "start_ghatika": 14,
        "start": "2026-10-13T05:54:00",
        "end": "2026-10-13T07:37:00",
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Anandadi Yoga

POSTAvailable

https://api.96astro.com/v1/panchang/anandadi-yoga

The 28-fold weekday-and-nakshatra yoga for the day with its transition times.

Credits
1 credit
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
datestringRequired

Civil date, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

nodestringOptional

Default: true

Allowed values: truemean

languagestringOptional

Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language.

Default: en

Allowed value: en

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • date · string
  • location · object
  • weekday · string
  • counted_from · string
  • spans · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "date": "2026-10-13",
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "utc_offset": "+05:30"
    },
    "weekday": "Tuesday",
    "counted_from": "Ashlesha",
    "spans": [
      {
        "yoga": "Shrivatsa",
        "number": 8,
        "quality": "auspicious",
        "auspicious": true,
        "meaning": "Mark of fortune",
        "nakshatra": "Vishakha",
        "start": "2026-10-13T06:20:00",
        "end": "2026-10-14T01:43:00",
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Eclipses, Equinoxes & Solstices

POSTAvailable

https://api.96astro.com/v1/panchang/eclipses

Every solar and lunar eclipse of a year with type, global contacts and local visibility, magnitude and sutak, plus the equinoxes and solstices.

Credits
3 credits
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

yearintegerRequired

Calendar year, 1900-2200.

Example: 2026

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • year · integer
  • location · object
  • eclipses · array of object
  • equinoxes_solstices · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "year": 2026,
    "location": {
      "latitude": 28.6139,
      "longitude": 77.209,
      "timezone": "Asia/Kolkata"
    },
    "eclipses": [
      {
        "kind": "solar",
        "type": "Annular",
        "central": true,
        "global": {
          "start": "2026-02-17T15:26:00+05:30",
          "maximum": "2026-02-17T17:41:00+05:30",
          "end": "2026-02-17T19:57:00+05:30",
          "start_end_contacts": "first and last contact on Earth"
        },
        "local": {
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.

Ingresses & Stations

POSTAvailable

https://api.96astro.com/v1/panchang/planetary-events

Sign and nakshatra ingresses (Sankrantis for the Sun) and retrograde/direct stations over a date range.

Credits
3 credits
Input
Date and place
Output
JSON
Delivery
Direct response
Languages
English; translated term names with labels
Headers
HeaderValue and description
AuthorizationRequiredBearer YOUR_API_KEY

Your sandbox (sk_test_...) or live (sk_live_...) key. X-API-Key: <key> is accepted instead.

Content-TypeRequiredapplication/json

The body is JSON.

Idempotency-KeyOptional<unique string>

Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice. (1 to 200 characters)

Body · application/json
FieldDescription
timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

utc_offsetstring | nullOptional

Fixed offset such as +05:30, if no IANA zone is known

Default: null

from_datestringRequired

Limits: format date

Example: 2026-01-01

to_datestringRequired

Limits: format date

Example: 2026-03-31

planetsarray of string | nullOptional

Bodies to follow. Default: all but the Moon, which is included only when named.

Default: null

Each item one of: SunMoonMercuryVenusMarsJupiterSaturnRahuKetu

include_nakshatra_ingressesbooleanOptional

Default: true

include_stationsbooleanOptional

Default: true

nodestringOptional

Lunar node for Rahu/Ketu. 'true' also reports the true node's frequent stations.

Default: mean

Allowed values: truemean

ayanamshastringOptional

Default: lahiri

Allowed value: lahiri

labelsstringOptional

Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language.

Allowed values: asbndeesfrguhiitknkomlmrnenlorpaplptrusitatetrur

Response · fields in data

Inferred from the example response: a guide to the shape, not a contract.

  • from_date · string
  • to_date · string
  • timezone · string
  • planets · array of string
  • node · string
  • events · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "from_date": "2026-01-01",
    "to_date": "2026-03-31",
    "timezone": "Asia/Kolkata",
    "planets": [
      "Sun",
      "Mercury",
      "Venus"
    ],
    "node": "mean",
    "events": [
      {
        "at": "2026-01-07T00:01:00+05:30",
        "planet": "Mercury",
        "type": "nakshatra_ingress",
        "from": "Mula",
        "to": "Purva Ashadha",
        "moving_retrograde": false
      },
  …

Captured from the live engine with a sandbox key (so credits_used is 0) and trimmed: long arrays keep their first items.

Error responses

  • 400invalid_request
  • 401invalid_key, expired_key
  • 402payment_required
  • 403account_suspended
  • 404not_found
  • 409idempotency_conflict
  • 413payload_too_large
  • 422invalid_request, unsupported_language
  • 429rate_limited, quota_exhausted, spend_cap_reached, project_budget_exceeded
  • 500computation_failed
  • 502unavailable
  • 503unavailable
  • 504deadline_exceeded

Errors are never charged. What each status means and what to do: errors.