Kerala search
The government-notified fair value of a survey parcel, the minimum value stamp duty is charged on.
The notified value per Are for each sub-division and land class, including later RDO notifications and Collector appeal fixations, with the Kerala Gazette extract as a PDF.
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” | kerala_igr_district lookup, option meta “label” |
taluk | string | Required | from lookup “taluk” | kerala_igr_taluk lookup, option meta “label” |
village | string | Required | from lookup “village” | kerala_igr_village lookup, option meta “label” |
survey_no | string | Required | 2 | field "survey_no" |
subdiv_no | string | Optional | Optional | field "subdiv_no" |
block_no | string | Optional | Optional | field "block_no" |
resurvey_no | string | Optional | Optional | field "resurvey_no" |
| Field | Type | Notes |
|---|---|---|
districtDistrict | lookup | |
talukTaluk | lookup | |
villageVillage | lookup | As the Registration Department lists it. |
survey_noSurvey Number | text | Leading zeros are optional: 2 also finds the register's 02. Max 20 characters. |
subdiv_noSub-division | text | Max 20 characters. |
block_noBlock Number | text | Max 20 characters. |
resurvey_noRe-survey Number | text | For digitally re-surveyed villages. Max 20 characters. |
land_typeLand Type | select | Leave on all classes unless the deed states one. Values: (All land classes), Coastal belt (Coastal belt), Commercially important Plot (Commercially important Plot), Dry Land (Dry Land), Garden Land with road access (Garden Land with road access), Garden Land without road access (Garden Land without road access), Government Property (Government Property), Hill Tract with road access (Hill Tract with road access). |
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 | kerala_igr_district | - | GET /api/v1/search/lookups?state=kerala&dim=kerala_igr_district&q=<name> |
taluk | kerala_igr_taluk | district | GET /api/v1/search/lookups?state=kerala&dim=kerala_igr_taluk&q=<name>&district=<code> |
village | kerala_igr_village | district, taluk | GET /api/v1/search/lookups?state=kerala&dim=kerala_igr_village&q=<name>&district=<code>&taluk=<code> |
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": "kerala",
"search_type": "fair_value",
"params": {
"district": "<district.label>",
"taluk": "<taluk.label>",
"village": "<village.label>",
"survey_no": "2",
"subdiv_no": "Optional",
"block_no": "Optional",
"resurvey_no": "Optional"
},
"label": "Fair Value of Land (IGR) - 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": "kerala",
"search_type": "fair_value",
"params": {
"district": "<district.label>",
"taluk": "<taluk.label>",
"village": "<village.label>",
"survey_no": "2",
"subdiv_no": "Optional",
"block_no": "Optional",
"resurvey_no": "Optional"
},
"label": "Fair Value of Land (IGR) - 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": "kerala",
"search_type": "fair_value",
"params": {
"district": "<district.label>",
"taluk": "<taluk.label>",
"village": "<village.label>",
"survey_no": "2",
"subdiv_no": "Optional",
"block_no": "Optional",
"resurvey_no": "Optional"
},
"label": "Fair Value of Land (IGR) - case 8841"
}),
});
if (!resp.ok) throw new Error(await resp.text());
console.log(await resp.json());{
"data": {
"searches": [
{
"id": "SRCH-2026-A1B2C3D4",
"state": "kerala",
"search_type": "fair_value",
"label": "Fair Value of Land (IGR) - 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
}
}{
"data": {
"id": "SRCH-2026-A1B2C3D4",
"state": "kerala",
"search_type": "fair_value",
"label": "Fair Value of Land (IGR) - 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}.
Hill Tract without road access (Hill Tract without road access)Others (Others)Residential & commercial property without road access (Residential & commercial property without road access)Residential Plot with Corp./Mun./Panch. road access (Residential Plot with Corp./Mun./Panch. road access)Residential Plot with NH/PWD road access (Residential Plot with NH/PWD road access)Residential Plot with private road access (Residential Plot with private road access)Residential plot without private road access (Residential plot without private road access)Residential Plot without vehicular access (Residential Plot without vehicular access)Rocky land (Rocky land)Waste land (Waste land)Water logged land (Water logged land)Wet land (Wet land)