Town Survey Correlation Statement API for Tamil Nadu
Yes. The LandLens correlation statement API searches the survey department's own correlation statement for a Tamil Nadu town: the table, made when the town was brought under town survey, of which town survey (T.S.) number, ward and block each old survey number became. Send the town and the number as a deed or patta prints it, and you get every printed line carrying that number, with its page, or for a handwritten statement the pages the number is written on. Statements are held for 146 towns. It costs 1 credit per call, and nothing when the number is not found.
https://verified.realestate/api/v1/tools/correlation_statement- Price
- 1 credit per answer
- Source
- Survey department correlation statements
- Coverage
- 153 statements covering 146 towns
- Answers in
- Usually under a second
Example
curl -X POST https://verified.realestate/api/v1/tools/correlation_statement \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"statement":"Pallavaram","number":"59/1"}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"statement": {
"file": "35_13_005",
"town": "Pallavaram",
"taluk": "Pallavaram",
"district": "Chengalpattu",
"kind": "typed and handwritten",
"pages": 217,
"pdf": "https://archives.verified.realestate/correlation/35/13/005.pdf"
},
"number": "59/1",
"searched_as": "59/1",
"match": "exact",
"side": "old",
"matches": [
{
"from_copy": true,
"page": 23,
"before": "59/1 PART",
"before_label": "Old survey number",
"ts": "43",
"ward": "A",
"block": "11",
"village": "Essa Pallavaram",
"serial": "947",
"kind": "rural_to_ts",
"possible": false,
"image": null,
"box": null
},
{
"from_copy": true,
"page": 23,
"before": "59/1 PART",
"before_label": "Old survey number",
"ts": "63",
"ward": "A",
"block": "11",
"village": "Essa Pallavaram",
"serial": "977",
"kind": "rural_to_ts",
"possible": false,
"image": null,
"box": null
},
{
"from_copy": true,
"page": 158,
"before": "59/1",
"before_label": "Old survey number",
"ts": "42",
"ward": "F",
"block": "88",
"village": "HASTHINAPURAM",
"serial": "5071",
"kind": "rural_to_ts",
"possible": false,
"image": null,
"box": null
}
],
"match_count": 3,
"truncated": false,
"handwritten_pages": [],
"held_pages": [],
"source": "The survey department's correlation statement for Pallavaram (Chengalpattu district), as published in its document library."
},
"credits_charged": 1
}
A real answer from the API (22 Oct 2026). Pallavaram's statement is a handwritten book with the collectorate's typed copy, so these lines carry the copy's page and no image.
What it returns
One call, one town's statement. found is false (status not_found, nothing charged) when the number is not in the statement, or the town needs choosing.
| Field | What it holds |
|---|---|
matches[] | Each line carrying the number: before (the old number as printed), ts, ward, block, village, serial, page. |
matches[].possible | true when the line matched only by the number's stem, not exactly. Read the line before relying on it. |
matches[].image, box | For printed statements: the page image, and where the line sits on it (left, top, right, bottom as fractions of the page). |
matches[].from_copy | true when the line comes from the collectorate's typed copy of a handwritten book; its page number is the copy's. |
handwritten_pages[] | For handwritten statements: the pages the number is written on, with the page image. |
statement | The statement searched: town, taluk, district, kind (printed, typed, handwritten), page count and a link to the whole statement PDF. |
match, searched_as, match_count, truncated | How the number was matched (exact or stem), the form searched, and how many lines. |
choices[] | When the town name fits more than one statement: each with its statement code, to choose from. |
Ways to call it
Old number to T.S. number (the default), or the reverse.
Old to T.S.
An old survey number from a deed in, the T.S. number, ward and block out.
{"statement": "Pallavaram","number": "59/1"}
T.S. to old
A T.S. number in, the old survey number it came from out.
{"statement": "Pallavaram","number": "43","direction": "ts_to_old"}
Inputs
The JSON body of the POST is the arguments. statement and number are required.
| Argument | Type | What to send |
|---|---|---|
statementrequired |
string | The town as people write it (Pallavaram, Tiruttani), or the statement code, e.g. 01_06_001. |
numberrequired |
string | The survey number as printed, e.g. 59/1, 59/1PT or R.S. 59/1. |
direction |
string: old_to_ts, ts_to_old | old_to_ts (default): an old survey number in, the T.S. number out. ts_to_old: the reverse. |
district |
string | The district, when the town name is shared. |
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/correlation_statement \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"statement":"Pallavaram","number":"59/1"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/correlation_statement",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"statement": "Pallavaram",
"number": "59/1"
},
timeout=30,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/correlation_statement", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"statement": "Pallavaram",
"number": "59/1"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
Search the Pallavaram correlation statement for old survey 59/1. Which T.S. numbers did it become?
Your AI finds the statement, says the price, and lists each line with its page.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | The number was found in the statement. Charged 1 credit. |
not_found | The number is not in the statement, the town has no statement, or several statements share the name (choices lists them). Nothing is charged. |
invalid_args | statement or number is missing. |
insufficient_credits | The account does not hold enough credits for the call. |
Where the data comes from
The correlation statements of the Tamil Nadu survey department, published in its document library: for each town brought under town survey, the old survey number (or old T.S. number) against the new T.S. number, ward and block.
153 statements covering 146 towns, among them Pallavaram, Tambaram, Alandur, Ambattur, Chengalpattu and Tiruttani. Some towns have more than one statement (Salem, Madurai Corporation). A village that was never brought under town survey has none.
The statements are historical records and are not reissued on a schedule. Our copy is checked against the department's library periodically for new or changed statements.
Printed and typed statements were read line by line; handwritten statements are indexed by page. A number is matched exactly first, then by its stem (100/1 also finds 100), and a stem match is marked possible. Each line found carries its page and, for printed statements, the page image and the line's position on it.
Who uses it
Advocates
Cite the department's own correlation, with its page, when a title opinion links an old survey number to a T.S. number.
EC searches
Find the T.S. number for an old number when the town survey register leaves the old number blank.
Surveyors
Go straight to the right page of a several-hundred-page statement instead of reading it end to end.
Limits and good practice
- A line marked possible matched only the number's stem. Open the page and read it before relying on it.
- Handwritten statements are indexed by page, not by line: you get the pages to read, not a T.S. number.
- PT or "part" against an old number means it was split across several T.S. numbers. Expect more than one line.
- Only towns brought under town survey have statements. A village has none.
Pricing
Each call costs 1 credit when the number is found; nothing when it is not, or when the town needs choosing. 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 Tamil Nadu town survey correlation statements?
Yes, this one. Send the town and the number and you get every line of the department's correlation statement carrying it, with the page.
Which towns are covered?
146 towns across 153 statements, Pallavaram, Tambaram, Alandur and Ambattur among them. Send a town without a statement and the answer says so.
How is this different from old_survey_to_current?
old_survey_to_current reads the old number recorded in each parcel's register entry today. This reads the survey department's correlation table made at the town survey. When one is blank, the other often has it.
What does it cost?
Each call costs 1 credit when the number is found, and nothing otherwise.
Updated 22 Oct 2026 · OpenAPI description