Skip to content
API96Astro API

API reference / Predictions & readings

Predictions & readings

Rule-based readings: sign horoscopes, transits, characteristics, life readings and period forecasts.

27 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.

Lifetime Malefic Transit Windows

POSTAvailable

https://api.96astro.com/v1/predictions/lifetime-malefic-transits

The natal signs made sensitive (and why) and every period in which Saturn, Rahu, Ketu or Mars transits them, with dates and ages up to age 120. A screening, not a prediction.

Credits
3 credits
Input
Birth details
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • ayanamsha · object
  • nature · string
  • malefics · array of string
  • sensitive_signs · array of object
  • periods · array of object
  • max_age · integer

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "ayanamsha": {
      "id": "lahiri",
      "name": "N.C. Lahiri",
      "degrees": 23.7285
    },
    "nature": "A screening of when slow malefics cross sensitive signs. Not a prediction.",
    "malefics": [
      "Saturn",
      "Rahu",
      "Ketu"
    ],
    "sensitive_signs": [
      {
        "sign": "Gemini",
        "reasons": [
          "6th house"
        ]
      },
  …

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.

Ayurdaya (Longevity Estimate) & Age

POSTAvailable

https://api.96astro.com/v1/predictions/ayurdaya

Classical Ayurdaya spans by five methods (Pindayu, Nisargayu, Amsayu, Jeevayu, Badrayan) in years, months and days, and the selected method with its basis.

Credits
3 credits
Input
Birth details
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • ayanamsha · object
  • nature · string
  • methods · object
  • selected · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "ayanamsha": {
      "id": "lahiri",
      "name": "N.C. Lahiri",
      "degrees": 23.7285
    },
    "nature": "Classical Ayurdaya arithmetic (BPHS). An astrological calculation, not a medical or actuarial prediction.",
    "methods": {
      "pindayu": {
        "years": 60,
        "months": 3,
        "days": 15
      },
      "nisargayu": {
        "years": 45,
        "months": 5,
        "days": 20
      },
      "amsayu": {
  …

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.

Personal Characteristics (in bundle)

POSTAvailable

https://api.96astro.com/v1/predictions/personal-characteristics-bundle

Twelve rows, one per house: the sign, its lord, where the lord sits, its dignity, strength, retrograde and combust flags, and a reading derived from that placement.

Credits
3 credits
Input
Birth details
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • ayanamsha · object
  • ascendant · string
  • ascendant_lord · string
  • houses · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "ayanamsha": {
      "id": "lahiri",
      "name": "N.C. Lahiri",
      "degrees": 23.7285
    },
    "ascendant": "Capricorn",
    "ascendant_lord": "Saturn",
    "houses": [
      {
        "house": 1,
        "sign": "Capricorn",
        "lord": "Saturn",
        "lord_sign": "Sagittarius",
        "lord_house": 12,
        "lord_dignity": "Neutral",
        "lord_strength": "Weak",
        "lord_retrograde": false,
        "lord_combust": 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.

Moon-Sign Horoscope: Daily

POSTAvailable

https://api.96astro.com/v1/predictions/sign-horoscope-daily

Daily transit-based forecast for each of the twelve Moon signs: a summary, highlights, score, ratings, lucky number and colour, and a remedy.

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

signstring | nullOptional

One Moon sign (e.g. 'virgo'); all twelve when omitted.

Default: null

Allowed values: ariestaurusgeminicancerleovirgolibrascorpiosagittariuscapricornaquariuspisces

Example: virgo

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

Options (12)
ValueMeaning
ariesAries
taurusTaurus
geminiGemini
cancerCancer
leoLeo
virgoVirgo
libraLibra
scorpioScorpio
sagittariusSagittarius
capricornCapricorn
aquariusAquarius
piscesPisces

Response · fields in data

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

  • date · string
  • location · object
  • ayanamsha · string
  • basis · string
  • moon_sign_on_date · string
  • signs · 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": "lahiri",
    "basis": "moon_sign",
    "moon_sign_on_date": "Libra",
    "signs": [
      {
        "sign": "Virgo",
        "start": "2026-10-13",
        "end": "2026-10-13",
        "summary": "Today, Virgo natives may notice that attention naturally shifts toward cash flow, savings, and practical financial choices. The transit picture is being shaped by Mercury's tone along with the movement of the faster planets, so outcomes depend heavily on timing, restraint, and practical judgment.\n\nSun in your 1st house supports self-confidence and vitality. Moon moving through the 2nd house can improve finances and speech. Mars's transit in the 11th house helps with gains, networks, and fulfillment. Saturn in the 7th house asks for care around partnerships and agreements. Sun appears to be the strongest support right now, helping matters connected with self-confidence and vitality. At the same time, Moon gives an additional push through finances and speech, which can help you recover momentum in delayed matters. The more sensitive area comes from Saturn, so situations involving partnerships and agreements may require more patience than usual.\n\nIn practical terms, the strongest visible results are likely in cash flow, savings, and practical financial choices, while the more delicate side of the period touches energy, resilience, and physical balance. budget carefully, prefer planned decisions, and avoid emotional or impulsive spending.\n\nFor the best use of the day, keep decisions simple, preserve your energy, and avoid reacting too strongly to temporary fluctuations. A steady pace will bring better results than emotional urgency.",
        "highlights": "Sun in your 1st house supports self-confidence and vitality. Moon moving through the 2nd house can improve finances and speech.",
        "score": 1.56,
        "ratings": {
  …

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.

Moon-Sign Horoscope: This week

POSTAvailable

https://api.96astro.com/v1/predictions/sign-horoscope-weekly

This week transit-based forecast for each of the twelve Moon signs: a summary, highlights, score, ratings, lucky number and colour, and a remedy.

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

signstring | nullOptional

One Moon sign (e.g. 'virgo'); all twelve when omitted.

Default: null

Allowed values: ariestaurusgeminicancerleovirgolibrascorpiosagittariuscapricornaquariuspisces

Example: virgo

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

Options (12)
ValueMeaning
ariesAries
taurusTaurus
geminiGemini
cancerCancer
leoLeo
virgoVirgo
libraLibra
scorpioScorpio
sagittariusSagittarius
capricornCapricorn
aquariusAquarius
piscesPisces

Response · fields in data

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

  • date · string
  • location · object
  • ayanamsha · string
  • basis · string
  • moon_sign_on_date · string
  • signs · 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": "lahiri",
    "basis": "moon_sign",
    "moon_sign_on_date": "Libra",
    "signs": [
      {
        "sign": "Virgo",
        "start": "2026-10-12",
        "end": "2026-10-18",
        "summary": "This week, Virgo natives may notice that attention naturally shifts toward cash flow, savings, and practical financial choices. The transit picture is being shaped by Mercury's tone along with the movement of the faster planets, so outcomes depend heavily on timing, restraint, and practical judgment.\n\nMars in your 11th house supports gains, networks, and fulfillment. Mercury moving through the 2nd house can improve finances and speech. Jupiter's transit in the 11th house helps with gains, networks, and fulfillment. Saturn in the 7th house asks for care around partnerships and agreements. Mars appears to be the strongest support right now, helping matters connected with gains, networks, and fulfillment. At the same time, Mercury gives an additional push through finances and speech, which can help you recover momentum in delayed matters. The more sensitive area comes from Saturn, so situations involving partnerships and agreements may require more patience than usual.\n\nIn practical terms, the strongest visible results are likely in cash flow, savings, and practical financial choices, while the more delicate side of the period touches energy, resilience, and physical balance. budget carefully, prefer planned decisions, and avoid emotional or impulsive spending.\n\nAcross the week, consistency will matter more than speed. If you stay organized, respect your limits, and work with the stronger transits instead of forcing weak areas, the week can produce stable gains.",
        "highlights": "Mars in your 11th house supports gains, networks, and fulfillment. Mercury moving through the 2nd house can improve finances and speech.",
        "score": 1.44,
        "ratings": {
  …

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.

Moon-Sign Horoscope: Next week

POSTAvailable

https://api.96astro.com/v1/predictions/sign-horoscope-next-week

Next week transit-based forecast for each of the twelve Moon signs: a summary, highlights, score, ratings, lucky number and colour, and a remedy.

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

signstring | nullOptional

One Moon sign (e.g. 'virgo'); all twelve when omitted.

Default: null

Allowed values: ariestaurusgeminicancerleovirgolibrascorpiosagittariuscapricornaquariuspisces

Example: virgo

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

Options (12)
ValueMeaning
ariesAries
taurusTaurus
geminiGemini
cancerCancer
leoLeo
virgoVirgo
libraLibra
scorpioScorpio
sagittariusSagittarius
capricornCapricorn
aquariusAquarius
piscesPisces

Response · fields in data

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

  • date · string
  • location · object
  • ayanamsha · string
  • basis · string
  • moon_sign_on_date · string
  • signs · 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": "lahiri",
    "basis": "moon_sign",
    "moon_sign_on_date": "Libra",
    "signs": [
      {
        "sign": "Virgo",
        "start": "2026-10-19",
        "end": "2026-10-25",
        "summary": "Next week, Virgo natives may notice that attention naturally shifts toward cash flow, savings, and practical financial choices. The transit picture is being shaped by Mercury's tone along with the movement of the faster planets, so outcomes depend heavily on timing, restraint, and practical judgment.\n\nMars in your 11th house supports gains, networks, and fulfillment. Mercury moving through the 2nd house can improve finances and speech. Jupiter's transit in the 11th house helps with gains, networks, and fulfillment. Saturn in the 7th house asks for care around partnerships and agreements. Mars appears to be the strongest support right now, helping matters connected with gains, networks, and fulfillment. At the same time, Mercury gives an additional push through finances and speech, which can help you recover momentum in delayed matters. The more sensitive area comes from Saturn, so situations involving partnerships and agreements may require more patience than usual.\n\nIn practical terms, the strongest visible results are likely in cash flow, savings, and practical financial choices, while the more delicate side of the period touches energy, resilience, and physical balance. budget carefully, prefer planned decisions, and avoid emotional or impulsive spending.\n\nAcross the week, consistency will matter more than speed. If you stay organized, respect your limits, and work with the stronger transits instead of forcing weak areas, the week can produce stable gains.",
        "highlights": "Mars in your 11th house supports gains, networks, and fulfillment. Mercury moving through the 2nd house can improve finances and speech.",
        "score": 1.24,
        "ratings": {
  …

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.

Moon-Sign Horoscope: Monthly

POSTAvailable

https://api.96astro.com/v1/predictions/sign-horoscope-monthly

Monthly transit-based forecast for each of the twelve Moon signs: the period's dates, ratings and themed reading sections.

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

signstring | nullOptional

One Moon sign (e.g. 'virgo'); all twelve when omitted.

Default: null

Allowed values: ariestaurusgeminicancerleovirgolibrascorpiosagittariuscapricornaquariuspisces

Example: virgo

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

Options (12)
ValueMeaning
ariesAries
taurusTaurus
geminiGemini
cancerCancer
leoLeo
virgoVirgo
libraLibra
scorpioScorpio
sagittariusSagittarius
capricornCapricorn
aquariusAquarius
piscesPisces

Response · fields in data

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

  • date · string
  • location · object
  • ayanamsha · string
  • basis · string
  • moon_sign_on_date · string
  • signs · 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": "lahiri",
    "basis": "moon_sign",
    "moon_sign_on_date": "Libra",
    "signs": [
      {
        "sign": "Virgo",
        "start": "2026-10-01",
        "end": "2026-10-31",
        "ratings": {
          "health": 2,
          "finance": 5,
          "career": 5,
  …

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.

Moon-Sign Horoscope: Yearly

POSTAvailable

https://api.96astro.com/v1/predictions/sign-horoscope-yearly

Yearly transit-based forecast for each of the twelve Moon signs: the period's dates, ratings and themed reading sections.

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

signstring | nullOptional

One Moon sign (e.g. 'virgo'); all twelve when omitted.

Default: null

Allowed values: ariestaurusgeminicancerleovirgolibrascorpiosagittariuscapricornaquariuspisces

Example: virgo

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

Options (12)
ValueMeaning
ariesAries
taurusTaurus
geminiGemini
cancerCancer
leoLeo
virgoVirgo
libraLibra
scorpioScorpio
sagittariusSagittarius
capricornCapricorn
aquariusAquarius
piscesPisces

Response · fields in data

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

  • date · string
  • location · object
  • ayanamsha · string
  • basis · string
  • moon_sign_on_date · string
  • signs · 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": "lahiri",
    "basis": "moon_sign",
    "moon_sign_on_date": "Libra",
    "signs": [
      {
        "sign": "Virgo",
        "start": "2026-01-01",
        "end": "2026-12-31",
        "ratings": {
          "health": 2,
          "finance": 3,
          "career": 4,
  …

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.

Zodiac Sign Profiles

POSTAvailable

https://api.96astro.com/v1/predictions/sign-profile

Reference profile of each of the twelve signs: symbol, element, modality, ruling planet, natural house, mantra, body part, colours, birthstones and tropical Sun dates.

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
signstring | nullOptional

One sign; all twelve when omitted.

Default: null

Allowed values: ariestaurusgeminicancerleovirgolibrascorpiosagittariuscapricornaquariuspisces

Example: aries

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

Options (12)
ValueMeaning
ariesAries
taurusTaurus
geminiGemini
cancerCancer
leoLeo
virgoVirgo
libraLibra
scorpioScorpio
sagittariusSagittarius
capricornCapricorn
aquariusAquarius
piscesPisces

Response · fields in data

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

  • signs · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "signs": [
      {
        "sign": "Aries",
        "symbol": "The Ram",
        "element": "Fire",
        "modality": "Cardinal",
        "ruling_planet": "Mars",
        "natural_house": 1,
        "mantra": "I Am",
        "body_part": "Head",
        "colors": "Red & Mustard",
        "birthstone": "Diamond",
        "alternate_birthstones": "Bloodstone, Topaz Sapphire, Jasper, and Aquamarine",
        "tropical_sun_dates": "March 21 - April 19"
      }
    ]
  },
  "meta": {
  …

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.

Personal Daily Forecast

POSTAvailable

https://api.96astro.com/v1/predictions/daily-personal-forecast

A day's forecast from a birth (or Moon sign, Sun sign and nakshatra): the transiting Moon and Sun with their effects, the tara of the day and an overall quality.

Credits
1 credit
Input
Specific input
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
birthobject | nullOptional

A birth; its Moon sign, Sun sign and nakshatra are used (Lahiri).

Default: null

birth.datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

birth.timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

birth.utc_offsetstring | nullOptional

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

Default: null

birth.latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

birth.longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

birth.ayanamshastringOptional

Default: lahiri

birth.languagestringOptional

Output language (ISO 639-1). Each capability lists the languages it supports.

Default: en

birth.nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

moon_signstring | nullOptional

Birth Moon sign (sidereal), instead of `birth`.

Default: null

Allowed values: AriesTaurusGeminiCancerLeoVirgoLibraScorpioSagittariusCapricornAquariusPisces

sun_signstring | nullOptional

Birth Sun sign (sidereal), instead of `birth`.

Default: null

Allowed values: AriesTaurusGeminiCancerLeoVirgoLibraScorpioSagittariusCapricornAquariusPisces

nakshatrastring | nullOptional

Birth Moon nakshatra, instead of `birth`.

Default: null

datestringRequired

The day to forecast, YYYY-MM-DD.

Limits: format date

Example: 2026-10-13

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.

  • birth · object
  • note · string
  • date · string
  • moment_utc · string
  • moon · object
  • sun · object
  • tara · object
  • quality · string

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "birth": {
      "moon_sign": "Virgo",
      "sun_sign": "Libra",
      "nakshatra": "Chitra",
      "source": "birth"
    },
    "note": "Transiting Moon and Sun are read at 12:00 UTC of each date (Lahiri).",
    "date": "2026-10-13",
    "moment_utc": "2026-10-13T12:00:00Z",
    "moon": {
      "sign": "Libra",
      "degree": 29.12,
      "longitude": 209.122,
      "nakshatra": "Vishakha",
      "nakshatra_number": 16,
      "pada": 3,
      "nakshatra_lord": "Jupiter",
      "nakshatra_deity": "Indragni",
  …

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.

Personal Weekly Forecast

POSTAvailable

https://api.96astro.com/v1/predictions/weekly-personal-forecast

Seven days of the personal forecast with the Moon, Sun, tara and quality for each day, and a summary of favourable and challenging days.

Credits
1 credit
Input
Specific input
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
birthobject | nullOptional

A birth; its Moon sign, Sun sign and nakshatra are used (Lahiri).

Default: null

birth.datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

birth.timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

birth.utc_offsetstring | nullOptional

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

Default: null

birth.latitudenumberRequired

Limits: minimum -90, maximum 90

birth.longitudenumberRequired

Limits: minimum -180, maximum 180

birth.ayanamshastringOptional

Default: lahiri

birth.languagestringOptional

Output language (ISO 639-1). Each capability lists the languages it supports.

Default: en

birth.nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

moon_signstring | nullOptional

Birth Moon sign (sidereal), instead of `birth`.

Default: null

Allowed values: AriesTaurusGeminiCancerLeoVirgoLibraScorpioSagittariusCapricornAquariusPisces

Example: Virgo

sun_signstring | nullOptional

Birth Sun sign (sidereal), instead of `birth`.

Default: null

Allowed values: AriesTaurusGeminiCancerLeoVirgoLibraScorpioSagittariusCapricornAquariusPisces

Example: Libra

nakshatrastring | nullOptional

Birth Moon nakshatra, instead of `birth`.

Default: null

Example: Chitra

start_datestringRequired

First of the seven days, YYYY-MM-DD.

Limits: format date

Example: 2026-10-12

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.

  • birth · object
  • note · string
  • start_date · string
  • end_date · string
  • summary · object
  • days · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "birth": {
      "moon_sign": "Virgo",
      "sun_sign": "Libra",
      "nakshatra": "Chitra",
      "source": "given"
    },
    "note": "Transiting Moon and Sun are read at 12:00 UTC of each date (Lahiri).",
    "start_date": "2026-10-12",
    "end_date": "2026-10-18",
    "summary": {
      "moon_signs": [
        "Libra",
        "Scorpio",
        "Sagittarius"
      ],
      "favourable_days": [
        "2026-10-12",
        "2026-10-14",
  …

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.

Personal Monthly Forecast

POSTAvailable

https://api.96astro.com/v1/predictions/monthly-personal-forecast

A month of the personal forecast day by day, grouped into weeks, with favourable and challenging day counts and the best and toughest weeks.

Credits
1 credit
Input
Specific input
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
birthobject | nullOptional

A birth; its Moon sign, Sun sign and nakshatra are used (Lahiri).

Default: null

birth.datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

birth.timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

birth.utc_offsetstring | nullOptional

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

Default: null

birth.latitudenumberRequired

Limits: minimum -90, maximum 90

birth.longitudenumberRequired

Limits: minimum -180, maximum 180

birth.ayanamshastringOptional

Default: lahiri

birth.languagestringOptional

Output language (ISO 639-1). Each capability lists the languages it supports.

Default: en

birth.nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

moon_signstring | nullOptional

Birth Moon sign (sidereal), instead of `birth`.

Default: null

Allowed values: AriesTaurusGeminiCancerLeoVirgoLibraScorpioSagittariusCapricornAquariusPisces

Example: Virgo

sun_signstring | nullOptional

Birth Sun sign (sidereal), instead of `birth`.

Default: null

Allowed values: AriesTaurusGeminiCancerLeoVirgoLibraScorpioSagittariusCapricornAquariusPisces

Example: Libra

nakshatrastring | nullOptional

Birth Moon nakshatra, instead of `birth`.

Default: null

Example: Chitra

monthstringRequired

Calendar month, YYYY-MM.

Example: 2026-10

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.

  • birth · object
  • note · string
  • month · string
  • start_date · string
  • end_date · string
  • summary · object
  • weeks · array of object
  • days · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "birth": {
      "moon_sign": "Virgo",
      "sun_sign": "Libra",
      "nakshatra": "Chitra",
      "source": "given"
    },
    "note": "Transiting Moon and Sun are read at 12:00 UTC of each date (Lahiri).",
    "month": "2026-10",
    "start_date": "2026-10-01",
    "end_date": "2026-10-31",
    "summary": {
      "favourable_day_count": 18,
      "challenging_day_count": 9,
      "best_week_start": "2026-10-26",
      "toughest_week_start": "2026-10-12",
      "moon_signs": [
        "Taurus",
        "Gemini",
  …

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.

Twelve-Month Prediction

POSTAvailable

https://api.96astro.com/v1/predictions/twelve-month-prediction

Twelve months from a start month: the running mahadasha and antardasha in each month with a reading of each.

Credits
1 credit
Input
Specific input
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

start_monthstringRequired

First of the twelve months, YYYY-MM.

Example: 2026-10

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.

  • ayanamsha · string
  • dasha_system · string
  • birth_dasha · object
  • months · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "ayanamsha": "lahiri",
    "dasha_system": "vimshottari",
    "birth_dasha": {
      "lord": "Mars",
      "balance_years": 4.6148
    },
    "months": [
      {
        "month": "2026-10",
        "start": "2026-10-01",
        "end": "2026-10-31",
        "dasha_as_of": "2026-10-16",
        "mahadasha": "Jupiter",
        "antardasha": "Mars",
        "antardasha_ends": "2027-01-04",
        "reading": "During October 2026, Jupiter Mahadasha / Mars Antardasha is active. In this sub-period, drive and competitive energy are prominent. The Jupiter Mahadasha is one of the most auspicious periods, bringing wisdom, expansion, wealth and spiritual growth. Children, higher education, legal matters and religious activities flourish. Guru-Vandana, charitable acts and study of sacred texts are highly beneficial.",
        "mahadasha_reading": "The Jupiter Mahadasha is one of the most auspicious periods, bringing wisdom, expansion, wealth and spiritual growth. Children, higher education, legal matters and religious activities flourish. Guru-Vandana, charitable acts and study of sacred texts are highly beneficial.",
        "antardasha_theme": "drive and competitive energy are prominent"
  …

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.

Personal Characteristics

POSTAvailable

https://api.96astro.com/v1/predictions/personal-characteristics

Twelve rows, one per house: the sign, its lord, where the lord sits, its dignity and strength, and a sentence derived from that placement.

Credits
1 credit
Input
Birth details
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • ayanamsha · string
  • ascendant · string
  • ascendant_lord · string
  • houses · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "ayanamsha": "lahiri",
    "ascendant": "Capricorn",
    "ascendant_lord": "Saturn",
    "houses": [
      {
        "house": 1,
        "sign": "Capricorn",
        "lord": "Saturn",
        "lord_sign": "Sagittarius",
        "lord_house": 12,
        "lord_dignity": "Neutral",
        "lord_retrograde": false,
        "lord_combust": false,
        "lord_strength": "Weak",
        "reading": "Because the 1st lord Saturn has moved to the 12th house, your health, temperament and how you meet the world is worked out through your expenses, foreign lands and release. Saturn is neutral in Sagittarius, giving a weak result; the 12th is a difficult house, which asks for patience here."
      },
      {
        "house": 2,
  …

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.

Detailed Life Reading

POSTAvailable

https://api.96astro.com/v1/predictions/detailed-life

A life reading by house (domain): each with its sign, lord and placement, occupants, a score, band and verdict, plus an overview.

Credits
10 credits
Input
Specific input
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • ayanamsha · object
  • node · string
  • house_system · string
  • ascendant · object
  • overview · string
  • domains · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "house_system": "whole_sign",
    "ascendant": {
      "sign": "Capricorn",
      "sign_number": 10
    },
    "overview": "Rising sign Capricorn sets the tone of the life. The chart is strongest in ‘Fortune & Dharma’ (score 98) and most tested in ‘Education & Children’ (score 31). Read each domain below for the house lord's placement, occupying planets and the resulting outlook.",
    "domains": [
      {
        "house": 1,
        "title": "Personality & Self",
        "keywords": "temperament, vitality, overall life direction",
        "sign": "Capricorn",
        "lord": "Saturn",
        "lord_house": 12,
  …

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.

Prediction Report: Nature & temperament

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-nature

The nature & temperament section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • keyphrase · string
  • biggest_talent · string
  • biggest_weakness · string
  • ambition · string
  • traits_classical · array of string
  • traits_modern · array of string

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "nature",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "keyphrase": "I use.",
    "biggest_talent": "Discipline and endurance.",
    "biggest_weakness": "Coldness and excessive caution.",
    "ambition": "Status and achievement.",
    "traits_classical": [
      "The ruler of the Capricorn Lagna is Saturn who is the taskmaster of the zodiac; therefore the person will be disciplined, responsible and highly ambitious.",
      "He will be practical and will always think in terms of results and long-term benefits.",
      "He will be patient and will be willing to work hard over many years to achieve goals."
    ],
    "traits_modern": [
  …

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.

Prediction Report: Physical traits

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-physical

The physical traits section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • classical · string
  • traits · array of string
  • modern · string

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "physical",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "classical": "The lord of Capricorn Lagna is Saturn. According to Brihat Jataka and Phaladeepika, the native will be of medium to tall height with a lean, bony and angular frame that is characteristic of Saturn's austere and disciplined nature. The body frame is spare, spare and somewhat gaunt in youth but gains strength and substance with age — Capricorn natives often improve in physical condition as they grow older. The face is long and narrow with high, prominent cheekbones, a pointed chin and serious, thoughtful expression. The eyes are deep-set, serious, intelligent and penetrating with an air of quiet authority and wisdom. The complexion is dark, dusky or sallow and the skin tends to be dry, rough and somewhat coarse. According to Saravali, the joints, knees and bones of the Capricorn native are particularly prominent and may be subject to health issues. The teeth may be prominent and the nose is often aquiline or beaked. The hair is generally dark, coarse and straight. According to Jataka Parijata, the native projects an air of seriousness, authority, experience and seasoned wisdom beyond their years. The walk is steady and deliberate. The constitution is Vata-dominant, conferring a lean physique, dry skin, susceptibility to cold and tendency toward joint and bone-related health issues.",
    "traits": [
      "The native will be of medium to tall height with a lean, bony and angular frame.",
      "The face will be long with high cheekbones, a pointed chin and serious expression.",
      "The eyes are deep-set, serious and intelligent with an air of quiet authority."
    ],
    "modern": "The Capricorn Lagna native has a Vata-dominant constitution with Saturn governing the physical structure, bones and longevity. The skeletal system — bones, joints, knees, teeth and skin — is the primary health focus area and requires careful, consistent and long-term attention. The native's constitution is slow but steady and responds exceptionally well to disciplined long-term health care practices. Cold, dryness and isolation negatively affect this constitution significantly and must be carefully avoided. The native is prone to arthritis, osteoporosis, knee problems, dental issues, skin conditions and depression when isolated or under prolonged stress. The native benefits greatly from warming and nourishing foods, regular sesame oil self-massage, consistent sleep hygiene, structured physical activity emphasising spine, knee and joint strength such as yoga and weight-bearing exercise, and deliberate avoidance of cold, damp environments. Calcium, vitamin D and magnesium supplementation should be considered. Social connection and warm relationships are important for psychological wellbeing which directly supports physical health for this constitution."
  },
  "meta": {
    "request_id": "req_00000000000000000000",
  …

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.

Prediction Report: Lucky days, colours, numbers, stones

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-lucky-info

The lucky days, colours, numbers, stones section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • based_on · object
  • lucky_days · string
  • lucky_colours · string
  • lucky_numbers · string
  • gemstone · string
  • substitute_stones · string
  • auspicious_signs · string
  • auspicious_period · string
  • inauspicious_day · string
  • inauspicious_months · string
  • inauspicious_tithis · string

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "lucky_info",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "based_on": {
      "lagna_lord": "Saturn"
    },
    "lucky_days": "Saturday and Wednesday are very favorable.",
    "lucky_colours": "Dark Blue and Black are lucky. Red and Pink will be unlucky.",
    "lucky_numbers": "8, 4, 6 and 17 are very lucky numbers. 1, 10 and 19 of every month are inauspicious.",
    "gemstone": "Blue Sapphire (Neelam). Substitute: Amethyst or Blue Topaz.",
    "substitute_stones": "Lapis Lazuli, Blue Spinel or Iolite.",
    "auspicious_signs": "Capricorn, Aquarius, Taurus and Libra are favorable.",
    "auspicious_period": "The month of Pushya or Magha (mid-December to mid-January) is very auspicious. According to Yavanarcharya, Krishna Paksha, Saturday evening is the most favorable time. Dates 8, 17, 26 of every month are especially lucky.",
  …

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.

Prediction Report: Birth nakshatra interpretation

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-nakshatra-interp

The birth nakshatra interpretation section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • nakshatra · string
  • lord · string
  • pada · integer
  • moon_sign · string
  • moon_sign_lord · string
  • birth_syllable · string
  • deity · string
  • gana · string
  • yoni · string
  • varna · string
  • nadi · string
  • readings · object
  • traits_classical · array of string
  • traits_modern · array of string
  • pada_reading · object
  • health · string
  • remedy · string

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "nakshatra_interp",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "nakshatra": "Chitra",
    "lord": "Mars",
    "pada": 2,
    "moon_sign": "Virgo",
    "moon_sign_lord": "Mercury",
    "birth_syllable": "Po",
    "deity": "Tvashta (Divine Craftsman)",
    "gana": "Rakshasa (Fierce)",
    "yoni": "Vyaghra (Tiger)",
    "varna": "Farmer",
  …

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.

Prediction Report: Planetary dispositions

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-planetary-dispositions

The planetary dispositions section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • house_system · string
  • planets · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "planetary_dispositions",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "house_system": "whole_sign",
    "planets": [
      {
        "planet": "Sun",
        "house": 10,
        "if_well_placed": "Sun in the tenth house is one of the best placements for career success and worldly authority. The native will be famous, respected and will hold positions of great power. He will succeed in government service, politics or leadership roles. He will have a distinguished career and will be well-known in his field of work.",
        "if_afflicted": "If afflicted, there may be sudden fall from position, conflicts with superiors and government troubles. The native may be excessively ambitious and may harm others in pursuit of status. Career setbacks and public humiliation are possible when the Sun is severely afflicted."
      },
      {
        "planet": "Moon",
  …

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.

Prediction Report: House lords (bhavesh)

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-bhavesh

The house lords (bhavesh) section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • house_system · string
  • houses · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "bhavesh",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "house_system": "whole_sign",
    "houses": [
      {
        "house": 1,
        "lord": "Saturn",
        "lord_in_house": 12,
        "reading": "When the lord of the first house is in the twelfth house, the native's life will often take them far from their place of birth — to foreign lands, ashrams or places of seclusion. The native may experience financial losses and expenditure that outpaces income. However, spiritual growth, inner contemplation and the development of genuine wisdom through solitude are strongly indicated. The native may achieve genuine liberation and spiritual peace through a life of renunciation and inner devotion.",
        "classical": {
          "lomasha": "लग्नेशः व्ययभावे, विदेशगमनं स्वप्रियम्। मोक्षाभिलाषी वैरागी, व्ययशीलः परदेशस्थः।। The lord of the first house in the twelfth house indicates a tendency toward foreign travel, spirituality and renunciation. The native is inclined toward solitude and expenditure.",
          "yavana": "यदि लग्नाधिपः द्वादशे। If the lord of the first house is in the twelfth house, the native may live abroad or spend extended periods in foreign countries. The native may be inclined toward spiritual practice, solitude and the inner life. Expenditure will be high and financial accumulation may be difficult.",
  …

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.

Prediction Report: Current dasha reading

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-dasha

The current dasha reading section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • system · string
  • as_of · string
  • mahadasha · object
  • antardasha · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "dasha",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "system": "vimshottari",
    "as_of": "2026-10-14",
    "mahadasha": {
      "lord": "Jupiter",
      "start": "2013-05-30",
      "end": "2029-05-30",
      "lord_house": 7,
      "reading": [
        "There will be gain of wealth, prosperity and happiness through ethical and righteous means.",
        "The native will receive the blessings and grace of teachers, gurus and divine figures.",
  …

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.

Prediction Report: Gem recommendation

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-gem

The gem recommendation section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • based_on · object
  • primary · string
  • substitutes · string
  • uparatna · string
  • metal · string
  • finger · string
  • day · string
  • mantra · string
  • ritual · string
  • caution · string
  • shloka · object
  • introduction · string
  • description · string
  • strength_analysis · string

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "gem",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "based_on": {
      "lagna": "Capricorn",
      "lagna_lord": "Saturn",
      "lagna_lord_sign": "Sagittarius",
      "lagna_lord_house": 12,
      "lagna_lord_condition": "normal"
    },
    "primary": "Blue Sapphire (Neelam)",
    "substitutes": "Amethyst or Blue Topaz",
    "uparatna": "Iolite, Lapis Lazuli or Blue Spinel",
  …

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.

Prediction Report: Classical references

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-classics

The classical references section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • houses · array of object
  • yogas · object
  • jaimini · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "classics",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "houses": [
      {
        "house": 1,
        "name": "Tanu Bhava",
        "significations": "physique, appearance, intellect (or the organ of intelligence, i.e. brain), complexion of the body, vigour; weakness, happiness, grief, and innate nature are all to be guessed through the ascending sign.",
        "statements": [
          {
            "ref": "BP 12-1",
            "text": "Physical comforts: The ascendant lord Saturn is in the 12th house (a dusthana). Physical felicity will diminish."
          },
  …

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.

Prediction Report: Life report

POSTAvailable

https://api.96astro.com/v1/predictions/prediction-life-report

The life report section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.

Credits
10 credits
Input
Birth details
Output
JSON
Delivery
Direct response (JSON); PDF via /v1/jobs/pdf
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • section · string
  • ayanamsha · object
  • node · string
  • lagna · string
  • lagna_lord · string
  • moon_nakshatra · string
  • personality · object
  • mental · object
  • career · object
  • finance · object
  • relationships · object
  • health · object
  • spiritual · object
  • children · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "section": "life_report",
    "ayanamsha": {
      "id": "lahiri"
    },
    "node": "true",
    "lagna": "Capricorn",
    "lagna_lord": "Saturn",
    "moon_nakshatra": "Chitra",
    "personality": {
      "basis": {
        "lagna_sign": "Capricorn",
        "lagna_lord": "Saturn",
        "lagna_lord_house": 12
      },
      "paragraphs": [
        "The native is born under an earth sign with Saturn as the ruling planet, giving a disciplined, ambitious and exceptionally patient personality. There is a natural gift for sustained effort, strategic planning and the gradual building of lasting structures. The native is responsible, practical and deeply committed to excellence and integrity in all endeavors. A serious demeanor and a strong work ethic distinguish this native in all professional and social contexts. Recognition and success come steadily through consistent effort over time.",
        "The ascending sign Capricorn belongs to the earth element in its most disciplined, ambitious and achievement-oriented manifestation. Earth lagna natives of Capricorn have exceptional patience, strategic intelligence and the remarkable capacity for sustained effort over very long periods of time. The earth element in Capricorn creates a personality that is responsible, practically grounded and deeply committed to building structures of lasting value and substance. The native's greatest gifts are organizational discipline, patient determination and the wisdom to play the long game in all areas of life.",
        "Capricorn is a movable or cardinal sign, giving the native significant executive initiative, strategic drive and the disciplined capacity to set ambitious long-term goals and move consistently toward them through sustained, structured effort. Cardinal-sign ascendants in Capricorn initiate through strategic planning, disciplined effort and the systematic construction of lasting achievement. The native is most vital when working toward clear, ambitious goals with patience and organisational precision."
  …

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.

Vedic Transit (Gochara)

POSTAvailable

https://api.96astro.com/v1/predictions/vedic-transit

Birth and transit positions side by side: the ascendant and each planet's sign, degree and nakshatra at birth and at the transit moment.

Credits
1 credit
Input
Specific input
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
birthobjectRequired
birth.datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

birth.timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

birth.utc_offsetstring | nullOptional

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

Default: null

birth.latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

birth.longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

birth.ayanamshastringOptional

Default: lahiri

birth.languagestringOptional

Output language (ISO 639-1). Each capability lists the languages it supports.

Default: en

transitobjectRequired
transit.datetimestringRequired

Local date and time, ISO 8601 without offset.

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 2026-10-13T12:00:00

transit.timezonestring | nullOptional

IANA time zone, e.g. Asia/Kolkata

Default: null

Example: Asia/Kolkata

transit.utc_offsetstring | nullOptional

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

Default: null

transit.latitudenumberRequired

Limits: minimum -90, maximum 90

Example: 28.6139

transit.longitudenumberRequired

Limits: minimum -180, maximum 180

Example: 77.209

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • ayanamsha · object
  • node · string
  • house_system · string
  • birth · object
  • transit · object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "ayanamsha": {
      "id": "lahiri",
      "degrees_at_birth": 23.7285
    },
    "node": "true",
    "house_system": "whole_sign",
    "birth": {
      "datetime": "1990-10-18T14:30:00",
      "ascendant": {
        "sign": "Capricorn",
        "sign_number": 10,
        "sign_lord": "Saturn",
        "degree": 23.8935,
        "degree_dms": "23-53-37",
        "longitude": 293.8935,
        "nakshatra": "Dhanishta",
        "nakshatra_number": 23,
        "nakshatra_lord": "Mars",
  …

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.

POSTAvailable

https://api.96astro.com/v1/predictions/navatara

The nine taras counted from the birth nakshatra with each planet's tara placement.

Credits
1 credit
Input
Birth details
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
datetimestringRequired

Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00

Limits: format local-date-time, pattern ^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d{1,6})?)?$

Example: 1990-10-18T14:30:00

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

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

nodestringOptional

Lunar node: true (osculating) or mean.

Default: true

Allowed values: truemean

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.

  • ayanamsha · string
  • janma_nakshatra · object
  • taras · array of object
  • placements · array of object

Try in Playground →Capability overview

Example request

Example response

200application/json
{
  "data": {
    "ayanamsha": "lahiri",
    "janma_nakshatra": {
      "name": "Chitra",
      "number": 14,
      "pada": 2
    },
    "taras": [
      {
        "number": 1,
        "name": "Janma",
        "nature": "Neutral / Tense",
        "nakshatra_lord": "Mars",
        "nakshatras": [
          {
            "cycle": 1,
            "nakshatra": "Chitra",
            "nakshatra_number": 14,
            "bodies": [
  …

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.