LLegiScoreSearch API
Get an API key
Get started
IntroductionAuthenticationQuickstartSearch lifecycleErrorsWebhooksCreditsGet an API key
API reference
Credit balancegetCataloggetLookupsgetSearchespost
States
All states
All Madhya Pradesh searchesLand Record by Khasra (WebGIS 2.0)Record Room Documents (WebGIS 2.0)Civil Court Cases on a Parcel (WebGIS 2.0)Habitation (Aabadi) Rights Recordheld
View as Markdownllms-full.txt
States / Madhya Pradesh / Land Record by Khasra (WebGIS 2.0)

Madhya Pradesh search

Land Record by Khasra (WebGIS 2.0) LIVE

The land record for one khasra: its area and land class, the owners on the parcel, any civil court cases filed on it, and the record room’s scanned documents.

Typical time
up to 7 min
Source status
No recent runs
search_type
bhu_abhilekh

What you get

The parcel, its owners and its court cases as data, a summary PDF, and up to 25 of the record room’s scanned documents as PDFs.

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.

At least one of

khasra_number, parcel_id: Give the khasra number of the land, or its parcel ID.

NameTypeRequiredExampleComes from
loc_idstringRequiredfrom lookup “loc_id”mp_village lookup, option meta “loc_id”
khasra_numberstringOne of323/2field "khasra_number"
parcel_idstringOne ofOptionalfield "parcel_id"

Field details

FieldTypeNotes
district
District
lookup
tehsil
Tehsil
lookup
loc_id
Village
lookup
khasra_number
Khasra Number
textMax 40 characters.
parcel_id
Parcel ID
textThe portal’s own numeric parcel id. Not the ULPIN: that cannot be searched. Max 20 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
districtmp_district-GET /api/v1/search/lookups?state=madhya_pradesh&dim=mp_district&q=<name>
tehsilmp_tehsildistrictGET /api/v1/search/lookups?state=madhya_pradesh&dim=mp_tehsil&q=<name>&district=<code>
loc_idmp_villagedistrict, tehsilGET /api/v1/search/lookups?state=madhya_pradesh&dim=mp_village&q=<name>&district=<code>&tehsil=<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": "madhya_pradesh",
  "search_type": "bhu_abhilekh",
  "params": {
    "loc_id": "<loc_id.loc_id>",
    "khasra_number": "323/2",
    "parcel_id": "Optional"
  },
  "label": "Land Record by Khasra (WebGIS 2.0) - 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": "madhya_pradesh",
      "search_type": "bhu_abhilekh",
      "params": {
        "loc_id": "<loc_id.loc_id>",
        "khasra_number": "323/2",
        "parcel_id": "Optional"
      },
      "label": "Land Record by Khasra (WebGIS 2.0) - 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": "madhya_pradesh",
    "search_type": "bhu_abhilekh",
    "params": {
      "loc_id": "<loc_id.loc_id>",
      "khasra_number": "323/2",
      "parcel_id": "Optional"
    },
    "label": "Land Record by Khasra (WebGIS 2.0) - 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": "madhya_pradesh",
        "search_type": "bhu_abhilekh",
        "label": "Land Record by Khasra (WebGIS 2.0) - 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": "madhya_pradesh",
    "search_type": "bhu_abhilekh",
    "label": "Land Record by Khasra (WebGIS 2.0) - 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}.

PreviousMadhya PradeshNextRecord Room Documents (WebGIS 2.0)