Guideline Value API for Tamil Nadu
Yes. The LandLens guideline value API returns the Tamil Nadu Registration Department's guideline value, the government rate that stamp duty and registration fee are worked out on, for a survey number or for the street a city property stands on. Send the survey and village codes, and a map point for city land, and you get the rate per square foot, square metre, cent, ground and acre, with its land classification, the sub registrar office and the revision date where the register records one. It costs nothing.
https://verified.realestate/api/v1/tools/guideline_value- Price
- Free
- Source
- Registration department guideline register
- Coverage
- All of Tamil Nadu, survey and street rates
- Answers in
- Usually under a second
Example
curl -X POST https://verified.realestate/api/v1/tools/guideline_value \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"survey_number":"65","sub_division":"4B","village_name":"Kavanoor","rev_district_code":"03","rev_taluk_code":"14","rev_village_code":"196","district_name":"Kancheepuram","rural_urban":"rural"}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"match_type": "igr_parcel",
"guideline": [
{
"survey_number": "65/4B",
"category_name": "Wet Special Type - II",
"val_original": "45,00,000/ Acre",
"sro_name": "Gooduvancheri",
"rate_per_sqft": 103.31,
"rate_per_sq_metre": 1112.02,
"rate_per_cent": 45002,
"rate_per_ground": 247944,
"rate_per_acre": 4500000,
"rate_basis": "The register publishes 45,00,000/ Acre; the other units are converted from it."
}
],
"revision_date": null
},
"credits_charged": 0
}
A real answer from the API, with two descriptive fields left out for length.
What it returns
One call, one answer. found is false (status not_found) when the register holds no rate for the parcel.
| Field | What it holds |
|---|---|
match_type | How the rate was found: igr_parcel when the survey number register rates this parcel, nearest_street_rate when a city parcel took the rate of its street. |
guideline[] | The matching entries. Survey matches carry survey_number; street matches carry street_name, locality and distance_m from the map point. |
category_name | The land classification the rate is published for (for example Wet Special Type II, Residential Special Type II, Commercial Class I). Pick the entry that matches the land's use. |
val_original | The rate exactly as the register publishes it, in its own unit (per acre for most village land, per square metre in towns). |
rate_per_sqft, rate_per_sq_metre, rate_per_cent, rate_per_ground, rate_per_acre | The same rate in every unit, converted from val_original. rate_basis says which unit was published. |
sro_name | The sub registrar office whose register carries the rate. |
revision_date, revision_year | The revision the rate belongs to, or null when the register gives none. revision_note says how to quote it. |
Inputs
The JSON body of the POST is the arguments. Send what resolve_parcel returned for the plot. For any city land also send lat and lng, which is what lets a street rate answer when there is no survey rate.
| Argument | Type | What to send |
|---|---|---|
survey_number |
string | The survey number without the sub-division, e.g. 65. |
sub_division |
string | The sub-division, e.g. 4B. Leave empty when there is none. |
village_name |
string | The revenue village, as resolve_parcel returns it. |
rev_district_code |
string | Revenue district code, from resolve_parcel or resolve_revenue_codes. |
rev_taluk_code |
string | Revenue taluk code. |
rev_village_code |
string | Revenue village code. |
district_name |
string | Revenue district name, if known (lets the register be searched in the right zone when no zone is known) |
rural_urban |
string | "rural" or "urban", as the parcel lookup or the survey-to-map lookup returned it. Pass it: an urban (town survey) parcel is never matched to a village survey number. |
lat |
number | Property latitude, enables the nearest-street rate fallback for urban parcels |
lng |
number | Property longitude, enables the nearest-street rate fallback for urban parcels |
road_name |
string | Street name, for urban street-rate lookup |
sro |
string | Sub-registrar office name/code, if known |
zone |
string | Registration zone, if known |
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_value \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"survey_number":"65","sub_division":"4B","village_name":"Kavanoor","rev_district_code":"03","rev_taluk_code":"14","rev_village_code":"196","district_name":"Kancheepuram","rural_urban":"rural"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/guideline_value",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"survey_number": "65",
"sub_division": "4B",
"village_name": "Kavanoor",
"rev_district_code": "03",
"rev_taluk_code": "14",
"rev_village_code": "196",
"district_name": "Kancheepuram",
"rural_urban": "rural"
},
timeout=20,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/guideline_value", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"survey_number": "65",
"sub_division": "4B",
"village_name": "Kavanoor",
"rev_district_code": "03",
"rev_taluk_code": "14",
"rev_village_code": "196",
"district_name": "Kancheepuram",
"rural_urban": "rural"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
What is the guideline value of survey 65/4B in Kavanoor village, Kundrathur taluk? Give it per cent and per acre.
Your AI resolves the village codes and calls the guideline value check. It is free.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | A rate was found. Read match_type to see whether it is the parcel's own survey rate or its street's. |
not_found | The register holds no rate for this parcel. Nothing is charged. |
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 guideline value register of the Tamil Nadu Registration Department, in its two forms: the survey number register (village land, rated survey by survey) and the street register (towns and cities, rated street by street).
Every district of Tamil Nadu. Survey number rates by village and sub registrar office, and 454,112 street and locality rate entries for urban land, the street rate being the one the department applies where a city parcel has no survey rate.
Each rate carries the revision date the register gives it; the street register's current entries are effective from 1 July 2024. The register is read again when the department publishes a revision. Where an entry has no date in the register, the answer says so rather than guessing one.
Read from our copy of the published register, matched to the parcel by its codes. For a city parcel with no survey rate, the rate of the street the map point sits on is returned, with its distance in metres, so the match can be judged.
Who uses it
Stamp duty and fee calculators
Work out stamp duty and registration fee on the higher of the guideline value and the consideration, from the rate the office will actually apply.
Lenders and valuers
Put the government floor next to the market valuation on every file, and query any case where the two are far apart.
Property platforms
Show the guideline rate on a listing beside the asking price, so a buyer can see the gap before they visit.
Advocates and document writers
Quote the rate and its classification in a sale deed or opinion, with the sub registrar office it comes from.
Limits and good practice
- A guideline value is the government floor for registration, not the market price. Deeds register at the higher of the two.
- One survey can carry several rates for different classifications. Choose by the land's actual use, and say which one you used.
- City land is usually rated by street. Send lat and lng with every urban parcel, and send rural_urban, so a town survey parcel is never matched to a village survey number.
- A street match carries distance_m. A rate from a street 200 metres away is a guide, not the parcel's rate.
- When revision_date is null, do not print a revision date. Say the register does not record one for this entry.
Pricing
The guideline value 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 Tamil Nadu guideline values?
Yes, this one. The Registration Department publishes its guideline values on its portal for people to search one at a time; LandLens returns the same register's rate as JSON for a survey number or a street, over plain HTTPS or MCP, at no charge.
Is the guideline value the same as the market value?
No. It is the minimum value the government fixes for registration. Stamp duty and registration fee are charged on the higher of the guideline value and the price in the deed.
Why did I get a street rate for a survey number?
In towns and cities the department rates land by street. When the survey number register has no rate for an urban parcel, the API returns the rate of the street the map point stands on and tells you how far away that street is.
Which unit should I use?
val_original is the unit the register published; the rest are conversions of it. Cents and acres suit village land, square feet and grounds suit city plots.
Can I get the past guideline values of a property?
The past revisions are a separate call, guideline_history, which returns the parcel's rate across past revisions.
Updated 22 Oct 2026 · OpenAPI description