LLegiScoreSearch API
Get an API key
Get started
IntroductionAuthenticationQuickstartSearch lifecycleErrorsWebhooksCreditsGet an API key
API reference
Credit balancegetCataloggetLookupsgetSearchespost
States
All states
All Telangana searchesEncumbrance CertificateProhibitory Orders (22A)Property TaxProperty Tax (Greater Hyderabad)held
View as Markdownllms-full.txt
States / Telangana / Property Tax

Telangana search

Property Tax LIVE

The municipal tax account for a property, and whether anything is outstanding on it. Covers the CDMA municipalities outside Greater Hyderabad (cdma.cgg.gov.in); Greater Hyderabad, including the outer-ring towns now under GHMC, runs a separate system and is not searched here.

Typical time
up to 4 min
Source status
No recent runs
search_type
property_tax

What you get

Assessment details, owner of record and dues, plus a receipt PDF per property.

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

ptin, door_no: Give a PTIN or a door number.

NameTypeRequiredExampleComes from
district_codestringRequiredfrom lookup “district”tax_district lookup, option meta “district_code”
district_namestringRequiredfrom lookup “district”tax_district lookup, option meta “label”
municipality_codestringRequiredfrom lookup “municipality”municipality lookup, option meta “municipality_code”
municipality_namestringRequiredfrom lookup “municipality”municipality lookup, option meta “label”
ptinstringOne of1112007423field "ptin"
door_nostringOne of8-3-231/A/1field "door_no"

Field details

FieldTypeNotes
district
District
lookup
municipality
Municipality
lookup
ptin
PTIN
textThe portal’s own name for the assessment number. Ten digits.
door_no
Door Number
textNo commas. A door number pasted off a deed often carries one -- drop everything from the comma onwards.

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
districttax_district-GET /api/v1/search/lookups?state=telangana&dim=tax_district&q=<name>
municipalitymunicipalitydistrictGET /api/v1/search/lookups?state=telangana&dim=municipality&q=<name>&district=<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": "telangana",
  "search_type": "property_tax",
  "params": {
    "district_code": "<district.district_code>",
    "district_name": "<district.label>",
    "municipality_code": "<municipality.municipality_code>",
    "municipality_name": "<municipality.label>",
    "ptin": "1112007423",
    "door_no": "8-3-231/A/1"
  },
  "label": "Property Tax - 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": "telangana",
      "search_type": "property_tax",
      "params": {
        "district_code": "<district.district_code>",
        "district_name": "<district.label>",
        "municipality_code": "<municipality.municipality_code>",
        "municipality_name": "<municipality.label>",
        "ptin": "1112007423",
        "door_no": "8-3-231/A/1"
      },
      "label": "Property Tax - 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": "telangana",
    "search_type": "property_tax",
    "params": {
      "district_code": "<district.district_code>",
      "district_name": "<district.label>",
      "municipality_code": "<municipality.municipality_code>",
      "municipality_name": "<municipality.label>",
      "ptin": "1112007423",
      "door_no": "8-3-231/A/1"
    },
    "label": "Property Tax - 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": "telangana",
        "search_type": "property_tax",
        "label": "Property Tax - 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": "telangana",
    "search_type": "property_tax",
    "label": "Property Tax - 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}.

PreviousProhibitory Orders (22A)NextProperty Tax (Greater Hyderabad)