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 / Scanned survey records (Bhoomi)

Karnataka search

Scanned survey records (Bhoomi) LIVE

Historic survey and settlement records held for a survey number: Tippan sketches, Pakka Book, Prathi, Hissa Atlas and Kayam Dara Takhte.

Typical time
up to 6 min
Source status
No recent runs
search_type
survey_documents

What you get

Every scanned survey record the portal holds for the survey, with a View Only preview PDF of each. Previews are watermarked and are not certified copies.

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"

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
textSurvey number, e.g. 201. A hissa after a slash (201/1) is accepted but not narrowed -- every scanned record on the whole survey is listed either way.

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": "survey_documents",
  "params": {
    "district": "<district.value>",
    "taluk": "<taluk.value>",
    "hobli": "<hobli.value>",
    "village": "<village.value>",
    "survey_no": "201"
  },
  "label": "Scanned survey records (Bhoomi) - 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": "survey_documents",
      "params": {
        "district": "<district.value>",
        "taluk": "<taluk.value>",
        "hobli": "<hobli.value>",
        "village": "<village.value>",
        "survey_no": "201"
      },
      "label": "Scanned survey records (Bhoomi) - 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": "survey_documents",
    "params": {
      "district": "<district.value>",
      "taluk": "<taluk.value>",
      "hobli": "<hobli.value>",
      "village": "<village.value>",
      "survey_no": "201"
    },
    "label": "Scanned survey records (Bhoomi) - 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": "survey_documents",
        "label": "Scanned survey records (Bhoomi) - 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": "survey_documents",
    "label": "Scanned survey records (Bhoomi) - 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}.

PreviousDigitised survey sketch (Bhoomi)NextLand Details report (Bhoomi Land Stack)