Madhya Pradesh search
Habitation (Aabadi) Rights Record HELD
The rights record for a habitation (aabadi) parcel: its area, land type, the owners on its title and any mortgage, diversion or prohibition flags.
This search is temporarily unavailable. A submit is refused with 422 search_unavailable and nothing is charged. This page updates when the hold is lifted.
What you get
The parcel and its owners as data, plus the habitation record as a PDF.
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.
| Name | Type | Required | Example | Comes from |
|---|---|---|---|---|
loc_id | string | Required | from lookup “loc_id” | mp_aabadi_village lookup, option meta “loc_id” |
parcel_id | string | Required | 1234567 | field "parcel_id" |
Field details
| Field | Type | Notes |
|---|---|---|
districtDistrict | lookup | |
tehsilTehsil | lookup | |
loc_idVillage | lookup | |
parcel_idAabadi Parcel ID | text | The portal’s numeric parcel id. Habitation parcels have no khasra to search by. 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).
| Field | Lookup | Needs first | Example call |
|---|---|---|---|
district | mp_aabadi_district | - | GET /api/v1/search/lookups?state=madhya_pradesh&dim=mp_aabadi_district&q=<name> |
tehsil | mp_aabadi_tehsil | district | GET /api/v1/search/lookups?state=madhya_pradesh&dim=mp_aabadi_tehsil&q=<name>&district=<code> |
loc_id | mp_aabadi_village | district, tehsil | GET /api/v1/search/lookups?state=madhya_pradesh&dim=mp_aabadi_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": "aabadi_adhikar_abhilekh",
"params": {
"loc_id": "<loc_id.loc_id>",
"parcel_id": "1234567"
},
"label": "Habitation (Aabadi) Rights Record - 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": "aabadi_adhikar_abhilekh",
"params": {
"loc_id": "<loc_id.loc_id>",
"parcel_id": "1234567"
},
"label": "Habitation (Aabadi) Rights Record - 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": "aabadi_adhikar_abhilekh",
"params": {
"loc_id": "<loc_id.loc_id>",
"parcel_id": "1234567"
},
"label": "Habitation (Aabadi) Rights Record - case 8841"
}),
});
if (!resp.ok) throw new Error(await resp.text());
console.log(await resp.json());Sample responses
202 Accepted, at submit
{
"data": {
"searches": [
{
"id": "SRCH-2026-A1B2C3D4",
"state": "madhya_pradesh",
"search_type": "aabadi_adhikar_abhilekh",
"label": "Habitation (Aabadi) Rights Record - 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
{
"data": {
"id": "SRCH-2026-A1B2C3D4",
"state": "madhya_pradesh",
"search_type": "aabadi_adhikar_abhilekh",
"label": "Habitation (Aabadi) Rights Record - 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}.