TNCDBR 2019 Building Rules API: setbacks, OSR, street widths
Yes. The LandLens building rule API answers one Tamil Nadu Combined Development and Building Rules 2019 question per call. Pick the subject: setbacks for a road width, frontage and floor count; open space reservation, EWS reservation, public purpose reservation or scrutiny fee for a layout area; whether a development is a sub-division or a layout; private passage and public street widths; corner splay; service road; self-certification eligibility; the building category (high rise, industrial, institutional, or a smaller or larger non high rise development); and the Greater Chennai Corporation approval tier. It costs nothing. For FSI, built-up area and floors together, use fsi_calculator.
https://verified.realestate/api/v1/tools/building_rule_calc- Price
- Free
- Source
- TNCDBR 2019, as amended
- Coverage
- Tamil Nadu, every planning authority
- Answers in
- Instant
Example
curl -X POST https://verified.realestate/api/v1/tools/building_rule_calc \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"subject":"setback","road_width_m":9,"frontage_m":12,"floors":4}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"subject": "setback",
"result": {
"front": 1.5,
"rear": 1.5,
"side1": 1.5,
"side2": 1.5
},
"note": "Setbacks in metres per TNCDBR 2019 Rule 35 tables (as amended by G.O. 69/2024). The single-side figure is the setback when the building is set back on one side only; the per-side figure is what each side needs when both are kept open. ..."
},
"credits_charged": 0
}
A real answer from the API for a four floor building on a 9 m road with a 12 m frontage; the end of the note, written for an AI reader, is cut.
What it returns
One call, one rule. result holds the figures; note cites the rule.
| Field | What it holds |
|---|---|
subject | The rule that was worked out. |
result | The figures for that rule: front, rear and side setbacks in metres; OSR area and fee in lieu; widths in metres; the fee; eligibility; or the building category with the rule that applies. |
note | The rule and clause the figures come from, with the conditions that change them. |
Inputs
The JSON body of the POST is the arguments. Send subject and the values that rule needs; a missing value comes back named.
| Argument | Type | What to send |
|---|---|---|
subjectrequired |
string: setback, osr, ews_reservation, public_purpose, development_type, passage_width, street_width, splay, service_road, scrutiny_fee, self_certification, building_class, gcc_tier | setback, osr, ews_reservation, public_purpose, development_type, passage_width, street_width, splay, service_road, scrutiny_fee, self_certification, building_class or gcc_tier. |
total_area_sqm |
number | The layout or site area in square metres (1 acre is 4,046.86, 1 ground 222.97, 1 cent 40.47). |
plot_area_sqm |
number | |
built_up_area_sqm |
number | |
commercial_area_sqm |
number | |
road_width_m |
number | The width of the abutting road in metres. |
frontage_m |
number | |
floors |
integer | |
housing_units |
integer | |
max_height_m |
number | |
height_m |
number | |
plots_served |
integer | |
passage_length_m |
number | |
street_length_m |
number | |
location_type |
string: cma, peri_urban, corporation, municipality, town_panchayat, village_panchayat, industrial | |
abuts_highway |
boolean | |
cba |
boolean | true when the site is in a Continuous Building Area. |
ews |
boolean | |
highrise |
boolean | |
use |
string: residential, commercial |
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/building_rule_calc \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"subject":"setback","road_width_m":9,"frontage_m":12,"floors":4}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/building_rule_calc",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"subject": "setback",
"road_width_m": 9,
"frontage_m": 12,
"floors": 4
},
timeout=15,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/building_rule_calc", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"subject": "setback",
"road_width_m": 9,
"frontage_m": 12,
"floors": 4
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
What setbacks do I need for a ground plus three building on a 9 m road with a 12 m frontage in Chennai?
Your AI works out the TNCDBR setbacks. It is free.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | The rule was worked out. |
not_found | A value the rule needs was missing (the answer names it), the subject was unknown, or no GCC tier applies. Nothing is charged. |
invalid_args | subject was missing. Nothing ran. |
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 Combined Development and Building Rules 2019 and the amendments to them, including G.O. 69 and 70 of 2024.
The rules apply across Tamil Nadu, CMDA and DTCP areas alike. The Greater Chennai Corporation tier applies in Chennai only.
The rule tables are kept to the rules as amended, through the 2024 orders. A later amendment changes the figures only when the tables are updated.
Worked out by the same rule engine that runs Build Scope, from the rule tables. Areas are in square metres and lengths in metres; nothing is read from a map.
Who uses it
Architects
Get the setbacks, splay and passage widths for a site before the first sketch.
Layout promoters
Work out OSR, EWS and public purpose reservation and the street widths for a layout of a given area.
Owners building a house
Check whether a small house qualifies for self-certification, and which office sanctions a Chennai file.
Limits and good practice
- These are the rule figures. The approving authority's reading of a particular site governs.
- Areas in square metres, lengths in metres. Convert first.
- For FSI, built-up area and floors together use fsi_calculator; for OSR in rupees use osr_fee.
- TNCDBR 2019 has no "special building" or "ordinary building" category; building_class answers in the 2019 rules' own terms.
Pricing
The building rule calculators cost nothing. Free calls have their own allowance per hour and per day, counted across every key and connected app on the account. 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 TNCDBR setbacks?
Yes. Send subject setback with road_width_m, frontage_m and floors and get the front, rear and side setbacks in metres, with the rule cited.
How is OSR worked out under TNCDBR 2019?
Nil for the first 3,000 sq m; from 3,000 to 10,000 sq m, 10% as land or its guideline value paid instead; above 10,000 sq m, 10% as land with no payment option. subject osr gives the area; osr_fee gives the rupees.
When is a development a layout and not a sub-division?
Send subject development_type with the area, road width and location type. A sub-division is up to eight plots on an adequate existing road; beyond that it needs layout approval.
How much does it cost?
It costs nothing, within the account's free call allowance.
Updated 22 Oct 2026 · OpenAPI description