LLegiScoreSearch API
Get an API key
Get started
IntroductionAuthenticationQuickstartSearch lifecycleErrorsWebhooksCreditsGet an API key
API reference
Credit balancegetCataloggetLookupsgetSearchespost
States
All states
All Karnataka searchesRevenue Court Cases (RCCMS)Encumbrance Certificate (Kaveri 2.0)Rural Property Record (e-Swathu)RTC / Pahani (Bhoomi)heldAkarband / Survey Sketch (Bhoomojini)Village Map (Bhoomi)Mutation register extracts (Bhoomi)Mutation history (Bhoomi)Pending mutations & cases (eChawadi)Land conversion status (DC)Final land conversion order (DC)Land conversion order, any year (Bhoomi mutation register)Form 57 applications (govt land regularisation)Survey applications (Mojini)Digitised survey sketch (Bhoomi)Scanned survey records (Bhoomi)Land Details report (Bhoomi Land Stack)Original Tippan scans (Bhoomi Land Stack)Bengaluru Khata by PID (BBMP)Bengaluru registrability check by PID (BBMP)Bengaluru e-Khata by Document No (BBMP)Land Use / Zoning (BDA and BMRDA master plan)Survey Number at a Map PointUrban e-Khata Form-3 (e-Aasthi)Urban property: can it be registered? (e-Aasthi)Bengaluru e-Khata by ePID (GBA)
View as Markdownllms-full.txt
States / Karnataka / Land Details report (Bhoomi Land Stack)

Karnataka search

Land Details report (Bhoomi Land Stack) LIVE

One land report for a survey number: owners, the RTC, every mutation with its Form 12, the Akarband, revenue court cases and ongoing land conversion applications.

Typical time
up to 15 min
Source status
No recent runs
search_type
rdgis_parcel

What you get

A consolidated report PDF (and the same report as a web page) per survey, plus the Akarband PDF where Bhoomi holds one. Conversions list ongoing applications only, not final orders.

Request parameters

These are the keys of params in the request body. A value shown as from lookup is a code you get by searching for the item by name first, not text you type.

NameTypeRequiredExampleComes from
districtstringRequiredfrom lookup “district”bhoomi_district lookup, option meta “value”
talukstringRequiredfrom lookup “taluk”bhoomi_taluk lookup, option meta “value”
hoblistringRequiredfrom lookup “hobli”bhoomi_hobli lookup, option meta “value”
villagestringRequiredfrom lookup “village”bhoomi_village lookup, option meta “value”
survey_nostringRequired201field "survey_no"
hissastringOptional1field "hissa"
surnocstringOptional*field "surnoc"

Field details

FieldTypeNotes
district
District
lookup
taluk
Taluk
lookup
hobli
Hobli
lookupSplit hoblis are listed separately, e.g. Kengeri - 1 to Kengeri - 4.
village
Village
lookup
survey_no
Survey Number
textThe survey number, or survey/hissa such as 201/1.
hissa
Hissa
textOptional but faster. Blank reports every hissa of the survey, up to 10. Max 10 characters.
surnoc
Surnoc
textOptional. Leave blank unless the RTC prints one. Max 10 characters.

Resolve names to codes

Search for each item by name, take the code from the match and pass it in params. A lookup needs a query of at least 2 characters and returns at most 10 matches (details).

FieldLookupNeeds firstExample call
districtbhoomi_district-GET /api/v1/search/lookups?state=karnataka&dim=bhoomi_district&q=<name>
talukbhoomi_talukdistrictGET /api/v1/search/lookups?state=karnataka&dim=bhoomi_taluk&q=<name>&district=<code>
hoblibhoomi_hoblidistrict, talukGET /api/v1/search/lookups?state=karnataka&dim=bhoomi_hobli&q=<name>&district=<code>&taluk=<code>
villagebhoomi_villagedistrict, taluk, hobliGET /api/v1/search/lookups?state=karnataka&dim=bhoomi_village&q=<name>&district=<code>&taluk=<code>&hobli=<code>

Example request

Replace each <...> with the value from its lookup match, and the sample values with your own.

curl -X POST "https://legiscore.in/api/v1/search" \
  -H "Authorization: Bearer lsk_your_api_key" \
  -H "Idempotency-Key: los-case-8841" \
  -H "Content-Type: application/json" \
  -d '{
  "state": "karnataka",
  "search_type": "rdgis_parcel",
  "params": {
    "district": "<district.value>",
    "taluk": "<taluk.value>",
    "hobli": "<hobli.value>",
    "village": "<village.value>",
    "survey_no": "201",
    "hissa": "1",
    "surnoc": "*"
  },
  "label": "Land Details report (Bhoomi Land Stack) - case 8841"
}'
import requests

resp = requests.post(
    "https://legiscore.in/api/v1/search",
    headers={"Authorization": "Bearer lsk_your_api_key", "Idempotency-Key": "los-case-8841"},
    json={
      "state": "karnataka",
      "search_type": "rdgis_parcel",
      "params": {
        "district": "<district.value>",
        "taluk": "<taluk.value>",
        "hobli": "<hobli.value>",
        "village": "<village.value>",
        "survey_no": "201",
        "hissa": "1",
        "surnoc": "*"
      },
      "label": "Land Details report (Bhoomi Land Stack) - case 8841"
    },
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://legiscore.in/api/v1/search", {
  method: "POST",
  headers: { Authorization: "Bearer lsk_your_api_key", "Idempotency-Key": "los-case-8841", "Content-Type": "application/json" },
  body: JSON.stringify({
    "state": "karnataka",
    "search_type": "rdgis_parcel",
    "params": {
      "district": "<district.value>",
      "taluk": "<taluk.value>",
      "hobli": "<hobli.value>",
      "village": "<village.value>",
      "survey_no": "201",
      "hissa": "1",
      "surnoc": "*"
    },
    "label": "Land Details report (Bhoomi Land Stack) - case 8841"
  }),
});
if (!resp.ok) throw new Error(await resp.text());
console.log(await resp.json());

Sample responses

202 Accepted, at submit

json
{
  "data": {
    "searches": [
      {
        "id": "SRCH-2026-A1B2C3D4",
        "state": "karnataka",
        "search_type": "rdgis_parcel",
        "label": "Land Details report (Bhoomi Land Stack) - case 8841",
        "status": "queued",
        "progress": 0,
        "note": null,
        "found": null,
        "records": null,
        "record_count": null,
        "documents": [],
        "error": null,
        "refunded": false,
        "replayed": false,
        "batch_id": null,
        "recovery_of": null,
        "source": "api",
        "created_at": "2026-10-05T10:00:00Z",
        "completed_at": null
      }
    ],
    "rejected": [],
    "replayed": {
      "free": 0,
      "billed": 0,
      "idempotent": 0
    },
    "batch_id": null
  }
}

200 OK, GET /api/v1/search/{id} once finished

json
{
  "data": {
    "id": "SRCH-2026-A1B2C3D4",
    "state": "karnataka",
    "search_type": "rdgis_parcel",
    "label": "Land Details report (Bhoomi Land Stack) - case 8841",
    "status": "succeeded",
    "progress": 100,
    "note": null,
    "found": true,
    "records": [
      {
        "...": "one object per row the source returned; shape varies by search"
      }
    ],
    "record_count": 1,
    "documents": [
      {
        "filename": "result.pdf",
        "content_type": "application/pdf",
        "bytes": 184233,
        "withheld": false
      }
    ],
    "error": null,
    "refunded": false,
    "replayed": false,
    "batch_id": null,
    "recovery_of": null,
    "source": "api",
    "created_at": "2026-10-05T10:00:00Z",
    "completed_at": "2026-10-05T10:03:12Z"
  }
}

records holds one object per row the source returned. Its shape is specific to this search. Documents are fetched with GET /api/v1/search/{id}/documents/{filename}.

PreviousScanned survey records (Bhoomi)NextOriginal Tippan scans (Bhoomi Land Stack)