EC Availability API: which office holds a village, and since when
Yes. The LandLens EC availability API takes a registration village name and returns every Tamil Nadu sub registrar office that has held a village of that name, with the period each held it, the office code, and whether it still does. Villages move between offices over the years, so an encumbrance certificate from 1985 may need a search at a different office from one for 2020; this tells you which. It costs nothing.
https://verified.realestate/api/v1/tools/ec_availability- Price
- Free
- Source
- Registration department village to office periods
- Coverage
- About 25,800 registration village names, 627 offices
- Answers in
- Usually under half a second
Example
curl -X POST https://verified.realestate/api/v1/tools/ec_availability \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"village":"Kavanoor"}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"villages": [
{
"village": "KAVANOOR",
"ranges": [
{ "sro": "Tambaram Joint 1", "sro_code": "20053:1", "from": "01-Jan-1975", "to": "10-Aug-1986", "current": false }
]
},
{
"village": "Kavanoor",
"ranges": [
{ "sro": "Kunrathur", "sro_code": "20061:1", "from": "01-Sep-1989", "current": true },
{ "sro": "Rajasinga mangalam", "sro_code": "20301:1", "from": "01-Jan-1987", "current": true },
{ "sro": "Arcot", "sro_code": "20602:1", "from": "01-Jun-2003", "current": true },
{ "sro": "Pallikonda", "sro_code": "20647:1", "from": "01-Jan-1975", "to": "14-Apr-1999", "current": false }
]
}
],
"note": "Each range shows which SRO held the village for those dates; an EC covering years across ranges may need pulls at more than one SRO. The interface renders the timeline; answer whether the years the user needs are covered."
},
"credits_charged": 0
}
A real answer from the API. Four of the twelve periods are left out for length; the rest are as returned. Several different villages in Tamil Nadu are called Kavanoor, and their offices come back together.
What it returns
One call, one answer. found is false (status not_found) when no registration village carries a name like the one sent.
| Field | What it holds |
|---|---|
villages[] | Up to four registration village names that match, each with its ranges. |
village | The village name exactly as the registration department writes it, which is the spelling an encumbrance search needs. |
ranges[].sro, ranges[].sro_code | The sub registrar office and its code for one period. |
ranges[].from, ranges[].to | When that office's records for the village begin, and end when it gave the village up. No to means the period is open. |
ranges[].current | Whether the department lists that office as currently holding the village. |
note | How to read the ranges. |
Inputs
The JSON body of the POST is the arguments.
| Argument | Type | What to send |
|---|---|---|
villagerequired |
string | The village name as the registration department knows it, e.g. Kavanoor. sro_directory or sro_lookup give the registration spelling when the revenue spelling differs. |
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/ec_availability \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"village":"Kavanoor"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/ec_availability",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"village": "Kavanoor"
},
timeout=20,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/ec_availability", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"village": "Kavanoor"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
I need an EC for my land in Kavanoor, Kundrathur taluk, from 1980. Which sub registrar office held the village back then?
Your AI checks the office periods for the village, picks the ones in the right district, and tells you which offices to search. It is free.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | At least one registration village matched. Read every range; a village can have several offices over time. |
not_found | No village carries a name like that, or no name was sent. Try the registration spelling from sro_directory. |
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 list of villages under each sub registrar office, with the dates from which each office's encumbrance records for the village begin and, where it gave the village up, end.
25,770 registration village names across 627 sub registrar offices, statewide, with 31,293 office periods between them.
A copy taken from the department's encumbrance search and reviewed once a year. Office boundaries change rarely; when a village moves, the new office appears as a new period.
The name is matched without regard to case. Every office period on the matching names is returned as it is recorded; nothing is inferred.
Who uses it
Advocates tracing a title
Know before ordering a 30-year EC that the early years sit at another office, and order both.
EC ordering tools
Split a long EC request into one search per office period, so no years fall between offices.
Lenders
Check that an EC on file was taken at the office that actually held the village for the years it claims to cover.
Limits and good practice
- The match is by name only. Many Tamil Nadu villages share a name, and the offices of all of them come back together. Pick the ranges by the office you expect for the district, or confirm with sro_lookup on a map point.
- At most four matching village names are returned.
- The registration spelling can differ from the revenue spelling (for example Kunrathur and Kundrathur). If nothing matches, look the village up in sro_directory first.
- A period says where the records are held, not that any deed was registered in it.
Pricing
EC availability costs nothing. Free calls have their own allowance per hour and per day, counted across every key and connected app on the account, and it is larger once the account has bought credits. 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 to find which sub registrar office holds my village?
Yes. This one returns every office that has held a village of that name, with the period and office code. sro_lookup answers the same question for a map point, and sro_directory for a village name with its namesakes flagged.
Why does my village show more than one office?
Either the village moved between offices over the years (each period then has its own office), or several villages share the name. Check the dates and the district of each office.
How far back do the periods go?
As far as the department records them. Most periods begin on 1 January 1975; a few hundred begin earlier, and later ones mark the date a village moved to a new office. If the years you need start before the earliest from date, they are not in the online records for that office.
Does this tell me whether there were any transactions?
No. It tells you where the records are kept for each period. ec_transactions reads the entries themselves.
Updated 22 Oct 2026 · OpenAPI description