Guideline Value History API for Tamil Nadu
Yes. The LandLens guideline history API returns the Tamil Nadu Registration Department's guideline rate for one street across its past revisions (2002, 2003, 2007, 2012, 2017, 2023 and 2024), newest first, with the sub registrar office, village, street and land classification the figures belong to. Send a map point, or the village, office and current classification and rate from the guideline value lookup, and the history is matched to the parcel's own street. It costs nothing.
https://verified.realestate/api/v1/tools/guideline_history- Price
- Free
- Source
- Registration department street guideline register, past revisions
- Coverage
- 454,112 street entries across Tamil Nadu
- Answers in
- Usually under half a second
Example
curl -X POST https://verified.realestate/api/v1/tools/guideline_history \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"village":"Velachery","sro":"Velacheri","street":"Adhinarayana Puram 1st street","classification":"Residential Class II Type - III","current_value":3850}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"zone": "Chennai",
"sro": "Velacheri",
"village": "Velachery",
"street": "Adhinarayana Puram 1st street",
"classification": "Residential Class II Type - III",
"unit": "per unit (as registered)",
"series": [
{ "year": 2024, "value": 3850 },
{ "year": 2023, "value": 3500 },
{ "year": 2017, "value": 2345 },
{ "year": 2012, "value": 3500 },
{ "year": 2007, "value": 1500 }
],
"latest_value": 3850,
"oldest_value": 1500
},
"credits_charged": 0
}
A real answer from the API. This street has no rate recorded for 2003 or 2002, so those revisions are left out.
What it returns
One call, one series. found is false (status not_found) when no street history can be pinned to the parcel; the answer says so plainly, and the current rate must not be passed off as a trend.
| Field | What it holds |
|---|---|
series[] | The rate at each revision, newest first: year and value. Revisions with no recorded rate are left out. |
latest_value, oldest_value | The newest and oldest rates in the series. |
zone, sro, village, street, classification | The register entry the figures belong to: always the matched entry, never the names you sent. |
unit | The rates are in the unit the register uses for that entry. |
Inputs
The JSON body of the POST is the arguments. Send the same lat and lng you used for guideline_value and the street is found for you. Or send what guideline_value returned: village, sro, classification and current_value, and the street when there is one.
| Argument | Type | What to send |
|---|---|---|
lat |
number | Property latitude (same coordinate used for the guideline value lookup); lets this tool self-resolve the street |
lng |
number | Property longitude (same coordinate used for the guideline value lookup) |
village |
string | The village, as guideline_value returned it. |
sro |
string | The sub registrar office, as guideline_value returned it. Without an office (or a zone) no history can be pinned. |
zone |
string | Registration zone, if known |
street |
string | Street name from the guideline value lookup, if known |
classification |
string | The classification guideline_value returned, e.g. Residential Class II Type - III. |
current_value |
number | The current rate guideline_value returned, which picks the parcel's street among those of one classification. |
survey_number |
string | Survey number, when the property has one |
sub_division |
string | |
rev_district_code |
string | |
rev_taluk_code |
string | |
rev_village_code |
string | |
rural_urban |
string | "rural" or "urban", as the parcel lookup returned it |
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/guideline_history \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"village":"Velachery","sro":"Velacheri","street":"Adhinarayana Puram 1st street","classification":"Residential Class II Type - III","current_value":3850}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/guideline_history",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"village": "Velachery",
"sro": "Velacheri",
"street": "Adhinarayana Puram 1st street",
"classification": "Residential Class II Type - III",
"current_value": 3850
},
timeout=20,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/guideline_history", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"village": "Velachery",
"sro": "Velacheri",
"street": "Adhinarayana Puram 1st street",
"classification": "Residential Class II Type - III",
"current_value": 3850
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
How has the guideline value of Adhinarayana Puram 1st Street in Velachery changed since 2007?
Your AI looks up the current rate, then the street's past revisions, and explains the trend. It is free.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | A history was pinned to the street. Read street and sro to see which entry it is. |
not_found | No history could be pinned: the village is not in the register under that office, or several streets fit and their histories differ, or no village or point was sent. |
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 street guideline register of the Tamil Nadu Registration Department, with the rate each street carried in the 2002, 2003, 2007, 2012, 2017, 2023 and 2024 revisions.
454,112 street and locality entries under 560 sub registrar office names, statewide. Not every street has a rate in every revision; a revision with no recorded rate is left out of the series.
The revisions up to 2024. The current rate, with its own revision date, is the guideline_value call.
Only entries under the parcel's own sub registrar office are considered, so a village of the same name elsewhere cannot answer. Within it the street is matched by classification and current rate, then by street name, then by current rate alone. When several streets fit equally and their histories differ, no history is returned rather than another street's.
Who uses it
Valuers and analysts
Chart how the government rate of a street has moved against what land actually sold for.
Tax advisers
Find the guideline rate in the year a property was bought, for a capital gains working.
Property portals
Show a street's rate history next to a listing, from the register itself.
Limits and good practice
- Seven revisions only: 2002, 2003, 2007, 2012, 2017, 2023 and 2024. Rates between revisions are not interpolated.
- The 2017 revision cut rates across Tamil Nadu, so a dip in that year is the revision, not a fall in the market.
- This is the street register. Village land rated survey by survey often has no street history.
- A history is pinned to one street or not given at all. A not_found here does not mean the parcel has no current rate.
Pricing
Guideline history 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 for old guideline values in Tamil Nadu?
Yes, this one. It returns the registered rate of a street at each revision from 2002 to 2024.
Why are some years missing?
The register holds no rate for that street in those revisions, often because the street was not listed yet. Missing years are left out rather than filled in.
Why did I get not_found when guideline_value found a rate?
The current rate and the history come from different editions of the register. When the parcel's street cannot be matched to exactly one history, none is returned, so you never chart another street's figures.
Can I use this for capital gains?
It gives the registered rate in the revision before the purchase. capital_gains works the tax out from the figures you give it.
Updated 22 Oct 2026 · OpenAPI description