Revenue Court Case API for Tamil Nadu
Yes. The LandLens revenue court API searches the Tamil Nadu revenue department's revenue court register for cases recorded against a survey number: patta disputes, appeals and other petitions heard by the revenue officers rather than the civil courts. Send the district, taluk and village codes and the survey number. You get back each case on the survey with its petitioner, respondent, filing date and whether it is pending or disposed. It costs 2 credits when a case comes back; a search that finds none is not charged.
https://verified.realestate/api/v1/tools/court_cersai- Price
- 2 credits per answer
- Source
- Revenue department revenue court register
- Coverage
- Tamil Nadu revenue villages, by survey
- Answers in
- Usually 5 to 15 seconds
Example
curl -X POST https://verified.realestate/api/v1/tools/court_cersai \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"subject":"revenue_court","district_code":"24","taluk_code":"14","village_code":"025","survey_number":"119"}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"register": "revenue_court",
"survey_number": "119",
"count": 10,
"cases": [
{
"case_status": "Disposed",
"petitioners": "Executive Officer",
"respondents": "T Ganesalingam S o Dharmalingam",
"filing_date": "2017-03-07 00:00:00",
"survey_number": "119"
},
{
"case_status": "Pending",
"petitioners": "Arulmigu Eadaganathaswamy Thirukkovil",
"respondents": "Senbagalingam",
"filing_date": "2017-03-07 00:00:00",
"survey_number": "119"
}
]
},
"credits_quoted": 2,
"credits_charged": 2,
"credits_waived": 0
}
A real answer from the API, trimmed to two of its ten cases, with each row shown by its plain field names only (the register's own spellings of the same values are left out).
What it returns
One call, one answer. found is false (status not_found) when the register holds no case for the survey, and then nothing is charged.
| Field | What it holds |
|---|---|
found | true when at least one case is recorded against the survey. |
cases[] | Each case: petitioners, respondents, filing_date, case_status (Pending or Disposed), survey_number, and case_number when the register gives one. Rows also repeat these values under the register's own field spellings. |
count | How many cases are in cases. At most 15 are returned. |
survey_number | The survey that was searched, with its sub-division when you sent one. |
register | Always revenue_court for this subject. |
message | The register's own line when no case is recorded, or why the search could not be run. |
Inputs
The JSON body of the POST is the arguments. Only subject is required by the schema, but this search needs the three revenue codes and a survey number. A call without them answers not_found with what is missing, and charges nothing.
| Argument | Type | What to send |
|---|---|---|
subjectrequired |
string: revenue_court, civil_court, cersai, ecourt | Send "revenue_court" for this search. The same call also carries the CERSAI, civil court and name searches, which have their own pages. |
district_code |
string | Revenue district code, e.g. 03. resolve_parcel (from a map point) and resolve_revenue_codes (from names) return it free. |
taluk_code |
string | Revenue taluk code, e.g. 14. |
village_code |
string | Revenue village code, e.g. 196. |
survey_number |
string | The survey number WITHOUT the sub-division, e.g. 65 for 65/4B. |
sub_division |
string | The sub-division, e.g. 4B. Leave it out to search the whole survey. |
city |
string | City / town / village (cersai: the portal requires it; if unknown, pass lat/lng instead and it is resolved automatically) |
cnr_number |
string | CNR number like TNCC01-001234-2024 (civil_court) |
district_name |
string | District NAME, e.g. Chennai (cersai) |
door_no |
string | Door number (cersai, alternative to survey) |
lat |
number | Latitude of the parcel (cersai: used to auto-resolve the PIN code and city when they are not known) |
lng |
number | Longitude of the parcel (cersai: used with lat) |
owner_name |
string | Person / owner name (cersai, ecourt) |
pincode |
string | 6 digit PIN code (cersai: the portal requires it; if unknown, pass lat/lng instead and it is resolved automatically - do NOT ask the user for a PIN code the map already knows) |
plot_no |
string | Plot number (cersai, alternative to survey) |
Code
Set LANDLENS_KEY to your key. In an AI app, connect https://verified.realestate/mcp once and ask in plain words instead. In Postman, download this API's collection, import it (File, Import) and set apiKey.
curl -X POST https://verified.realestate/api/v1/tools/court_cersai \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"subject":"revenue_court","district_code":"24","taluk_code":"14","village_code":"025","survey_number":"119"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/court_cersai",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"subject": "revenue_court",
"district_code": "24",
"taluk_code": "14",
"village_code": "025",
"survey_number": "119"
},
timeout=60,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/court_cersai", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"subject": "revenue_court",
"district_code": "24",
"taluk_code": "14",
"village_code": "025",
"survey_number": "119"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
Is there any revenue court case on survey 65/4B in Kavanoor village, Kundrathur taluk, Kancheepuram district?
Your AI finds the village codes itself and searches the revenue court register.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | At least one case is recorded against the survey. Charged. |
not_found | No case is recorded against the survey, or the codes or survey number were missing, or the register could not be reached (message or error says which). Not charged. |
insufficient_credits | HTTP 402, with the credits needed, your balance and where to top up. |
error | The call failed on our side. Nothing is charged. |
Where the data comes from
The revenue court register the Tamil Nadu revenue department keeps against survey numbers: petitions on land heard by the Tahsildar, the Revenue Divisional Officer and the officers above them, recorded under the survey they concern.
Revenue villages across Tamil Nadu, searched one survey number at a time, with or without its sub-division. Cases in the civil courts are not in this register; search those by CNR number or by a party's name.
Live. Each call reads the register at that moment, so a petition shows as soon as the revenue office has entered it.
The register is searched for the survey and sub-division you send, and up to 15 cases are returned. The register writes the status as a single letter; it is spelled out as Pending or Disposed, and the original stays on the row.
Who uses it
Law firms
Add the revenue court position to a title opinion: a pending patta dispute is a question for the seller before the sale deed, not after.
Banks and NBFCs
Screen a survey for revenue litigation at the same time as the EC, before the file reaches the advocate.
Land aggregators
Run every survey in a block through the register and set aside the ones with pending petitions.
Limits and good practice
- Revenue courts only. A civil suit over the same land is in the civil courts; search it by CNR number or by the party's name.
- The register files cases by survey number, often without the sub-division. A case on survey 119 may concern a neighbouring sub-division; read the parties before treating it as a case on your parcel.
- No case recorded is not a clean title. It means the revenue register holds nothing against this survey.
- Many revenue court rows carry no case number or court name. The parties and filing date are what identify the case when you ask the revenue office for it.
- At most 15 cases are returned for one survey.
Pricing
A search costs 2 credits when it returns a case. A search that finds no case, or cannot be run, is not charged. Credits come from the same LandLens wallet as the chat and the minis. How billing works.
For thousands of calls a month, a portfolio sweep or a platform built on these registers, we quote a customised bulk price, with invoicing to match.
Questions
Is there an API for revenue court cases in Tamil Nadu?
The revenue department publishes its revenue court register as a search form for one survey at a time. LandLens searches it for you and returns the cases as JSON, over plain HTTPS or as an MCP tool your AI assistant can call.
What is a revenue court case?
A petition on land heard by revenue officers (the Tahsildar, the Revenue Divisional Officer, the District Revenue Officer) rather than a civil court: patta transfers contested, boundary and classification disputes, appeals against revenue orders.
How much does it cost?
A search costs 2 credits when it returns at least one case. When the register holds no case for the survey, nothing is charged.
Do I need the village codes?
Yes. Get them free from resolve_parcel (a map point) or resolve_revenue_codes (district, taluk and village names), then send them here with the survey number.
Does it cover civil court cases too?
No. Civil cases are searched with the same tool under subject civil_court (by CNR number) or subject ecourt (by a party's name).
Updated 22 Oct 2026 · OpenAPI description