Court Case Search by Name API, across India
Yes. The LandLens name search finds court cases across India where a person appears as a party, from the case records of the eCourts system. Send the name; the first call returns a quote, and once approved the search returns up to 50 matching cases with the case number, type, court, parties, status, filing and hearing dates, and the CNR that opens each case in full. It costs 2 credits once approved, charged whenever the search completes (a clean "no cases" included) and refunded if it does not.
https://verified.realestate/api/v1/tools/court_cersai- Price
- 2 credits on approval
- Source
- eCourts case records, by party name
- Coverage
- Courts across India on eCourts
- Answers in
- Quote at once; the approved search answers in the same request
Example
curl -X POST https://verified.realestate/api/v1/tools/court_cersai \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"subject":"ecourt","owner_name":"T Ganesalingam"}'
{
"ok": true,
"status": "proposal",
"data": {
"proposal": true,
"action": "ecourt_search",
"label": "Court case search by name: T Ganesalingam",
"params": { "name": "T Ganesalingam" },
"cost": 2,
"source": "eCourts case registry",
"note": "Name-based search across India. Common names can return unrelated cases, results need manual verification. Charged when the search completes, whether or not cases are found. A failed search is not charged."
},
"credits_quoted": 0,
"credits_charged": 0,
"credits_waived": 0,
"next": {
"tool": "approve_action",
"arguments": { "action": "ecourt_search", "params": { "name": "T Ganesalingam" } }
}
}
A real quote from the API, with balance_after and request_id left out. Approving it runs the search.
What it returns
The first call returns a quote, with status proposal. Send its next block to approve_action within 30 minutes; the approved search answers in the same request.
| Field | What it holds |
|---|---|
cases[] | Each matching case: cnr, case_number, case_type, case_category, case_status, court_name, petitioners, respondents, filing_number, filing_date, registration_date, next_hearing_date and decision_date, as far as the record fills them. |
count | How many cases are in cases (at most 50). |
total_hits | How many cases matched the name in all. It can be far larger than count for a common name. |
query_name, searched_name | The name you sent, and the name actually searched after transliteration and dropping honorifics. |
note | A reminder that a name search needs each hit checked against the person. |
credits_used | What the approved search cost. |
Inputs
The JSON body of the POST is the arguments. Only subject is required by the schema; this search also needs owner_name. A call without it answers not_found and nothing is quoted.
| Argument | Type | What to send |
|---|---|---|
subjectrequired |
string: revenue_court, civil_court, cersai, ecourt | Send "ecourt" for this search. The same call also carries the CERSAI, revenue court and civil court checks, which have their own pages. |
owner_name |
string | The person's name as it would appear on a case, e.g. T Ganesalingam. Tamil script is accepted. |
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_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) |
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; the quote, the approval and the job status are chained for you.
curl -X POST https://verified.realestate/api/v1/tools/court_cersai \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"subject":"ecourt","owner_name":"T Ganesalingam"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/court_cersai",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"subject": "ecourt",
"owner_name": "T Ganesalingam"
},
timeout=120,
)
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": "ecourt",
"owner_name": "T Ganesalingam"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
Search court cases across India for T Ganesalingam, the seller of survey 119, and tell me which ones look like him.
Your AI shows the quote first and searches only after you say yes.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
proposal | The quote. Nothing is charged. Approve it by sending next.arguments to approve_action within 30 minutes, unchanged. |
ok | From approve_action: the search completed. Charged, whether or not cases came back; count 0 is a real answer. |
not_found | At the quote: no name was sent, so nothing is quoted. |
insufficient_credits | HTTP 402 at approval, with the credits needed, your balance and where to top up. |
error | From approve_action: the search could not be completed. The credits taken at the start are returned, and the same quote can be approved again. |
Where the data comes from
The case records of the eCourts system, searched by the name of a petitioner or respondent rather than by case number.
Courts across India whose cases are on eCourts. The search is not limited to one state. One approved search returns the first 50 matching cases, with total_hits saying how many matched in all.
Read at the time of the approved search.
A name written in Tamil is transliterated to English before the search, and honorifics (Thiru, Mr, Smt and the like) are dropped, so searched_name may differ from what you sent. Matches are by name only.
Who uses it
Buyers and their advisers
See whether the seller is a party to a suit before paying an advance, and ask about any case that looks like theirs.
Law firms
Add a litigation search on each owner in the title chain to the opinion, and read the likely ones in full by CNR.
Banks and NBFCs
Screen a borrower or guarantor for pending suits at login.
Limits and good practice
- A name is not a person. Common names return cases of many people; check parties, court and place before treating a hit as your seller's.
- One approved search returns the first 50 matches. total_hits says how many there are in all; narrow the name rather than relying on the first page for a common one.
- The search is charged once it completes, even when no case comes back, because the answer "no cases" is what was paid for. Only a search that fails is refunded.
- Revenue court petitions are in a separate register. Search them by survey number with subject revenue_court.
Pricing
A search costs 2 credits once approved. It is taken when the search starts, kept when the search completes (with or without cases), and returned if it fails. The quote is free. 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 to search court cases by a person's name in India?
Yes. LandLens searches the eCourts case records by party name and returns the matches as JSON, over plain HTTPS or as an MCP tool, after you approve a quote.
How much does a name search cost?
It costs 2 credits once approved. It is charged when the search completes, including when it finds no case, and returned if the search fails.
Why does the first call not return cases?
The search is paid per call, so the first call returns a quote. Approve it with approve_action and the cases come back in that answer.
Can I search in Tamil?
Yes. A Tamil name is transliterated to English before the search, and searched_name shows what was actually searched.
How do I read a case in full?
Each hit carries its CNR. Look it up with subject civil_court on the same tool for the advocates, judge, hearings and how it ended.
Updated 22 Oct 2026 · OpenAPI description