Karnataka search
Original Tippan scans (Bhoomi Land Stack) LIVE
The original Tippan survey sketches held for a survey number, as scanned by the Survey Department.
What you get
The scanned Tippan pages for the survey as PDFs. Each page is checked against its printed header, and a scan for a different village or survey is refused.
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 |
|---|---|---|---|---|
district | string | Required | from lookup “district” | bhoomi_district lookup, option meta “value” |
taluk | string | Required | from lookup “taluk” | bhoomi_taluk lookup, option meta “value” |
hobli | string | Required | from lookup “hobli” | bhoomi_hobli lookup, option meta “value” |
village | string | Required | from lookup “village” | bhoomi_village lookup, option meta “value” |
survey_no | string | Required | 201 | field "survey_no" |
Field details
| Field | Type | Notes |
|---|---|---|
districtDistrict | lookup | |
talukTaluk | lookup | |
hobliHobli | lookup | Split hoblis are listed separately, e.g. Kengeri - 1 to Kengeri - 4. |
villageVillage | lookup | |
survey_noSurvey Number | text | Survey 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).
| Field | Lookup | Needs first | Example call |
|---|---|---|---|
district | bhoomi_district | - | GET /api/v1/search/lookups?state=karnataka&dim=bhoomi_district&q=<name> |
taluk | bhoomi_taluk | district | GET /api/v1/search/lookups?state=karnataka&dim=bhoomi_taluk&q=<name>&district=<code> |
hobli | bhoomi_hobli | district, taluk | GET /api/v1/search/lookups?state=karnataka&dim=bhoomi_hobli&q=<name>&district=<code>&taluk=<code> |
village | bhoomi_village | district, taluk, hobli | GET /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_tippan",
"params": {
"district": "<district.value>",
"taluk": "<taluk.value>",
"hobli": "<hobli.value>",
"village": "<village.value>",
"survey_no": "201"
},
"label": "Original Tippan scans (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_tippan",
"params": {
"district": "<district.value>",
"taluk": "<taluk.value>",
"hobli": "<hobli.value>",
"village": "<village.value>",
"survey_no": "201"
},
"label": "Original Tippan scans (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_tippan",
"params": {
"district": "<district.value>",
"taluk": "<taluk.value>",
"hobli": "<hobli.value>",
"village": "<village.value>",
"survey_no": "201"
},
"label": "Original Tippan scans (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
{
"data": {
"searches": [
{
"id": "SRCH-2026-A1B2C3D4",
"state": "karnataka",
"search_type": "rdgis_tippan",
"label": "Original Tippan scans (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
{
"data": {
"id": "SRCH-2026-A1B2C3D4",
"state": "karnataka",
"search_type": "rdgis_tippan",
"label": "Original Tippan scans (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}.