Deed Village to Current Revenue Village API
Yes. The LandLens deed village mapping API takes a village name as an old deed or EC writes it, with the district (and taluk) the deed names, and returns the current Tamil Nadu revenue village that matches, with its district, taluk and village codes. It searches every district, so a village registered under Tirunelveli before Tenkasi district was formed, or under Vellore before Ranipet and Tirupattur, is still found, and the answer says when the match sits in a different district from the deed. It costs nothing.
https://verified.realestate/api/v1/tools/map_registration_to_revenue- Price
- Free
- Source
- Revenue department village directory
- Coverage
- Every revenue village in Tamil Nadu
- Answers in
- Usually under a tenth of a second
Example
curl -X POST https://verified.realestate/api/v1/tools/map_registration_to_revenue \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"village_name":"Keelapavoor","district_name":"Tirunelveli"}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"note": "The best match is in a DIFFERENT district than the deed names, likely a district bifurcation or rename since registration. Confirm with the user if unsure.",
"best": {
"register": "rural",
"district_name": "Tenkasi",
"district_code": "34",
"taluk_name": "Alangulam",
"taluk_code": "11",
"village_name": "Keelapavoor-1",
"village_code": "101",
"village_match": 1,
"district_matches_deed": false,
"taluk_matches_deed": false
},
"alternatives": [
{
"register": "rural",
"district_name": "Tenkasi",
"district_code": "34",
"taluk_name": "Alangulam",
"taluk_code": "11",
"village_name": "Keelapavoor-2",
"village_code": "102",
"village_match": 1,
"district_matches_deed": false,
"taluk_matches_deed": false
},
{
"register": "rural",
"district_name": "Tiruvallur",
"district_code": "01",
"taluk_name": "Ponneri",
"taluk_code": "04",
"village_name": "Avoor",
"village_code": "026",
"village_match": 0.9,
"district_matches_deed": false,
"taluk_matches_deed": false
}
]
},
"credits_charged": 0
}
A real answer from the API (22 Oct 2026). Keelapavoor was in Tirunelveli district before Tenkasi district was formed from it.
What it returns
One call returns the best match and up to two alternatives. found is false (status not_found) when no current village matches the name.
| Field | What it holds |
|---|---|
best | The strongest match: register, district_name, district_code, taluk_name, taluk_code, village_name, village_code. |
best.village_match | How close the village name is, from 0 to 1. 1 is the same name. |
best.district_matches_deed, taluk_matches_deed | Whether the match sits in the district and taluk the deed names. false on a district means a split or rename since the deed. |
alternatives[] | Up to two further matches in the same shape, for namesakes and numbered parts (Keelapavoor-1, Keelapavoor-2). |
note | Whether the best match is inside the deed's district or not. |
Inputs
The JSON body of the POST is the arguments. Only the village name is required. The deed's district and taluk rank the matches.
| Argument | Type | What to send |
|---|---|---|
village_namerequired |
string | The village as the deed or EC writes it. |
district_name |
string | The district the deed names, even if it is an old one. |
taluk_name |
string | The taluk the deed names, if any. |
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/map_registration_to_revenue \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"village_name":"Keelapavoor","district_name":"Tirunelveli"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/map_registration_to_revenue",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"village_name": "Keelapavoor",
"district_name": "Tirunelveli"
},
timeout=20,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/map_registration_to_revenue", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"village_name": "Keelapavoor",
"district_name": "Tirunelveli"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
My 1995 sale deed says the land is in Keelapavoor village, Tirunelveli district. Which village and district is that today?
Your AI matches the deed's village to today's revenue village and tells you if the district has changed. 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 current village matched. Confirm with the user when district_matches_deed is false or village_match is below 1. |
not_found | No current revenue village matches the name anywhere in Tamil Nadu. It may have been merged or renamed; ask for a landmark or a map pin. |
invalid_args | village_name 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 revenue department's directory of districts, taluks and revenue villages, in its current form.
Every revenue village in the state's current directory (17,237 village entries in 38 districts). Town survey towns are not searched here; use resolve_revenue_codes for a town.
Read from our copy of the current directory. It answers with today's jurisdiction, which is the point: the deed's own district may no longer exist in that form.
The village name is the anchor: only strong name matches qualify, anywhere in the state. The deed's district and taluk then rank the matches but never exclude one, so a district that has since been split does not hide the village. The best three are returned.
Who uses it
Advocates
Read a title chain written before a district split, and get today's codes to pull the current land record.
EC readers
Map the village printed on an old encumbrance certificate to the village the revenue register now files it under.
Lenders
Reconcile a parent deed's district with the current patta before sanctioning a loan.
Limits and good practice
- A match is a name match. Where the best is in a different district or below 1, confirm with the user before relying on it.
- Villages that have been merged into another or renamed beyond recognition will not match; ask for a map pin instead.
- Town survey towns are not searched. Use resolve_revenue_codes for a town name.
- This maps the village. An old survey number that was renumbered is the separate survey_history or old_survey_to_current call.
Pricing
The deed village mapping 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 to map an old deed's village to the current Tamil Nadu district?
Yes, this one. Send the village and the district the deed names, and you get today's village, taluk and district with their codes, and whether the district has changed.
Which district splits does it handle?
All of them, because it searches every district for the village rather than trusting the deed's district. Tirunelveli to Tenkasi and Vellore to Ranipet and Tirupattur are typical cases.
How is it different from the village code lookup?
resolve_revenue_codes is for names people type today and asks when several places fit. This is for names from old documents: it ranks by the deed's district without excluding others, and always returns its best three.
What does it cost?
It costs nothing, within the account's free call allowance.
Updated 22 Oct 2026 · OpenAPI description