Civil Court Case API by CNR number
Yes. The LandLens court case API looks up one case by its CNR number, the 16 character number eCourts gives every case (four letters, then twelve digits, such as TNCB110008862021). You get back the case type and number, the court, the petitioners and respondents with their advocates, the judge, the filing, first hearing and next hearing dates, and once it is decided, the decision date and how it was disposed. It costs 2 credits when the case is found; a CNR with no case behind it is not charged.
https://verified.realestate/api/v1/tools/court_cersai- Price
- 2 credits per answer
- Source
- eCourts case records
- Coverage
- Any case that carries a CNR number
- Answers in
- Usually under a second
What it returns
One call, one answer. found is false (status not_found) when no case is registered under the CNR, and then nothing is charged.
| Field | What it holds |
|---|---|
found | true when a case is registered under the CNR. |
cases[] | The case, as a list of one, with the fields below. |
cnr, case_type, case_number, case_category | The case's identity: its CNR, its type (spelled out, e.g. OS (Original Suit), where the record expands it), its registration number and category. |
court_name, district, judge | Where the case is heard and before whom. |
petitioners, respondents | The parties, joined into one line each. |
petitioner_advocates, respondent_advocates | The advocates on each side. |
filing_number, filing_date, registration_date, first_hearing_date, next_hearing_date | The case's dates. next_hearing_date is empty once the case is decided. |
case_status, decision_date, disposal_type, contested_status, hearing_count | How the case stands, and for a decided case, when and how it ended. |
message | Present when no case is registered under the CNR, or the record could not be read. |
Inputs
The JSON body of the POST is the arguments. Only subject is required by the schema; this lookup also needs cnr_number. Every other input belongs to the other subjects and is ignored here.
| Argument | Type | What to send |
|---|---|---|
subjectrequired |
string: revenue_court, civil_court, cersai, ecourt | Send "civil_court" for this lookup. The same call also carries the CERSAI, revenue court and name searches, which have their own pages. |
cnr_number |
string | The CNR, with or without dashes, e.g. TNCB110008862021 or TNCB11-000886-2021. It is printed on the case papers and on the court's cause list. |
city |
string | City / town / village (cersai: the portal requires it; if unknown, pass lat/lng instead and it is resolved automatically) |
district_code |
string | Revenue district code (revenue_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) |
sub_division |
string | Sub-division, if any, e.g. "2" for parcel 1511/2 (revenue_court, cersai) |
survey_number |
string | Survey number WITHOUT the sub-division, e.g. "1511" for parcel 1511/2 (revenue_court, cersai). Put the sub-division in sub_division, do not join them here. |
taluk_code |
string | Revenue taluk code (revenue_court) |
village_code |
string | Revenue village code (revenue_court) |
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 '{}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/court_cersai",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={},
timeout=30,
)
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({}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
What is the status of court case TNCB110008862021? Who are the parties and when is the next hearing?
Your AI looks the case up by its CNR number and reads the record back to you.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | The case was found. Charged. |
not_found | No case is registered under the CNR, or the number is not a CNR (invalid_cnr is true and nothing was searched), or the record could not be read (message says so). 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 case records of the eCourts system, where each case filed in a court on the system is given a CNR (case number record) that stays with it from filing to disposal.
Any case with a CNR number that eCourts holds. The lookup is not limited to one state. One CNR returns one case.
Read at the time of the call, so the next hearing date and the status are as eCourts holds them that day.
The CNR is checked for its shape first (four letters and twelve digits once dashes and spaces are dropped), so a mistyped number is refused rather than reported as no case. Case type codes are spelled out where the record gives the expansion, and a disposed case carries no next hearing date.
Who uses it
Law firms
Track the cases named in a title opinion or a seller's disclosure by CNR, and read the next hearing date without opening the court site.
Banks and NBFCs
Confirm the status of a suit the borrower or the property is party to before sanction or disbursement.
Due diligence platforms
Turn the CNR numbers a name search returns into full case records, with advocates and judge.
Limits and good practice
- One CNR, one case. To find cases you do not have a number for, search by a party's name (subject ecourt) or by survey number in the revenue court register (subject revenue_court).
- A number that is not four letters and twelve digits is refused with invalid_cnr, and nothing is searched or charged.
- The record is what eCourts holds. A case not yet entered on eCourts, or an old case never given a CNR, will not be found.
Pricing
A lookup costs 2 credits when the case is found. A CNR with no case behind it, or a number that is not a CNR, 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 eCourts case status by CNR number?
Yes. LandLens returns the case behind a CNR number as JSON, over plain HTTPS or as an MCP tool your AI assistant can call, with the parties, advocates, judge, dates and status.
What is a CNR number?
The case number record eCourts gives a case when it is filed: 16 characters, two letters for the state and two for the district, then twelve digits for the court establishment, the case's serial number and the year (TN CB 11 000886 2021). It stays the same through the life of the case.
How much does a CNR lookup cost?
It costs 2 credits when the case is found. A CNR with nothing behind it is not charged.
Can I search by a person's name instead?
Yes, with subject ecourt on the same tool. That is a separate search across India, returned as a quote you approve, and each hit needs checking because names repeat.
Does it work for cases outside Tamil Nadu?
The lookup is not limited to Tamil Nadu: any CNR is accepted, and the case comes back when eCourts holds it.
Updated 22 Oct 2026 · OpenAPI description