Square Yards Property Search — Connector Documentation
Overview
Square Yards Property Search is a read-only Model Context Protocol (MCP) connector that lets Claude search and compare Indian real estate — resale and rental listings, new-construction projects, localities, developers, and price/rate data — from Square Yards' live property data. It exposes search and lookup tools only: it cannot modify, create, delete, or send anything, and it takes no action on your behalf. No authentication or sign-in is required.
Scope: India only
This connector serves real-estate information for India only (Indian cities, localities, micromarkets, projects, listings, and price rates). It does not cover property in any other country. Requests for real estate outside India are declined.
Setup — add it to Claude
No account, API key, or credentials are needed.
- In Claude, open Settings → Connectors.
- Click Add custom connector.
- Paste the MCP URL:
https://sy-mcp.squareyards.com/mcp - Click Add.
Claude connects anonymously over HTTPS and lists the nine tools below. (Web/desktop UIs may word the menu slightly differently, e.g. "Add custom connector" under a Developer or Advanced section.)
How the tools fit together
A typical flow is resolve a place → search → (optionally) drill in or compare:
- Ask in plain language.
search_propertiesandsearch_projectsaccept a free-textlocationand resolve it themselves, so most searches are a single call. - Use
search_entitiesonly to disambiguate an ambiguous place, get a landmark's coordinates, or resolve a specific builder/project name to an id. - Use
get_entity_detailsfor the full detail of one listing/project, or for a place's price & market rates. - Use
compare_entitiesto place 2–4 same-type items side by side. - Use
recommend_localitiesto rank many localities (or a city's top areas) for end-use vs investment with transparent, data-derived scores. - Use
search_faqfor informational "how/what/why" questions. - Use
estimate_home_loanfor EMI/affordability numbers andarea_conversionfor area/land unit conversions — both are pure offline calculators (no ids, no live data).
All budgets/prices are absolute INR (40 lakh → 4000000); areas are in sq ft; bedrooms is a BHK label like "2 BHK". Results are scoped and paginated.
Tools
search_properties — Search Property Listings
What it does. Searches actual sale or rent listings (individual resale/rental units), returned as property cards.
When to use it (vs. siblings). Pick this for listing intent — "flats for sale", "2 BHK to rent". For new developments use search_projects; for a general buy intent with no resale-vs-new preference, call both. For a place's price trends (not individual units) use get_entity_details with entity="property-rates".
Key parameters. listingType ("Sale" | "Rent", always set it); location (free-text place, resolved internally); bedrooms (e.g. "2 BHK,3 BHK"); propertyTypeName (exact types: Apartment, Villa, Builder Floor, Independent House, Office Space, Shop, Plot, …); minPrice / maxPrice (absolute INR); minArea / maxArea (sq ft); furnishing; amenityName; byOwner / zeroBrokerage; lat / long or landmarkId for a radius search; sort; page / size (size ≤ 50). For precise scoping you may pass an entity's forProperties ids (cityId / subLocalityId / microMarketId) instead of location. Each result card carries a normalized areaSqft + pricePerSqft (₹/sq.ft) for value comparisons, and a dataQualityFlag string when an area/price looks implausible.
Example request
{ "listingType": "Sale", "location": "Sector 43 Gurgaon", "bedrooms": "3 BHK", "maxPrice": 20000000 }
Example response (trimmed)
{
"ok": true, "total": 128, "page": 1, "totalPages": 13,
"listings": [
{ "id": "1857423", "title": "3 BHK Apartment in DLF Phase 1",
"price": 18500000, "bhk": 3, "areaText": "1650 sq.ft.", "areaSqft": 1650, "pricePerSqft": 11212,
"locality": "DLF Phase 1", "city": "Gurgaon", "isVerified": true }
]
}
price is absolute INR (or null with "priceOnRequest": true when the price is unavailable). Listings use the numeric price; project cards use a formatted priceText.
On a geo/radius search (lat/long or landmarkId), each result also carries distanceInKm, and the response echoes the searched landmark's name as a top-level landmark (e.g. "landmark": "IGI Airport") so distances can be shown as "2.4 km from IGI Airport". The same applies to search_projects.
To open one listing's full detail, copy its id and call get_entity_details with entity="listing".
search_projects — Search New-Construction Projects
What it does. Searches new-construction projects / developments (under-construction, new-launch, ready-to-move, upcoming), returned as project cards with developer, price band, BHK configs, status, and RERA details.
When to use it (vs. siblings). Pick this for project/new-launch intent; use search_properties for resale/rental listings. For a specific named project, resolve the name via search_entities (entityType="project"), take its dotcomId, and open it with get_entity_details — a city-wide search returns the wrong project.
Key parameters. location (free-text, resolved internally); bhk (e.g. "2,3"); minPrice / maxPrice; possessionStatus (new_launch | under_construction | ready_to_move — upcoming/stalled are NOT search-filterable and return a clean empty-with-note); possesion (completion year(s), e.g. "2027"); buildingType ("1" residential / "2" commercial); amenityName; lat / long or landmarkId; sort; page / paging (page size ≤ 50). For precise scoping pass an entity's forProjects ids (cityId / localityId / micromarketId / builderId).
Example request
{ "location": "Noida", "bhk": "3", "possessionStatus": "under_construction", "maxPrice": 25000000 }
Example response (trimmed)
{
"ok": true, "total": 42, "page": 1, "totalPages": 2,
"projects": [
{ "id": "607152", "name": "ATS Destinaire", "developerName": "ATS",
"priceText": "₹2.1 Cr onwards", "status": "Under Construction",
"bhkConfigs": ["3 BHK", "4 BHK"], "locality": "Sector 1", "city": "Greater Noida West" }
]
}
search_entities — Resolve Place, Builder or Project
What it does. Resolves a place, brand, or project name (city, locality, micromarket, builder, project, landmark) into the ids the other tools need. Returns ranked entity summaries — never full listings or projects.
When to use it (vs. siblings). For a normal place-based search you do not need this first — search_properties / search_projects resolve location themselves. Use search_entities only to disambiguate an ambiguous place, fetch a landmark's coordinates, or resolve a builder/project name to an id.
Key parameters. q (free-text place/brand/project name, required); entityType (optional comma list to scope types: city, locality, micromarket, builder, project, landmark); cityHint (bias ranking toward a city); size (≤ 50). Results carry ready-to-use forProperties (for search_properties) and forProjects (for search_projects) scope objects; a project result carries a dotcomId; a landmark result carries coordinates.
Example request
{ "q": "Godrej Properties", "entityType": "builder" }
Example response (trimmed)
{
"ok": true, "count": 1,
"entities": [
{ "name": "Godrej Properties", "type": "builder",
"dotcomId": "8123",
"forProjects": { "builderId": "8123" },
"forProperties": { "builderId": "8123" } }
]
}
get_entity_details — Get Entity Details & Rates
What it does. Fetches full detail for one entity by id — a project's possession/completion date, per-wing RERA, amenities, and spec; a listing's full attributes; a locality's rates and pros/cons; or a developer's profile (projects by city, plus a trust block: company overview, head office, leadership, awards and FAQs). Also serves a place's price/market-rate insight via entity="property-rates".
When to use it (vs. siblings). Use it only when a search result did not already answer the question. You must already hold the entity's numeric id — resolve it via a search tool first; never guess an id or slug.
Key parameters. entity (city | locality | micromarket | developer | project | listing | property-rates); id (numeric id copied verbatim from a prior result); idType (beats default | dotcom, only affects city/locality/micromarket); rateType (city | locality | micromarket, required when entity="property-rates"); fields (optional comma-separated sections; the default section answers most questions).
Example request
{ "entity": "project", "id": "607152", "fields": "projectData" }
Omit fields to get the default section set (for a project: projectData, landmarks, reraData, similarProjects, and more); pass fields to scope to specific sections (here just projectData).
Example response (trimmed)
{
"ok": true, "entity": "project", "id": "607152",
"sections": ["projectData"],
"detail": {
"projectId": "607152",
"projectData": {
"name": "ATS Destinaire", "status": "Under Construction",
"possessionStartingFrom": "Dec 2027",
"projectReraData": [
{ "ReraProjectName": "Tower A", "ReraProjectNumber": "UPRERAPRJ123456", "CompletionDate": "2027-12-31" }
]
}
}
}
Detail fields are grouped under the section key named in sections (here projectData); possessionStartingFrom is a "Mon YYYY" string.
For price/market rates, call with entity="property-rates", rateType="city" (or locality/micromarket), and the place's beats id from search_entities. The rates response covers asking price and quarterly trend, rates by area / property type / project status, rental rates and yield, the most-active developers, top projects by asking rate and by registered transactions, and government-registry activity (registered deal count, gross value, registered rate) — all real numbers. A city detail also returns a recent curated news feed (cmsNews: dated items with source and topic tag).
compare_entities — Compare Entities
What it does. Places 2–4 entities of the same type side by side (two projects, three localities, two listings, …), rendered as a comparison table.
When to use it (vs. siblings). Use it instead of calling get_entity_details repeatedly when the user asks to compare/contrast named places or properties. All items must be the same entity type; cross-type comparison and property-rates are not supported.
Key parameters. items — an array of 2–4 objects, each { entity, id, idType? }, all sharing one entity. Resolve each id first via search_entities / search_properties / search_projects.
Example request
{ "items": [ { "entity": "project", "id": "607152" }, { "entity": "project", "id": "588430" } ] }
Example response (trimmed)
{
"compare": true, "entity": "project", "count": 2,
"items": [
{ "ok": true, "entity": "project", "id": "607152", "detail": { "projectData": { "name": "ATS Destinaire" } } },
{ "ok": true, "entity": "project", "id": "588430", "detail": { "projectData": { "name": "Godrej Woods" } } }
]
}
recommend_localities — Recommend & Rank Localities
What it does. Ranks 2–20 localities (or a city's top localities) for end-use vs. investment, as a scored list. A read-only aggregation over the same signals get_entity_details(entity="locality") already returns — the backend's 0–5 area indices, the price-trend %, government-registration deal volume, and rental yield — combined by a published, deterministic formula. It never invents a verdict: a missing signal is omitted (not zero-filled), and the raw numbers plus the locality's verbatim pros/cons ride alongside every score. A locality is only ranked when its present signals cover **more than half of the goal's *discriminating* weight — for investment that means over 50 % of {price appreciation, registered-deal liquidity, rental yield}, i.e. at least two of the three** investment signals (connectivity, an end-use index, does not count toward the investment gate). Thinner ones are returned under insufficientData (with the signals that *are* known and the reason), so a locality with only price appreciation — and no deal volume or yield — can never top an investment ranking; each ranked item also carries signalCoverage and signalsUsed.
When to use it (vs. siblings). Pick it when the user names many areas or asks for "the best area(s)" / a recommendation — compare_entities is only a 2–4 side-by-side table and never ranks. Resolve each locality name to an id via search_entities (entityType="locality") first.
Key parameters. localities — 2–20 objects { id, idType? } — or cityId (+ cityIdType?) to rank a city's top localities. Optional budget { min, max } (absolute INR) flags each inBudget; goal = end_use | investment | both (default). Scoring (0–100): connectivity/lifestyle/livability = the 0–5 index ×20; appreciation from price-trend % (0%→50, ±12.5%→100/0); liquidity + value (rental yield) are ranked relative to the set. Weights — end-use: livability .35, connectivity .30, lifestyle .25, value .10; investment: appreciation .40, liquidity .30, value .20, connectivity .10; overall = their mean.
Example request
{ "localities": [ { "id": "1138", "idType": "dotcom" }, { "id": "1170", "idType": "dotcom" } ], "budget": { "min": 20000000, "max": 30000000 }, "goal": "both" }
Example response (trimmed)
{
"recommend": true, "goal": "both", "count": 2,
"ranked": [
{
"id": "1138", "name": "Kokapet", "cityName": "Hyderabad",
"scores": { "endUse": 84, "investment": 88, "overall": 86, "connectivity": 78, "lifestyle": 84, "livability": 88, "appreciation": 75, "liquidity": 72, "value": 58 },
"avgRate": 11900, "rentalYield": 3.63, "priceTrendPct": 6.3, "transactions": 424, "inBudget": true,
"reason": "Price growth +6.3% over 3 quarters; 424 registered deals (resale liquidity); livability 4.4/5. Watch: premium ₹/sq.ft (₹11,900/sq.ft, the highest in this set)."
}
]
}
search_faq — Search Real-Estate FAQ
What it does. Answers informational / advisory real-estate questions (buying/renting/selling process, home loans, legal, RERA rights, NRI purchases, managed rentals) from a bundled Square Yards FAQ corpus. It needs no id and does not touch listings or projects.
When to use it (vs. siblings). Use it for general "how/what/why" questions. To find inventory use the search tools; for a place-specific price/rates question use get_entity_details with entity="property-rates".
Key parameters. query (the question, required); category (optional scope, e.g. "buying", "renting", "selling" — an unmatched value is ignored and a note lists the valid ones); top_k (max Q/A pairs, default 3, ≤ 10).
Example request
{ "query": "what credit score do I need for a home loan in India", "top_k": 2 }
Example response (trimmed)
{
"query": "what credit score do I need for a home loan in India",
"enabled": true, "corpusSize": 162,
"results": [
{ "question": "What CIBIL score is needed for a home loan?",
"answer": "Most lenders prefer a CIBIL score of 750+ …", "category": "Home Loans & EMI" }
]
}
estimate_home_loan — Home Loan EMI & Affordability Calculator
What it does. Pure calculator for India home-loan numbers — no live data, no ids. mode="emi" turns a loan amount (or a property price plus down payment) into the monthly EMI, total interest and total payable. mode="affordability" turns a net income into the maximum EMI capacity, loan and property price using a FOIR income share and the RBI loan-to-value tiers, which key on the loan amount (≤ ₹30L → 90 %, ₹30–75L → 80 %, > ₹75L → 75 %) — the returned ltvCapPercent is the tier for the resulting loan, and ltvPercent is the realised LTV (never above the cap).
When to use it (vs. siblings). Any "EMI on X", "what can I afford on Y salary", "how much down payment" question — including turning a listing/project card price into an EMI. For loan *process/documents* questions in prose use search_faq.
Key parameters. mode (required: emi | affordability); shared: interestRate (% p.a., default 8.75), tenureYears (default 20, clamped 1–30), includeTxnCosts (≈6% stamp duty + registration, default true). EMI mode: loanAmount or propertyPrice (+ downPayment / downPaymentPercent). Affordability mode: monthlyIncome or annualIncome, plus optional existingEmi, foir (default 0.50, clamped 0.3–0.6), downPaymentAvailable. All money is absolute INR (₹1.2 Cr → 12000000).
Example request
{ "mode": "emi", "loanAmount": 8000000, "interestRate": 8.75, "tenureYears": 20 }
Example response (trimmed)
{
"ok": true, "mode": "emi", "currency": "INR",
"loanAmount": 8000000, "interestRate": 8.75, "tenureYears": 20, "tenureMonths": 240,
"emi": 70697, "totalInterest": 8967280, "totalPayable": 16967280,
"emiText": "₹70,697/mo",
"assumptions": ["8.75% p.a. reducing-balance interest over 20 years."],
"disclaimer": "Indicative only. Actual EMI/eligibility vary by lender and profile. Not a loan offer or financial advice."
}
Every response carries the disclaimer — the figures are indicative, never a loan offer.
area_conversion — Area Unit Converter
What it does. Pure calculator that converts a land/area amount between the units used in India — metric (sq metre, sq km, hectare, are, sq cm), imperial (sq feet, sq yard/"gaj", sq inch, acre) and traditional Indian land units (cent, decimal, ground, guntha, marla, kanal, killa, ankanam, bigha, biswa, kattha). No live data, no ids.
When to use it (vs. siblings). Any unit-conversion *numbers* question — "how many sq ft in a bigha", "convert 5 acre to gaj", "200 gaj in sq feet". For property *price/EMI* numbers use estimate_home_loan; for live listings use search_properties.
Key parameters. value (required: a non-negative number); from (required: source unit code or alias); to (optional: target unit — omit to get the value in the common units — ft², yd², m², acre, hectare — at once). Units accept friendly aliases (sqft, sqm, gaj, acre, cent, ground, …). Bigha, biswa and kattha vary by state, so pass a state-qualified code (BIGHA_PUCCA_UP_I, BISWA_HP_I, KATTHA_BIHAR, …); a bare "bigha" or an unknown unit returns an actionable error listing the valid codes with their ft² values.
Example request
{ "value": 5, "from": "ACRE", "to": "SQ_FT" }
Example response (trimmed)
{
"ok": true,
"input": { "value": 5, "code": "ACRE", "name": "Acre", "symbol": "ac" },
"primary": { "code": "SQ_FT", "name": "Square Feet", "symbol": "ft²", "value": 217800, "text": "217,800 ft²" },
"results": [{ "code": "SQ_FT", "name": "Square Feet", "symbol": "ft²", "value": 217800, "text": "217,800 ft²" }],
"disclaimer": "Conversions use standard factors. Regional units (bigha, biswa, kattha, ground, etc.) vary by state — confirm the local definition before transacting."
}
Factors follow Square Yards' published definitions (each traditional unit is a fixed multiple of the square foot); regional units carry a note that their value is state-specific.
Data & limitations
- The real-estate information returned (listings, projects, localities, developers, rates) is drawn from Square Yards' property database and is provided for informational purposes. It may not always reflect real-time availability or pricing — confirm current details with Square Yards before acting.
- Coverage is India only.
- All tools are read-only; the connector never modifies data or acts on your behalf.
- When a price is unavailable, results return a
priceOnRequestflag rather than a misleading ₹0 — in search lists, entity details, and comparisons alike. When a place matches multiple cities and nocityHintis given, the search returns no results and instead comes backambiguouswith acandidateslist, so the assistant can ask which city you mean before searching. - Searches default to residential property types unless a commercial type is requested explicitly. Default project ordering is Square Yards' "Top Selling" ranking, which may favour featured/promoted projects — promoted cards carry flags (
isFeatured,isFocus,isAssured,hasExclusive) and price/newest sort orders are available.
Support
Questions, issues, or data corrections: connect@squareyards.com
See also the Privacy Policy.