Sub Registrar Office Directory API for Tamil Nadu
Yes. The LandLens SRO directory API browses the Tamil Nadu Registration Department's office jurisdiction in three ways: every guideline village a sub registrar office covers, every office in a registration district with its code, or the office (or offices) a named village registers under. Village names that repeat under different offices are flagged rather than picked. It costs nothing.
https://verified.realestate/api/v1/tools/sro_directory- Price
- Free
- Source
- Registration department jurisdiction register
- Coverage
- All of Tamil Nadu
- Answers in
- Usually under a second
Example
curl -X POST https://verified.realestate/api/v1/tools/sro_directory \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"sro_for_village","village":"Palavakkam"}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"mode": "sro_for_village",
"query": "Palavakkam",
"district_ignored": null,
"match_count": 3,
"office_count": 3,
"matches": [
{
"village": "PALAVAKKAM",
"village_code": "1590",
"revenue_village": "Palavakkam",
"sro_name": "Oothukkottai",
"sro_code": "20099",
"taluk_name": "Uthukottai",
"district_name": "Tiruvallur",
"registrar_office": "Tiruvallur",
"zone_name": "CHENNAI"
},
{
"village": "Palavakkam",
"village_code": "251",
"revenue_village": "Palavakam",
"sro_name": "Neelankarai",
"sro_code": "20066",
"taluk_name": "Sholinganallur",
"district_name": "Chennai",
"registrar_office": "CHENNAI_SOUTH",
"zone_name": "CHENNAI"
},
{
"village": "PALAVAKKAM",
"village_code": "321",
"revenue_village": "Palavakkam",
"sro_name": "Arani_Tiruvallur",
"sro_code": "20068",
"taluk_name": "Gummidipoondi",
"district_name": "Tiruvallur",
"registrar_office": "Tiruvallur",
"zone_name": "CHENNAI"
}
],
"similar_names": [],
"note": "CAUTION: this village name occurs under 3 different Sub-Registrar Offices (Tamil Nadu reuses village names across districts, and some villages were re-assigned between offices over the years). Do NOT pick one for the user. Ask which district or taluk the land is in, and remember an older deed may have been registered at a different office than the current one."
},
"credits_charged": 0
}
A real answer from the API (22 Oct 2026).
What it returns
The shape depends on mode. found is false (status not_found) when nothing matches the name.
| Field | What it holds |
|---|---|
offices[] (villages_of_sro) | Each office matching the name, with sro_code, district_name, registrar_office, zone_name, village_count and villages[] (code, name, taluk, type), up to 150 villages. |
sros[], sro_count (sros_in_district) | Every office in the district, with its code, name and villages_covered. |
matches[] (sro_for_village) | Each office the village registers under: village, village_code, revenue_village, sro_name, sro_code, taluk_name, district_name, registrar_office, zone_name. |
office_count, match_count | How many offices and villages matched. More than one office for a village name means namesakes: ask which district. |
similar_names[] | Near names that are not the village asked for (Sithalapakkam for Alapakkam), kept apart from the matches. |
district_ignored | The district you sent, when it matched nothing and was set aside. |
Ways to call it
Pick one of three modes.
Villages of an office
Every guideline village one office registers for.
{"mode": "villages_of_sro","sro_name": "Neelankarai"}
Offices in a district
Every office in a registration district, with its code.
{"mode": "sros_in_district","district": "Kancheepuram"}
Office for a village
Which office a village registers under, with namesakes flagged.
{"mode": "sro_for_village","village": "Palavakkam"}
Inputs
The JSON body of the POST is the arguments. mode is required, with the one name that mode needs.
| Argument | Type | What to send |
|---|---|---|
moderequired |
string: villages_of_sro, sros_in_district, sro_for_village | villages_of_sro, sros_in_district or sro_for_village. |
sro_name |
string | For villages_of_sro: the office name, at least 3 letters, e.g. Neelankarai. |
district |
string | For sros_in_district: the registration district. An optional filter on the other modes. |
village |
string | For sro_for_village: the village name, at least 3 letters. |
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/sro_directory \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"sro_for_village","village":"Palavakkam"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/sro_directory",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"mode": "sro_for_village",
"village": "Palavakkam"
},
timeout=30,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/sro_directory", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"mode": "sro_for_village",
"village": "Palavakkam"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
Which sub registrar office do I register land in Palavakkam at?
Your AI looks the village up, and when the name is shared it asks which one is yours. It is free.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | The directory answered. Check office_count before naming one office. |
not_found | No office, district or village matched, or the name was shorter than 3 letters. message or error says which. |
invalid_args | mode is missing. |
free_limit_reached | The account has used its free calls for the hour or the day. retry_after says how many seconds to wait; paid calls keep working. |
Where the data comes from
The Tamil Nadu Registration Department's register of which guideline villages each sub registrar office covers, with the District Registrar and zone each office reports to.
Every registration district of Tamil Nadu. Registration districts do not always match revenue districts (Chennai has Chennai North, Central and South), so a district name is matched loosely.
Read from our copy of the department's register, refreshed when the department publishes a change. Villages move between offices over the years, so an older deed may name a different office.
Names are matched on any part, and spelling serials the register glues onto names are ignored. Spreadsheet error values in the register (#N/A) are never listed as villages. A district filter that would empty the answer is dropped and the answer says so.
Who uses it
EC searches
Find the office and its code for a village before an encumbrance search, and catch a village that sits under two offices.
Document writers
Tell a client which office their sale will be registered at.
Analysts
List the offices of a district and the villages each covers, to plan registration data pulls office by office.
Limits and good practice
- These are the guideline villages the department uses for registration, which can differ in spelling from the revenue village names.
- Village names repeat across Tamil Nadu. When office_count is more than one, ask which district or taluk.
- Jurisdiction has moved over the years. An older deed may have been registered at an office that no longer covers the village.
- Contacts for an office are in the separate SRO finder (sro_lookup).
Pricing
The SRO directory costs nothing. Free calls have their own allowance per hour and per day. Credits come from the same LandLens wallet as the chat and the minis. How billing works.
Free calls have an hourly and daily allowance. For more than that, or a platform built on these registers, we set up limits and a plan to match.
Questions
Is there an API listing the villages under each sub registrar office in Tamil Nadu?
Yes, this one. mode villages_of_sro with the office name lists every guideline village it covers, with taluk and code.
How many sub registrar offices are in a district?
mode sros_in_district lists every office in a registration district with its code and the number of villages each covers.
Why did my village return three offices?
Tamil Nadu reuses village names across taluks and districts. Each match carries its taluk and district; choose the one your land is in.
How is this different from the SRO finder?
The SRO finder (sro_lookup) answers for a map point or one office, with contacts. This browses the register by name in either direction.
Updated 22 Oct 2026 · OpenAPI description