CMDA Master Plan and DDP Map Sheet API
Yes. The LandLens planning map API takes a place name in the Chennai Metropolitan Area, a ward, neighbourhood, village, municipality or town panchayat, and returns the CMDA master plan or detailed development plan sheets that cover it, each with the local body, the plan type, a viewer link and the PDF itself. 421 sheets are indexed across the Chennai Corporation, the municipalities, the panchayat unions and the town panchayats. It costs nothing. It returns the plan document; the land use zone at one plot is the separate zone_check call.
https://verified.realestate/api/v1/tools/planning_map- Price
- Free
- Source
- CMDA master plan and DDP sheets
- Coverage
- 421 plan sheets, Chennai Metropolitan Area
- Answers in
- Usually under a hundredth of a second
Example
curl -X POST https://verified.realestate/api/v1/tools/planning_map \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"area":"Ambattur"}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"register": "planning_map",
"source": "CMDA master plan and DDP sheet index",
"query": "Ambattur",
"count": 1,
"total_matches": 1,
"note": "A plan sheet shows the land use colouring for a whole village or ward. It does not by itself tell you the zone of one plot: for that, run the Zone and restriction check at the plot coordinate.",
"records": [
{
"map": "Ambattur Master Plan",
"body": "Chennai Corporation",
"body_type": "Corporation",
"type": "Master Plan",
"detail_url": "https://verified.realestate/cmda/maps/view/corporation/Chennai%20Corporation/Ambattur_MP.pdf",
"pdf_url": "https://files.verified.realestate/cmda/pdfs/CMDA_Maps_Organized/Corporation%20of%20ChennaiCity/Chennai%20Corporation/Ambattur_MP.pdf"
}
]
},
"credits_charged": 0
}
A real answer from the API, unedited apart from the billing fields.
What it returns
One call returns up to 20 sheets. note always reminds that a sheet covers a whole village or ward.
| Field | What it holds |
|---|---|
records[].map | The sheet's name, e.g. Ambattur Master Plan. |
records[].body, body_type | The local body the sheet belongs to, and its class: Corporation, Municipality, Panchayat Union or Town Panchayat. |
records[].type | Master Plan or DDP (detailed development plan). |
records[].detail_url | The sheet's viewer page on verified.realestate (a path), or the local body's listing page when the sheet has no viewer. |
records[].pdf_url | The plan sheet as a PDF, when a direct link is available. |
count, total_matches | How many sheets came back and how many matched. |
fell_back_to | Present when the place as typed matched nothing and a word from it was used instead. |
note | How to read the result, and any caveat on the match. |
Inputs
The JSON body of the POST is the arguments. Send area, or body_type on its own to list every sheet of that class.
| Argument | Type | What to send |
|---|---|---|
area |
string | The place the plan should cover: a ward, neighbourhood, village, municipality or town panchayat. The place only. |
body_type |
string: corporation, municipality, town_panchayat, panchayat_union | Only one class of local body: corporation, municipality, panchayat_union or town_panchayat. |
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/planning_map \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"area":"Ambattur"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/planning_map",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"area": "Ambattur"
},
timeout=20,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/planning_map", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"area": "Ambattur"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
Show me the CMDA master plan map for Ambattur.
Your AI finds the plan sheet and gives you the link. It is free.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | One or more sheets cover the place. |
not_found | No sheet is published for this place, or nothing was sent. The answer links the full list of sheets. |
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 land use plan sheets of the Chennai Metropolitan Development Authority: the master plan sheets and the detailed development plans, published village by village and ward by ward.
421 sheets: 184 for the Chennai Corporation, 35 for the municipalities, 180 for the panchayat unions and 22 for the town panchayats. The Chennai Metropolitan Area only.
The sheets are the plans as CMDA published them, held on our own file host. They change only when CMDA issues a new plan.
The place is matched against the sheet names, the local body and the file name: as a whole word first, then from the start of a word, and only then anywhere inside a name. If the whole phrase misses, its longest meaningful word is tried and the answer says so.
Who uses it
Buyers and architects
Open the land use plan for the village or ward a plot is in, before designing or buying.
Chat and support bots
Answer "where is the master plan for my area" with the actual sheet, not a link to a search page.
Property sites
Link each Chennai locality page to its CMDA plan sheet.
Limits and good practice
- The Chennai Metropolitan Area only. Outside it the plan is a DTCP master plan, which this index does not hold.
- Sheets are named after the revenue village or ward. A colony or layout name will not match; use the village or neighbourhood.
- A sheet shows the zoning of a whole village or ward. For the zone at one plot, call zone_check with cmda_landuse or master_plan.
- A few sheets have no direct PDF link; detail_url then opens the local body's listing page.
Pricing
The planning map costs 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 the CMDA master plan map?
Yes. Send a place name and the API returns the CMDA master plan or DDP sheets that cover it, with the PDF link. It is free.
How do I find the land use zone of my plot?
Use zone_check with the plot's latitude and longitude and the cmda_landuse or master_plan check. This call returns the plan sheet, not the zone at a point.
Does it cover DTCP master plans outside Chennai?
No. Only CMDA's plans for the Chennai Metropolitan Area are indexed. zone_check reads the master plan zone at a point in several other planning areas.
What is a DDP?
A detailed development plan: CMDA's larger scale land use plan for a smaller area, read together with the master plan.
Updated 22 Oct 2026 · OpenAPI description