Build Scope API, what can be built on a plot
Yes. The LandLens Build Scope API works out what can be built on a Tamil Nadu plot under the Combined Development and Building Rules 2019. Send the plot's location, its four side lengths, which sides face a road with each road's width, and the intended development. The zoning at the plot is read, 30 and more overlays are checked (airport height, coastal zone, water bodies, road widening and the like), and the rules are applied: achievable FSI, built-up area, floors and height, setbacks per side with the rule cited, parking and the NOCs the project needs. The report runs in the background in about 10 minutes, is saved to your Build Scope list, and costs 4 credits, refunded if it fails.
https://verified.realestate/api/v1/tools/build_scope- Price
- 4 credits when it starts, refunded if it fails
- Source
- Building rules, zoning and overlays
- Coverage
- Tamil Nadu plots
- Answers in
- About 10 minutes, in the background
Example
curl -X POST https://verified.realestate/api/v1/tools/build_scope \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"lat":12.8549,"lng":80.207,"side_a":15,"side_b":30}'
{
"ok": true,
"status": "not_found",
"data": {
"found": false,
"gathering": true,
"need": [
"SIDE C length in metres (1-500)",
"SIDE D length in metres (1-500)",
"which side(s) face a road (A/B/C/D)",
"the intended development type (residential / mixed_residential / commercial / institutional / industrial)"
],
"note": "Ask the user for the missing inputs above conversationally (this gathering is free), then call build_scope again with everything. Tip: side A is the front; road width is the existing road, not a proposed widening."
},
"credits_quoted": 0,
"credits_charged": 0,
"credits_waived": 0
}
A real answer to an incomplete call. A complete call starts the paid report, so it is not shown here.
What it returns
A call with inputs missing answers not_found with the list of what is still needed, and charges nothing. A complete call answers queued; poll job_status with the job_id until it is done.
| Field | What it holds |
|---|---|
need (incomplete call) | Each input still missing, in plain words. |
job_id, poll (complete call) | The report is queued. job_status returns it. |
payload.blocks.buildscope.fsi | Achievable and permissible FSI, built-up and permissible building area, building dimensions. |
payload.blocks.buildscope.setbacks | The setback on each side, with the rule it comes from. |
payload.blocks.buildscope.parking, noc | The parking requirement, and the NOCs the project needs with a summary and whether any is critical. |
payload.blocks.buildscope.plot_area, landuse, viz | The plot area worked from your sides, the land use zone, and the drawing data for the setback diagram. |
payload.blocks.buildscope.report_link | The full Build Scope report in LandLens. |
Inputs
The JSON body of the POST is the arguments. lat and lng are required by the schema; the four sides, the road sides with their widths and the development type are needed too.
| Argument | Type | What to send |
|---|---|---|
latrequired |
number | Latitude of the plot. Resolve the parcel first. |
lngrequired |
number | Longitude of the plot. |
name |
string | A short label for the saved report. |
side_a |
number | The front side, in metres (1 to 500). |
side_b |
number | The next side going around, in metres. |
side_c |
number | The rear side, in metres. |
side_d |
number | The fourth side, in metres. |
road_facing_sides |
array | Which sides face a road, e.g. ["A"]. |
road_widths |
object | The existing road width on each road side, in metres, e.g. {"A": 9}. Not a proposed widening. |
development_type |
string: residential, mixed_residential, commercial, institutional, industrial | residential, mixed_residential, commercial, institutional or industrial. |
building_scale |
string: small, apartment, large | small (a house), apartment (a small apartment block) or large. Default small. |
patta_area |
number | Documented patta area in sq.m, if the user has it (optional) |
target_housing_units |
integer | Intended number of dwelling units (optional) |
educational_subtype |
string: school, college, primary_school | educational institutions only |
industrial_category |
string: white, green, orange, red | TNPCB category (industrial only) |
industrial_subtype |
string: manufacturing, it_software | industrial only |
institutional_type |
string: educational, healthcare, government, religious | institutional only |
is_government |
boolean | Government institution (institutional only) |
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/build_scope \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"lat":12.8549,"lng":80.207,"side_a":15,"side_b":30}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/build_scope",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"lat": 12.8549,
"lng": 80.207,
"side_a": 15,
"side_b": 30
},
timeout=30,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/build_scope", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"lat": 12.8549,
"lng": 80.207,
"side_a": 15,
"side_b": 30
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
What can I build on my plot at Thazhambur? It is 15 m along the road and 30 m deep, the front faces a 9 m road, and I want a small apartment block.
Your AI asks for anything missing, then generates the report and reads you the FSI, floors and setbacks.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
not_found | Inputs are missing; need lists them. Not charged. |
queued | The report is being generated. Poll job_status with job_id about once a minute; it takes about 10 minutes. |
done | In job_status data.status: the job is delivered. payload holds the report and credits_charged what it cost; when the report could not be made, or the rules do not permit a building on the plot, message says why and credits_charged is 0. |
failed | In job_status data.status: the job did not run, with the reason in error. Nothing is charged. |
Where the data comes from
The Tamil Nadu Combined Development and Building Rules 2019 and their amendments, the land use zoning at the plot from the planning authority's master plan, and the overlay layers LandLens holds (airport height, coastal zone, water bodies, road widening and others).
Plots anywhere in Tamil Nadu. Residential, mixed residential, commercial, institutional and industrial development, at house, small apartment or large project scale.
The rules are applied as amended; the zoning and overlays are as of their last refresh, shown on the LandLens data freshness page.
The same pipeline as Build Scope in LandLens: zoning first, then the overlays, then the rule calculation on the plot's real dimensions and road frontage. A plot the rules do not permit the use on returns that verdict and is refunded.
Who uses it
Developers
Size a land deal by what it can carry: floors, built-up area and units, before the architect is briefed.
Land aggregators and brokers
Put the achievable FSI and floors on every plot you list.
Valuers and lenders
Value a plot on its development potential, with the rules and overlays cited.
Limits and good practice
- A planning estimate, not an approval. The planning authority decides on the drawings submitted.
- The four sides describe a four-sided plot. An irregular plot is approximated by them.
- Road width is the existing road. A road widening line is checked as an overlay, not assumed.
- Runs about 10 minutes in the background. Do not repeat the call; a second call for the same plot while one is running is not queued again.
Pricing
A report costs 4 credits when it is generated, and is refunded if it fails or the rules do not permit the use. Gathering the inputs is free. Credits come from the same LandLens wallet as the chat and the minis. How billing works.
For thousands of calls a month, a portfolio sweep or a platform built on these registers, we quote a customised bulk price, with invoicing to match.
Questions
Is there an API for FSI and setbacks in Tamil Nadu?
Yes. LandLens Build Scope applies the Combined Development and Building Rules 2019 and the overlays at the plot, and returns the achievable FSI, floors, setbacks per side, parking and NOCs.
What inputs does it need?
The plot's location, its four side lengths in metres, which sides face a road with each road's width, and the intended development type. A call with less answers with what is missing.
How much does it cost?
4 credits per report, refunded if the report fails.
How long does it take?
About 10 minutes. Poll job_status with the job_id the call returns.
Updated 22 Oct 2026 · OpenAPI description