Lal Kitab

Lal Kitab: the teva, planet states, the nine debts, the annual chart and remedies.

Lal Kitab teva: houses, planet states, sleeping houses

POST/v1/lal-kitab/chart

2 credits · Secret key (test or live) · getLalKitabChart

Request body

  • birth Birth required
    • date string (date) required

      e.g. "1990-08-13"

    • time string

      pattern ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$ · e.g. "06:30"

    • time_accuracy string

      With "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.

      one of exact, approximate, unknown · default "exact"

    • place Coordinates or object or object required

      Coordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.

      One of:

      1. Coordinates
        Fields
        • latitude number required

          ≥ -90 · ≤ 90

        • longitude number required

          ≥ -180 · ≤ 180

        No other fields are accepted.

      2. object
        Fields
        • place_id string required

        No other fields are accepted.

      3. object
        Fields
        • query string required

          at least 2 characters · at most 120 characters

        No other fields are accepted.

    • timezone string

      "auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".

      default "auto"

    No other fields are accepted.

  • options Options
    • ayanamsa string

      Each system is its Swiss Ephemeris definition (a constant offset from Lahiri). Applies to chart operations; KP operations always use KP-New and the personal muhurat stays Lahiri. meta.ayanamsa names the system used.

      one of lahiri, raman, krishnamurti, yukteshwar, fagan_bradley · default "lahiri"

    • house_system string

      one of whole_sign · default "whole_sign"

    • node string

      one of true, mean · default "true"

    • lang string

      one of en, hi · default "en"

    • view string

      compact drops labels and prose — for LLM callers.

      one of full, compact · default "full"

    No other fields are accepted.

No other fields are accepted.

Response

JSON { data, meta, warnings }, where data is:

  • houses array of object required
    • house integer required
    • planets array of string required
  • planets array of object required
    • id string required
    • house integer required
    • state string required
    • state_label string required
    • nature string or null required

      One of:

      1. string
      2. null
    • pakka_ghar boolean required
  • sleeping_houses array of integer required

Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.

Example request

curl -X POST 'https://api.astrologics.in/v1/lal-kitab/chart' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/lal-kitab/chart", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "birth": {
      "date": "1990-08-13",
      "time": "06:30",
      "place": {
        "latitude": 28.6139,
        "longitude": 77.209
      }
    }
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "birth": {
        "date": "1990-08-13",
        "time": "06:30",
        "place": {
            "latitude": 28.6139,
            "longitude": 77.209,
        },
    },
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/lal-kitab/chart",
    method="POST",
    headers={"Authorization": "Bearer al_test_YOUR_KEY", "Content-Type": "application/json"},
    data=json.dumps(body).encode(),
)
try:
    with urllib.request.urlopen(req) as res:
        print(json.dumps(json.load(res), indent=2, ensure_ascii=False))
except urllib.error.HTTPError as err:
    print(err.code, err.read().decode())
PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/lal-kitab/chart');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 3,104 characters
{
  "data": {
    "houses": [
      {
        "house": 1,
        "planets": [
          "moon",
          "mars"
        ]
      },
      {
        "house": 2,
        "planets": []
      },
      {
        "house": 3,
        "planets": []
      },
      {
        "house": 4,
        "planets": [
          "sun",
          "jupiter",
          "venus",
          "ketu"
        ]
      },
      {
        "house": 5,
        "planets": [
          "mercury"
        ]
      },
      {
        "house": 6,
        "planets": []
      },
      {
        "house": 7,
        "planets": []
      },
      {
        "house": 8,
        "planets": []
      },
      {
        "house": 9,
        "planets": [
          "saturn"
        ]
      },
      {
        "house": 10,
        "planets": [
          "rahu"
        ]
      },
      {
        "house": 11,
        "planets": []
      },
      {
        "house": 12,
        "planets": []
      }
    ],
    "planets": [
      {
        "id": "sun",
        "house": 4,
        "state": "jaagta",
        "state_label": "Jagta (awake)",
        "nature": "Nek (benefic)",
        "pakka_ghar": false
      },
      {
        "id": "moon",
        "house": 1,
        "state": "soya",
        "state_label": "Soya (asleep)",
        "nature": "Nek (benefic)",
        "pakka_ghar": false
      },
      {
        "id": "mars",
        "house": 1,
        "state": "soya",
        "state_label": "Soya (asleep)",
        "nature": "Nek (benefic)",
        "pakka_ghar": false
      },
      {
        "id": "mercury",
        "house": 5,
        "state": "soya",
        "state_label": "Soya (asleep)",
        "nature": "Nek (benefic)",
        "pakka_ghar": false
      },
      {
        "id": "jupiter",
        "house": 4,
        "state": "jaagta",
        "state_label": "Jagta (awake)",
        "nature": "Nek (benefic)",
        "pakka_ghar": false
      },
      {
        "id": "venus",
        "house": 4,
        "state": "jaagta",
        "state_label": "Jagta (awake)",
        "nature": "Manda (malefic)",
        "pakka_ghar": false
      },
      {
        "id": "saturn",
        "house": 9,
        "state": "soya",
        "state_label": "Soya (asleep)",
        "nature": "Sam (neutral)",
        "pakka_ghar": false
      },
      {
        "id": "rahu",
        "house": 10,
        "state": "soya",
        "state_label": "Soya (asleep)",
        "nature": "Nek (benefic)",
        "pakka_ghar": false
      },
      {
        "id": "ketu",
        "house": 4,
        "state": "jaagta",
        "state_label": "Jagta (awake)",
        "nature": "Manda (malefic)",
        "pakka_ghar": false
      }
    ],
    "sleeping_houses": [
      8,
      11
    ]
  },
  "meta": {
    "request_id": "req_example",
    "api_version": "v1",
    "engine_version": "2026.9.28",
    "mode": "live",
    "credits_charged": 2,
    "ayanamsa": "lahiri",
    "house_system": "whole_sign",
    "node": "true",
    "timezone_used": {
      "name": "Asia/Kolkata",
      "utc_offset": "+05:30",
      "source": "auto"
    }
  },
  "warnings": []
}
Try it

Leave empty to use the shared demo key (limited). Test keys only: never charged. Kept in this browser tab and sent through this site to the API. Create one

The nine Lal Kitab rin (debts), graded

POST/v1/lal-kitab/debts

1 credit · Secret key (test or live) · getLalKitabDebts

Request body

  • birth Birth required
    • date string (date) required

      e.g. "1990-08-13"

    • time string

      pattern ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$ · e.g. "06:30"

    • time_accuracy string

      With "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.

      one of exact, approximate, unknown · default "exact"

    • place Coordinates or object or object required

      Coordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.

      One of:

      1. Coordinates
        Fields
        • latitude number required

          ≥ -90 · ≤ 90

        • longitude number required

          ≥ -180 · ≤ 180

        No other fields are accepted.

      2. object
        Fields
        • place_id string required

        No other fields are accepted.

      3. object
        Fields
        • query string required

          at least 2 characters · at most 120 characters

        No other fields are accepted.

    • timezone string

      "auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".

      default "auto"

    No other fields are accepted.

  • options Options
    • ayanamsa string

      Each system is its Swiss Ephemeris definition (a constant offset from Lahiri). Applies to chart operations; KP operations always use KP-New and the personal muhurat stays Lahiri. meta.ayanamsa names the system used.

      one of lahiri, raman, krishnamurti, yukteshwar, fagan_bradley · default "lahiri"

    • house_system string

      one of whole_sign · default "whole_sign"

    • node string

      one of true, mean · default "true"

    • lang string

      one of en, hi · default "en"

    • view string

      compact drops labels and prose — for LLM callers.

      one of full, compact · default "full"

    No other fields are accepted.

No other fields are accepted.

Response

JSON { data, meta, warnings }, where data is:

  • graded_by string required
  • debts array of object required
    • id string required
    • label string required
    • label_hi string required
    • of string required
    • present boolean required
    • severity string required
    • reasons array of string required

Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.

Example request

curl -X POST 'https://api.astrologics.in/v1/lal-kitab/debts' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/lal-kitab/debts", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "birth": {
      "date": "1990-08-13",
      "time": "06:30",
      "place": {
        "latitude": 28.6139,
        "longitude": 77.209
      }
    }
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "birth": {
        "date": "1990-08-13",
        "time": "06:30",
        "place": {
            "latitude": 28.6139,
            "longitude": 77.209,
        },
    },
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/lal-kitab/debts",
    method="POST",
    headers={"Authorization": "Bearer al_test_YOUR_KEY", "Content-Type": "application/json"},
    data=json.dumps(body).encode(),
)
try:
    with urllib.request.urlopen(req) as res:
        print(json.dumps(json.load(res), indent=2, ensure_ascii=False))
except urllib.error.HTTPError as err:
    print(err.code, err.read().decode())
PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/lal-kitab/debts');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 3,012 characters
{
  "data": {
    "graded_by": "astrologics",
    "debts": [
      {
        "id": "pitru",
        "label": "Pitru Rin",
        "label_hi": "पितृ ऋण",
        "of": "Ancestors / father",
        "present": true,
        "severity": "mild",
        "reasons": [
          "Mercury in khana 5 fires this debt",
          "Mercury is nek there",
          "Mercury is asleep",
          "Sun’s buniyaadi sight reaches khana 12",
          "Moon’s buniyaadi sight reaches khana 9",
          "Mars’s buniyaadi sight reaches khana 9",
          "Mercury’s dhokhe sight falls on khana 2",
          "Jupiter’s buniyaadi sight reaches khana 12",
          "Venus’s buniyaadi sight reaches khana 12",
          "Saturn’s buniyaadi sight reaches khana 5",
          "Ketu’s buniyaadi sight reaches khana 12"
        ]
      },
      {
        "id": "matru",
        "label": "Matru Rin",
        "label_hi": "मातृ ऋण",
        "of": "Mother",
        "present": true,
        "severity": "moderate",
        "reasons": [
          "Ketu in khana 4 fires this debt",
          "Ketu is manda there"
        ]
      },
      {
        "id": "stree",
        "label": "Stree Rin",
        "label_hi": "स्त्री ऋण",
        "of": "Women / the feminine",
        "present": false,
        "severity": "none",
        "reasons": []
      },
      {
        "id": "bhratru",
        "label": "Bhratru / Sambandhi Rin",
        "label_hi": "भ्रातृ / संबंधी ऋण",
        "of": "Brother / relatives",
        "present": false,
        "severity": "none",
        "reasons": []
      },
      {
        "id": "bahin",
        "label": "Bahin / Putri Rin",
        "label_hi": "बहन / पुत्री ऋण",
        "of": "Sister / daughter",
        "present": false,
        "severity": "none",
        "reasons": []
      },
      {
        "id": "nirdayi",
        "label": "Nirdayi Rin",
        "label_hi": "निर्दयी ऋण",
        "of": "Cruelty",
        "present": false,
        "severity": "none",
        "reasons": []
      },
      {
        "id": "ajanma",
        "label": "Ajanma Rin",
        "label_hi": "अजन्मा ऋण",
        "of": "The unborn",
        "present": false,
        "severity": "none",
        "reasons": []
      },
      {
        "id": "swa",
        "label": "Swa Rin",
        "label_hi": "स्व ऋण",
        "of": "Your own self",
        "present": false,
        "severity": "none",
        "reasons": []
      },
      {
        "id": "daiviya",
        "label": "Daiviya Rin",
        "label_hi": "दैविक ऋण",
        "of": "The divine / nature",
        "present": false,
        "severity": "none",
        "reasons": []
      }
    ]
  },
  "meta": {
    "request_id": "req_example",
    "api_version": "v1",
    "engine_version": "2026.9.28",
    "mode": "live",
    "credits_charged": 1,
    "ayanamsa": "lahiri",
    "house_system": "whole_sign",
    "node": "true",
    "timezone_used": {
      "name": "Asia/Kolkata",
      "utc_offset": "+05:30",
      "source": "auto"
    }
  },
  "warnings": []
}
Try it

Leave empty to use the shared demo key (limited). Test keys only: never charged. Kept in this browser tab and sent through this site to the API. Create one

Lal Kitab annual chart for a year of life

POST/v1/lal-kitab/varshphal

2 credits · Secret key (test or live) · getLalKitabVarshphal

Request body

  • birth Birth required
    • date string (date) required

      e.g. "1990-08-13"

    • time string

      pattern ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$ · e.g. "06:30"

    • time_accuracy string

      With "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.

      one of exact, approximate, unknown · default "exact"

    • place Coordinates or object or object required

      Coordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.

      One of:

      1. Coordinates
        Fields
        • latitude number required

          ≥ -90 · ≤ 90

        • longitude number required

          ≥ -180 · ≤ 180

        No other fields are accepted.

      2. object
        Fields
        • place_id string required

        No other fields are accepted.

      3. object
        Fields
        • query string required

          at least 2 characters · at most 120 characters

        No other fields are accepted.

    • timezone string

      "auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".

      default "auto"

    No other fields are accepted.

  • year integer required

    ≥ 1900 · ≤ 2100

  • options Options
    • ayanamsa string

      Each system is its Swiss Ephemeris definition (a constant offset from Lahiri). Applies to chart operations; KP operations always use KP-New and the personal muhurat stays Lahiri. meta.ayanamsa names the system used.

      one of lahiri, raman, krishnamurti, yukteshwar, fagan_bradley · default "lahiri"

    • house_system string

      one of whole_sign · default "whole_sign"

    • node string

      one of true, mean · default "true"

    • lang string

      one of en, hi · default "en"

    • view string

      compact drops labels and prose — for LLM callers.

      one of full, compact · default "full"

    No other fields are accepted.

No other fields are accepted.

Response

JSON { data, meta, warnings }, where data is:

  • running_year integer required
  • completed_age integer required
  • from string (date-time) required
  • to string (date-time) required
  • houses array of object required
    • house integer required
    • planets array of string required

Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.

Example request

curl -X POST 'https://api.astrologics.in/v1/lal-kitab/varshphal' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"year":2026}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/lal-kitab/varshphal", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "birth": {
      "date": "1990-08-13",
      "time": "06:30",
      "place": {
        "latitude": 28.6139,
        "longitude": 77.209
      }
    },
    "year": 2026
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "birth": {
        "date": "1990-08-13",
        "time": "06:30",
        "place": {
            "latitude": 28.6139,
            "longitude": 77.209,
        },
    },
    "year": 2026,
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/lal-kitab/varshphal",
    method="POST",
    headers={"Authorization": "Bearer al_test_YOUR_KEY", "Content-Type": "application/json"},
    data=json.dumps(body).encode(),
)
try:
    with urllib.request.urlopen(req) as res:
        print(json.dumps(json.load(res), indent=2, ensure_ascii=False))
except urllib.error.HTTPError as err:
    print(err.code, err.read().decode())
PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/lal-kitab/varshphal');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"year":2026}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 1,244 characters
{
  "data": {
    "running_year": 36,
    "completed_age": 35,
    "from": "2025-08-13T00:00:00.000Z",
    "to": "2026-08-13T00:00:00.000Z",
    "houses": [
      {
        "house": 1,
        "planets": []
      },
      {
        "house": 2,
        "planets": []
      },
      {
        "house": 3,
        "planets": []
      },
      {
        "house": 4,
        "planets": []
      },
      {
        "house": 5,
        "planets": []
      },
      {
        "house": 6,
        "planets": []
      },
      {
        "house": 7,
        "planets": []
      },
      {
        "house": 8,
        "planets": []
      },
      {
        "house": 9,
        "planets": []
      },
      {
        "house": 10,
        "planets": []
      },
      {
        "house": 11,
        "planets": []
      },
      {
        "house": 12,
        "planets": []
      }
    ]
  },
  "meta": {
    "request_id": "req_example",
    "api_version": "v1",
    "engine_version": "2026.9.28",
    "mode": "live",
    "credits_charged": 2,
    "ayanamsa": "lahiri",
    "house_system": "whole_sign",
    "node": "true",
    "timezone_used": {
      "name": "Asia/Kolkata",
      "utc_offset": "+05:30",
      "source": "auto"
    }
  },
  "warnings": []
}
Try it

Leave empty to use the shared demo key (limited). Test keys only: never charged. Kept in this browser tab and sent through this site to the API. Create one

Lal Kitab remedies, in the order to do them

POST/v1/lal-kitab/remedies

1 credit · Secret key (test or live) · getLalKitabRemedies

Request body

  • birth Birth required
    • date string (date) required

      e.g. "1990-08-13"

    • time string

      pattern ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$ · e.g. "06:30"

    • time_accuracy string

      With "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.

      one of exact, approximate, unknown · default "exact"

    • place Coordinates or object or object required

      Coordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.

      One of:

      1. Coordinates
        Fields
        • latitude number required

          ≥ -90 · ≤ 90

        • longitude number required

          ≥ -180 · ≤ 180

        No other fields are accepted.

      2. object
        Fields
        • place_id string required

        No other fields are accepted.

      3. object
        Fields
        • query string required

          at least 2 characters · at most 120 characters

        No other fields are accepted.

    • timezone string

      "auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".

      default "auto"

    No other fields are accepted.

  • options Options
    • ayanamsa string

      Each system is its Swiss Ephemeris definition (a constant offset from Lahiri). Applies to chart operations; KP operations always use KP-New and the personal muhurat stays Lahiri. meta.ayanamsa names the system used.

      one of lahiri, raman, krishnamurti, yukteshwar, fagan_bradley · default "lahiri"

    • house_system string

      one of whole_sign · default "whole_sign"

    • node string

      one of true, mean · default "true"

    • lang string

      one of en, hi · default "en"

    • view string

      compact drops labels and prose — for LLM callers.

      one of full, compact · default "full"

    No other fields are accepted.

No other fields are accepted.

Response

JSON { data, meta, warnings }, where data is:

  • remedies array of object required
    • kind string required
    • for string or null required

      One of:

      1. string
      2. null
    • title string required
    • title_hi string or null required

      One of:

      1. string
      2. null
    • remedy string required
    • remedy_hi string or null required

      One of:

      1. string
      2. null
    • why any required

Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.

Example request

curl -X POST 'https://api.astrologics.in/v1/lal-kitab/remedies' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/lal-kitab/remedies", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "birth": {
      "date": "1990-08-13",
      "time": "06:30",
      "place": {
        "latitude": 28.6139,
        "longitude": 77.209
      }
    }
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "birth": {
        "date": "1990-08-13",
        "time": "06:30",
        "place": {
            "latitude": 28.6139,
            "longitude": 77.209,
        },
    },
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/lal-kitab/remedies",
    method="POST",
    headers={"Authorization": "Bearer al_test_YOUR_KEY", "Content-Type": "application/json"},
    data=json.dumps(body).encode(),
)
try:
    with urllib.request.urlopen(req) as res:
        print(json.dumps(json.load(res), indent=2, ensure_ascii=False))
except urllib.error.HTTPError as err:
    print(err.code, err.read().decode())
PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/lal-kitab/remedies');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 4,179 characters
{
  "data": {
    "remedies": [
      {
        "kind": "rin",
        "for": "pitru",
        "title": "Pitru Rin",
        "title_hi": "पितृ ऋण",
        "remedy": "Collect an equal small amount from every blood relative and give all of it away at a temple on the same day.",
        "remedy_hi": "सभी रक्त-संबंधियों से बराबर-बराबर थोड़ी राशि एकत्र करें और उसी दिन मंदिर में दान कर दें।",
        "why": "Pitru Rin is carried — Mercury in khana 5"
      },
      {
        "kind": "rin",
        "for": "matru",
        "title": "Matru Rin",
        "title_hi": "मातृ ऋण",
        "remedy": "Collect silver from blood relatives and offer it into flowing water the same day.",
        "remedy_hi": "रक्त-संबंधियों से चाँदी एकत्र कर उसी दिन बहते जल में प्रवाहित करें।",
        "why": "Matru Rin is carried — Ketu in khana 4"
      },
      {
        "kind": "graha",
        "for": "Moon:1",
        "title": "Moon in khana 1",
        "title_hi": null,
        "remedy": "Keep a silver glass of water by the bed.",
        "remedy_hi": null,
        "why": "Moon sits in khana 1 (Nek, soya)"
      },
      {
        "kind": "graha",
        "for": "Mars:1",
        "title": "Mars in khana 1",
        "title_hi": null,
        "remedy": "Offer sweet rotis to dogs.",
        "remedy_hi": null,
        "why": "Mars sits in khana 1 (Nek, soya)"
      },
      {
        "kind": "graha",
        "for": "Mercury:5",
        "title": "Mercury in khana 5",
        "title_hi": null,
        "remedy": "Keep a green cloth or emerald near your study.",
        "remedy_hi": null,
        "why": "Mercury sits in khana 5 (Nek, soya)"
      },
      {
        "kind": "graha",
        "for": "Jupiter:4",
        "title": "Jupiter in khana 4",
        "title_hi": null,
        "remedy": "Keep a place of worship in the house.",
        "remedy_hi": null,
        "why": "Jupiter sits in khana 4 (Nek, jaagta)"
      },
      {
        "kind": "graha",
        "for": "Venus:4",
        "title": "Venus in khana 4",
        "title_hi": null,
        "remedy": "Keep the house clean and fragrant.",
        "remedy_hi": null,
        "why": "Venus sits in khana 4 (Manda, jaagta)"
      },
      {
        "kind": "graha",
        "for": "Saturn:9",
        "title": "Saturn in khana 9",
        "title_hi": null,
        "remedy": "Serve your father and elders.",
        "remedy_hi": null,
        "why": "Saturn sits in khana 9 (Sam, soya)"
      },
      {
        "kind": "graha",
        "for": "Saturn:9",
        "title": "Saturn in khana 9",
        "title_hi": null,
        "remedy": "Do religious work without announcing it.",
        "remedy_hi": null,
        "why": "Saturn sits in khana 9 (Sam, soya)"
      },
      {
        "kind": "graha",
        "for": "Rahu:10",
        "title": "Rahu in khana 10",
        "title_hi": null,
        "remedy": "Keep a solid silver item at your workplace.",
        "remedy_hi": null,
        "why": "Rahu sits in khana 10 (Nek, soya)"
      },
      {
        "kind": "graha",
        "for": "Ketu:4",
        "title": "Ketu in khana 4",
        "title_hi": null,
        "remedy": "Keep a saffron mark at the place of worship.",
        "remedy_hi": null,
        "why": "Ketu sits in khana 4 (Manda, jaagta)"
      },
      {
        "kind": "graha",
        "for": "Sun:4",
        "title": "Sun in khana 4",
        "title_hi": null,
        "remedy": "Donate wheat and jaggery on Sundays.",
        "remedy_hi": null,
        "why": "Sun sits in khana 4 (Nek, jaagta)"
      },
      {
        "kind": "graha",
        "for": "Moon:1",
        "title": "Moon in khana 1",
        "title_hi": null,
        "remedy": "Serve your mother; touch her feet daily.",
        "remedy_hi": null,
        "why": "Moon sits in khana 1 (Nek, soya)"
      }
    ]
  },
  "meta": {
    "request_id": "req_example",
    "api_version": "v1",
    "engine_version": "2026.9.28",
    "mode": "live",
    "credits_charged": 1,
    "ayanamsa": "lahiri",
    "house_system": "whole_sign",
    "node": "true",
    "timezone_used": {
      "name": "Asia/Kolkata",
      "utc_offset": "+05:30",
      "source": "auto"
    }
  },
  "warnings": []
}
Try it

Leave empty to use the shared demo key (limited). Test keys only: never charged. Kept in this browser tab and sent through this site to the API. Create one