Skip to content
POST/api/astro/karana_scan/1 credit

Karana scan

A karana is half a tithi — six degrees of the Moon's separation from the Sun, roughly eleven to thirteen hours. There are eleven names: seven movable ones that each repeat eight times through a lunar month, and four fixed ones that occur once each. Vishti, usually called Bhadra, is the one that is avoided. This endpoint finds every occurrence of one named karana across a whole calendar year, so you can build a 'when is the next Vishti' list without walking the year day by day. Pass karana_name exactly as spelt in the field's list (it is case-sensitive), year, and timezone_as_float; the offset defines where the local year begins and ends. No latitude or longitude is needed, because a karana is a purely lunar quantity. The response is {year, karana_name, rows}, where rows is a chronological list of {start, end} timestamps in UTC. A fixed karana yields about twelve rows a year and a movable one closer to a hundred. For the karanas of a single day, use the karana_segments key on /api/astro/panchanga/ instead.

https://yogataraapi.prahlad.app/api/astro/karana_scan/
Test Request

Authentication

Send your key in the X-API-Key header. Keys are server-side credentials — never put one in browser JavaScript or a mobile app.

X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/json

Request fields

FieldTypeRequiredNotes
karana_namestringrequired
KimstughnaBavaBalavaKaulavaTaitulaGarajaVanijaVishtiShakuniChatushpadaNaga
timezone_as_floatnumber (double)required

UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30), -5 for New York in winter, 5.75 for Nepal. This is NOT validated against date_time - if the two disagree you get a successful response for the wrong moment, so derive both from the same source. Use the offset in force on that date, not today's: a summer birth in a country with daylight saving needs the summer offset.

yearintegerrequired

Year of birth as a number, e.g. 1990. Four digits.

min 1800 · max 2400

Example request

curl -X POST https://yogataraapi.prahlad.app/api/astro/karana_scan/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"karana_name":"Kimstughna","timezone_as_float":5.5,"year":2026}'

Response

{
  "data": {
    "year": 2026,
    "karana_name": "Kimstughna",
    "rows": [
      {
        "start": "2026-01-18T19:52:39+00:00",
        "end": "2026-01-19T08:22:04+00:00"
      },
      {
        "start": "2026-02-17T12:01:47+00:00",
        "end": "2026-02-17T23:48:42+00:00"
      },
      {
        "start": "2026-03-19T01:24:05+00:00",
        "end": "2026-03-19T12:26:49+00:00"
      },
      {
        "start": "2026-04-17T11:52:21+00:00",
        "end": "2026-04-17T22:18:56+00:00"
      },
      {
        "start": "2026-05-16T20:01:32+00:00",
        "end": "2026-05-17T06:07:05+00:00"
      },
      {
        "start": "2026-06-15T02:54:39+00:00",
        "end": "2026-06-15T12:57:08+00:00"
      },
      {
        "start": "2026-07-14T09:44:04+00:00",
        "end": "2026-07-14T20:00:36+00:00"
      },
      {
        "start": "2026-08-12T17:37:11+00:00",
        "end": "2026-08-13T04:21:33+00:00"
      },
      {
        "start": "2026-09-11T03:27:28+00:00",
        "end": "2026-09-11T14:48:43+00:00"
      },
      {
        "start": "2026-10-10T15:50:36+00:00",
        "end": "2026-10-11T03:52:40+00:00"
      },
      {
        "start": "2026-11-09T07:02:42+00:00",
        "end": "2026-11-09T19:43:50+00:00"
      },
      {
        "start": "2026-12-09T00:52:31+00:00",
        "end": "2026-12-09T14:03:05+00:00"
      }
    ]
  },
  "message": "successful",
  "is_error": false
}

Captured from a real call using the exact request above. Results sit under data.

Errors

Metering errors return { "error": "…", "message": "<code>", "is_error": true }. Show error to people and branch on message. See the error reference.