CMDA Building and Layout Register API
Yes. The LandLens CMDA register API searches the Chennai Metropolitan Development Authority file series that sit outside the online planning permission list: high rise, non high rise, ordinary (Channel A) and industry and institution (Channel C) building approvals, CMDA layout approvals, the authority's office orders and Form II inspection notices, and the older register of RERA registered buildings and layouts. Pick the register, send a file number, PP number, name, street or phrase, and you get up to 20 records with the file and permit numbers, applicant, approval date, site address, areas, architect and engineer and the completion certificate status where the register records them. It costs 1 credit a search, and nothing when no record matches.
https://verified.realestate/api/v1/tools/cmda_register- Price
- 1 credit per answer
- Source
- CMDA's published approval registers
- Coverage
- About 32,000 records across nine registers
- Answers in
- Usually under a tenth of a second
Example
curl -X POST https://verified.realestate/api/v1/tools/cmda_register \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"register":"high_rise","area":"Anna Nagar"}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"register": "high_rise",
"query": "Anna Nagar",
"count": 13,
"total_matches": 13,
"records": [
{
"file_no": "C3(S)/578/2021",
"applicant": "M/s Green Peace Housing LLP Rep by its Partner 1.Thiru.S.R.Jagadeesan & 2.Thiru.R.Mani and Others, ...",
"pp_no": "14554",
"sbc_no": "578",
"year": "2022",
"date_of_approval": "2022-09-15",
"site_address": "D.No.160/1, Jawaharlal Nehru Road (7th Avenue) Anna Nagar West, Chennai -40 in S.No.202(Part) 207(Part) 212(Part) & 227(Part) T.S.No.14/5, Block No.28 of Koyambedu Village.",
"village": "Koyambedu",
"plot_area_sqm": "1555",
"architect_surveyor": "Thiru.Abishek V RA/GR.1/19/03/043 No.3362, AQ Block, AF 8th Street, 11th Main Road, Anna Nagar, Chennai 98408••••• abi•••••@gmail.com",
"detail_url": "https://verified.realestate/cmda/ppa-approvals/high-rise-buildings/c3s-578-2021"
}
]
},
"credits_charged": 1
}
A real answer from the API, trimmed for length: one of the 13 records is shown, the applicant's address is cut and the structural engineer is left out.
What it returns
One call searches one register and returns up to 20 records. Each register has its own fields; the common ones are below.
| Field | What it holds |
|---|---|
register, count, total_matches | Which register was searched, how many records came back and how many matched in all. |
records[].file_no, pp_no, approval_no, sbc_no | The CMDA file number and the planning permit, approval and building permit numbers the register gives. |
records[].applicant | The applicant as the register records it. |
records[].year, date_of_approval, approval_date | When the approval was given. |
records[].site_address, village, area | Where the building or layout is, with the survey and town survey numbers when the address carries them. |
records[].plot_area_sqm, floor_area_sqm, area_sqm, total_extent_sqm | Plot, floor and layout extents in square metres, per register. |
records[].architect_surveyor, structural_engineer | The licensed professionals on the file, with contact details masked. |
records[].completion_certificate_no, cc_status | The completion certificate number and whether it was issued, rejected or returned, where the register says. |
records[].public_purpose_plots, local_body | For layouts: the plots reserved for public purpose and the local body. |
records[].order_number, order_date, subject, pdf_url | For office orders: the order, its date, its subject and the order itself. |
records[].rera_id, promoter, project_address, approval_details, status | For the registered building and layout lists: the registration, promoter, address, approval reference and status. |
records[].detail_url | The record's page on verified.realestate (a path). |
note | Present when the list was capped, a filter could not apply, or the register is statewide. |
Inputs
The JSON body of the POST is the arguments. Send register with at least one of query, area or year.
| Argument | Type | What to send |
|---|---|---|
registerrequired |
string: ordinary_building, industries_institution, high_rise, non_high_rise, layout, registered_building, registered_layout, office_order, form_ii_notice | Which file series to search: ordinary_building, industries_institution, high_rise, non_high_rise, layout, registered_building, registered_layout, office_order or form_ii_notice. |
query |
string | A file number, PP or approval number, applicant or promoter name, street or village, or a phrase from an order's subject. |
area |
string | A locality inside the metropolitan area, e.g. Anna Nagar. |
year |
integer | The approval or order year. |
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/cmda_register \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"register":"high_rise","area":"Anna Nagar"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/cmda_register",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"register": "high_rise",
"area": "Anna Nagar"
},
timeout=20,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/cmda_register", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"register": "high_rise",
"area": "Anna Nagar"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
Which high rise buildings in Anna Nagar did CMDA approve, and do they have completion certificates?
Your AI searches the CMDA high rise register and tells you the price first.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | One or more records matched. Charged 1 credit. |
not_found | No record matched, the register name was not one of the nine, or no query, area or year was sent. Nothing is charged. |
invalid_args | register was missing, or a phone number was written into the search. Nothing ran. |
insufficient_credits | The account has too few credits. Nothing ran. |
Where the data comes from
The registers the Chennai Metropolitan Development Authority publishes alongside its online permits: the offline high rise and non high rise building lists, Channel A ordinary building and Channel C industry and institution approvals, CMDA layout approvals, office orders, Form II inspection notices, and the older register of RERA registered buildings and layouts.
About 7,550 layout approvals, 6,870 non high rise and 1,045 high rise building approvals, 1,740 ordinary building and 670 industry and institution approvals, 77 office orders and 43 Form II notices, plus about 2,900 registered buildings and 11,400 registered layouts. The building and layout files run from 2005 to the present; the CMDA area only, except the two registered project lists, which are statewide.
These are closed or slow moving series, held as published. The current online CMDA planning permissions and completion certificates are read every week and every night, and are a separate call, cmda_check.
Searched in our copy of each register, on the same fields the public register pages search (file and permit numbers, names, addresses, the proposal text), plus the locality for area. Newest year first. Phone numbers and email addresses inside the architect and applicant fields are masked.
Who uses it
Flat buyers
Find the CMDA approval behind an older apartment block, its permit number and whether a completion certificate was issued.
Advocates
Quote the CMDA file and approval numbers of a building or layout in a title opinion, with the survey numbers from the address.
Analysts
List the high rise and layout approvals in a locality to read how a neighbourhood was built up.
Limits and good practice
- The Chennai Metropolitan Area only. Elsewhere in Tamil Nadu use ppa_approval.
- The older offline registers are incomplete. No match is not proof that a building is unapproved.
- The current online planning permissions, violations, sealed buildings, registered professionals and completion certificates are in cmda_check, not here.
- The registered building and layout lists are statewide. Read the address before treating a hit as a CMDA record.
- Form II notices carry no usable date of their own; the date is read from the notice text.
- Office orders have no locality, so area is ignored for them.
Pricing
Each search costs 1 credit. A search that matches nothing 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 CMDA building approvals?
Yes. This call covers the high rise, non high rise, ordinary building, institution and layout files; cmda_check covers the online planning permissions and completion certificates. Both return JSON over HTTPS or MCP.
Can I check a CMDA file number?
Yes. Send the file number as query with the register it belongs to. If you do not know the register, try high_rise, non_high_rise and layout in turn, then cmda_check.
Does it tell me whether a completion certificate was issued?
Where the register records it, completion_certificate_no and cc_status do. The full certificate register is searched by cmda_check with subject completion_certificate.
Can I search by area?
Yes. Send area with a locality such as Anna Nagar, on every register except office orders.
How much does it cost?
Each search costs 1 credit. Nothing is charged when no record matches.
Updated 22 Oct 2026 · OpenAPI description