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 / Encumbrance Certificate (Kaveri 2.0)

Karnataka search

Encumbrance Certificate (Kaveri 2.0) LIVE

Every registered transaction against a property since 1 January 2004, from the Karnataka sub-registrar records on Kaveri 2.0.

Typical time
up to 10 min
Source status
No recent runs
search_type
ec

What you get

Each registered document with its parties, dates and values, plus the portal’s own EC (Form 15, or Form 16 when nothing is registered).

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”kaveri_district lookup, option meta “value”
talukstringRequiredfrom lookup “taluk”kaveri_taluk lookup, option meta “value”
hoblistringRequiredfrom lookup “hobli”kaveri_hobli lookup, option meta “value”
villagestringRequiredfrom lookup “village”kaveri_village lookup, option meta “value”
property_kindstringRequiredagriculturalfield "property_kind"
survey_numberstringConditional201/1field "survey_number"
from_datestringOptional2024-01-01field "from_date"
to_datestringOptional2024-01-01field "to_date"

Field details

FieldTypeNotes
district
District
lookupAs Kaveri lists it. Bengaluru is split into registration districts such as Basavanagudi, Jayanagar and Shivajinagar.
taluk
Taluk
lookup
hobli
Hobli
lookup
village
Village
lookup
property_kind
Property Type
selectValues: agricultural (Agricultural land (survey number)), non_agricultural (Non-agricultural (site, flat, house, khata)).
survey_number
Survey and Hissa Number
textSurvey and hissa together, exactly as on the deed, e.g. 201/1. Kaveri matches it as written. Only when property_kind is "agricultural". Max 60 characters.
property_number_type
Property Number Type
lookupWhat the number below is: Site No, Flat No, Khata No, BBMP PID and so on. Only when property_kind is "non_agricultural".
property_number
Property Number
textAs written on the deed. Kaveri matches it as written. Only when property_kind is "non_agricultural". Max 100 characters.
from_date
From
dateOptional. 1 January 2004 if left blank, the earliest Kaveri searches online. Earliest 2004-01-01.
to_date
To
dateOptional. Today if left blank. Earliest 2004-01-01.

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
districtkaveri_district-GET /api/v1/search/lookups?state=karnataka&dim=kaveri_district&q=<name>
talukkaveri_talukdistrictGET /api/v1/search/lookups?state=karnataka&dim=kaveri_taluk&q=<name>&district=<code>
hoblikaveri_hoblidistrict, talukGET /api/v1/search/lookups?state=karnataka&dim=kaveri_hobli&q=<name>&district=<code>&taluk=<code>
villagekaveri_villagedistrict, taluk, hobliGET /api/v1/search/lookups?state=karnataka&dim=kaveri_village&q=<name>&district=<code>&taluk=<code>&hobli=<code>
property_number_typekaveri_property_type-GET /api/v1/search/lookups?state=karnataka&dim=kaveri_property_type&q=<name>

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": "ec",
  "params": {
    "district": "<district.value>",
    "taluk": "<taluk.value>",
    "hobli": "<hobli.value>",
    "village": "<village.value>",
    "property_kind": "agricultural",
    "survey_number": "201/1",
    "from_date": "2024-01-01",
    "to_date": "2024-01-01"
  },
  "label": "Encumbrance Certificate (Kaveri 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": "karnataka",
      "search_type": "ec",
      "params": {
        "district": "<district.value>",
        "taluk": "<taluk.value>",
        "hobli": "<hobli.value>",
        "village": "<village.value>",
        "property_kind": "agricultural",
        "survey_number": "201/1",
        "from_date": "2024-01-01",
        "to_date": "2024-01-01"
      },
      "label": "Encumbrance Certificate (Kaveri 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": "karnataka",
    "search_type": "ec",
    "params": {
      "district": "<district.value>",
      "taluk": "<taluk.value>",
      "hobli": "<hobli.value>",
      "village": "<village.value>",
      "property_kind": "agricultural",
      "survey_number": "201/1",
      "from_date": "2024-01-01",
      "to_date": "2024-01-01"
    },
    "label": "Encumbrance Certificate (Kaveri 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": "karnataka",
        "search_type": "ec",
        "label": "Encumbrance Certificate (Kaveri 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": "karnataka",
    "search_type": "ec",
    "label": "Encumbrance Certificate (Kaveri 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}.

PreviousRevenue Court Cases (RCCMS)NextRural Property Record (e-Swathu)