Builder and Promoter Background Check API
Yes. The LandLens promoter dossier API takes a builder, promoter or project name and searches every register we hold at once: projects registered with the state's real estate regulator (current and older registers, buildings and layouts), lapsed registration files, complaint orders where the builder was the respondent, the CMDA violation and locked and sealed building lists, the CMDA developer register and regularised layouts. You get counts for each, up to 15 projects, and the adverse records themselves with links to the orders. It costs 1 credit a check, and nothing when no register carries the name.
https://verified.realestate/api/v1/tools/promoter_dossier- Price
- 1 credit per answer
- Source
- Real estate, CMDA and complaint registers, together
- Coverage
- About 27,000 projects and 3,000 complaint orders
- Answers in
- Usually under half a second
Example
curl -X POST https://verified.realestate/api/v1/tools/promoter_dossier \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"G Square Realtors"}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"query": "G Square Realtors",
"counts": {
"projects": 41,
"projects_by_name": 0,
"lapsed_rera_files": 0,
"rera_judgements": 2,
"cmda_violations": 0,
"cmda_locked_sealed": 0,
"regularised_layouts": 0
},
"projects": [
{
"matched_on": "promoter",
"kind": "building",
"rera_id": "TNRERA/29/BLG/0402/2025",
"project": "G square Pristine Icon 1Registration for Stilt Floor + 3 Floors Residential Building with 16 Dwelling Units at Plot Nos. 61 & 62 ...",
"promoter": "M/s. G Square Realtors Private Limited",
"registered": "2025-12-09",
"completion": "20.12.2027"
}
],
"adverse": {
"rera_judgements": [
{
"complaint_number": "RCP No.41/2026",
"complaint_year": 2026,
"judgement_type": "smb",
"respondent": "G Square Realtors",
"final_order_date": "2026-07-07",
"matched_on": "respondent",
"record_url": "https://verified.realestate/landlens/mini/approvals/rera-case/5023"
}
]
},
"standing": []
},
"credits_charged": 1
}
A real answer from the API, trimmed for length: one of 15 projects and one of two orders are shown, the complainant's name and the reading note are left out, and the project text is cut. A complaint order records a dispute and its outcome; read the order before drawing a conclusion.
What it returns
One call. Read counts first; then projects, adverse and standing hold the records.
| Field | What it holds |
|---|---|
counts | projects (matched on the promoter), projects_by_name, lapsed_rera_files, rera_judgements, cmda_violations, cmda_locked_sealed and regularised_layouts. |
projects[] | Up to 15 registered projects: matched_on, kind (building, layout, or the older register's), rera_id, project, promoter, registered, status and completion. |
adverse.rera_judgements[] | Up to 10 complaint orders: complaint_number, complaint_year, judgement_type, complainant, respondent, final_order_date, matched_on and record_url. |
adverse.cmda_violations, cmda_locked_sealed, lapsed_rera_files | Up to 5 each: the file, the owner, the site, and the violation, sealing date or status. |
standing.cmda_developer_registration | The builder's CMDA developer registration, number and validity, if any. |
standing.regularised_layouts | Regularised layouts promoted under the name. |
developer_url, developer_name | The builder's page on verified.realestate, when one exists. |
message | On no match, a hint to try the registered firm name. |
Inputs
The JSON body of the POST is the arguments. Send the name as the firm registers it ("G Square Realtors"), not only the brand.
| Argument | Type | What to send |
|---|---|---|
queryrequired |
string | The builder, promoter, developer or project name, at least three characters. |
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/promoter_dossier \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"G Square Realtors"}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/promoter_dossier",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"query": "G Square Realtors"
},
timeout=20,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/promoter_dossier", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"query": "G Square Realtors"
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
Run a background check on the builder of the flat I am buying. How many projects have they registered, and are there complaint orders or CMDA violations against them?
Your AI searches every register for the builder 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 | At least one register carries the name. Charged 1 credit. |
not_found | No register carries the name, or it was shorter than three characters. Nothing is charged. |
invalid_args | query was missing, or a phone number was written into it. Nothing ran. |
insufficient_credits | The account has too few credits. Nothing ran. |
Where the data comes from
The Tamil Nadu real estate regulator's project registers (current and older offline), its lapsed files and complaint orders, its regularised layouts, and CMDA's violation list, locked and sealed buildings list and developer register.
About 27,200 registered projects (1,109 buildings and 11,723 layouts on the current register, 14,366 on the older one), 3,014 complaint orders, 56 lapsed files, 9,476 regularised layouts, 194 CMDA violations, 255 sealed buildings and 3,021 CMDA registered developers.
Follows each register: projects are read about monthly, complaint orders every two weeks, CMDA lists less often.
The name is matched at the start of a word in the promoter or project field, so "G Square" does not match "Big Square". Adverse registers need the whole name as words. A complaint order is matched on the respondent or on the project named in quotes; repeated filings of one complaint count once. Projects matched on the promoter come before those matched only on the project name.
Who uses it
Flat and plot buyers
See a builder's registered projects and any complaint orders, violations or sealing before paying a booking advance.
Lenders
Add a promoter check to project approval for home loans, with the adverse records and their dates on file.
Land owners
Check a builder's track record before signing a joint development agreement.
Limits and good practice
- Names are matched as text. Confirm a matched name is the same firm before concluding anything, especially for common words.
- A complaint order is a dispute and its outcome, not a finding of fraud. Read the order.
- Only final orders are on the complaint register; pending complaints are not.
- A brand name and a registered firm name often differ. Try both.
- Some project names come back joined to the start of their description, as in the sample.
Pricing
Each check costs 1 credit. A name no register carries 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 to check a builder's background in Tamil Nadu?
Yes, this one. One call searches the real estate registers, the complaint orders, the CMDA violation and sealing lists and the developer register for the name.
Does it tell me whether a builder is safe?
It tells you what the registers record: projects, complaint orders, violations, sealing and registration. Whether that is acceptable is your judgement; counts gives the shape at a glance.
Why did a different firm come back?
Matching is on words in the name. Check the promoter field on each project, and send the full registered name to narrow it.
How much does it cost?
Each check costs 1 credit. Nothing is charged when no register carries the name.
Updated 22 Oct 2026 · OpenAPI description