SquareYards APIsquareyards.com ↗
Access Indian property listings, price insights, and locality trends from SquareYards via 8 endpoints covering residential, commercial, and plot data.
What is the SquareYards API?
The SquareYards API exposes 8 endpoints covering residential sales, rentals, commercial properties, plots, and city-level market analytics from SquareYards.com, India's real estate platform. The search_properties_for_sale endpoint returns paginated listings with price, locality, agent name, and property URL for major Indian cities including Mumbai, Delhi, Bangalore, Pune, and Hyderabad. Price insight and trend endpoints add micromarket-level aggregations by quarter and transaction volume.
curl -X GET 'https://api.parse.bot/scraper/1e8f9865-0f62-4c6d-acf5-bff7ee6841f2/search_properties_for_sale?city=mumbai&page=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace squareyards-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.squareyards_india_real_estate_api import SquareYards, City, SaleListing, PropertyDetail, CityPriceInsight
client = SquareYards()
# Search for properties for sale in Mumbai using the City enum
for listing in client.salelistings.search(city=City.MUMBAI, limit=5):
print(listing.title, listing.price, listing.agent_name)
# Get detailed property info from a listing URL
detail = client.propertydetails.get(url=listing.url)
print(detail.title, detail.price, detail.builder)
# Get city-level price insights
insights = client.citypriceinsights.get(city=City.MUMBAI)
print(insights.display_name, insights.latest_quarter)
for cat in insights.micromarkets_by_category:
print(cat.category_display_name)
for agg in cat.aggregation_from_list:
for mm in agg.details:
print(mm.micro_market, mm.current_rate, mm.change_percentage)
# Get sales trends
trend = client.citysalestrends.get(city=City.BANGALORE)
print(trend.display_name, trend.city)
for cat in trend.trends_by_category:
for series in cat.chart_data:
print(series.y_axis_label, series.quarter_names, series.data)
# List top localities
localities = client.citylocalitieses.get(city=City.MUMBAI)
for cat in localities.localities:
for agg in cat.aggregation_from_list:
for loc in agg.details:
print(loc.location, loc.current_rate, loc.no_of_transactions)
# Search for rental properties
for rental in client.rentallistings.search(city=City.PUNE, limit=3):
print(rental.title, rental.price, rental.locality)
# Search for plots and land
for plot in client.plotlistings.search(city=City.DELHI, limit=3):
print(plot.title, plot.price, plot.agent_name)
Search for properties for sale in a specific Indian city. Returns paginated listings (~25 per page) with title, price, locality, and agent info. Use the page parameter to advance through results.
| Param | Type | Description |
|---|---|---|
| city | string | City name in lowercase (e.g. mumbai, delhi, bangalore, pune, hyderabad). |
| page | integer | Page number for pagination. |
{
"type": "object",
"fields": {
"city": "string, city slug used in query",
"page": "string, current page number",
"listings": "array of property listing objects with id, title, url, price, locality, details, agent_name",
"total_count": "integer, number of listings returned on this page"
},
"sample": {
"data": {
"city": "mumbai",
"page": "1",
"listings": [
{
"id": "10421736",
"url": "https://www.squareyards.com/resale-5-bhk-pooja-room-servant-room-study-room-extra-room-basement-store-room-5027-sq-ft-penthouse-in-provenance-four-seasons-private-residences/10421736",
"price": "₹ 70.38 Cr",
"title": "5 BHK Penthouse for Sale in Worli, Mumbai",
"details": [],
"agent_name": "Vijayraj Yadav5"
}
],
"total_count": 25
},
"status": "success"
}
}About the SquareYards API
Property Search Endpoints
search_properties_for_sale and search_properties_for_rent accept a city parameter (lowercase city slug) and a page integer for pagination, returning up to roughly 25 listings per page. Each listing object includes id, title, url, price, locality, details, and agent_name. The search_commercial_properties endpoint covers office spaces, shops, showrooms, warehouses, and land, and accepts an optional type parameter (accepted value: sale). search_plots_land returns similarly shaped listing objects scoped to plot and land parcels.
Property Detail
get_property_detail takes a full SquareYards property URL and returns richer data for resale listings: price, title, builder, an amenities array, a highlights object mapping attribute names (e.g. Super Area, Carpet Area) to values, and a description string. Rental property URLs return more limited data via structured_data (schema.org JSON-LD). The endpoint works best with resale URLs in the format https://www.squareyards.com/resale-<property-slug>/<listing-id>.
Market Analytics Endpoints
get_city_price_insights and get_city_sales_trend both accept a city param and return data confirmed working for Mumbai and Bangalore; other cities may return empty results. Price insights segment micromarket averages by category (all, new-sale, resale) with 3-month, 6-month, and 1-year aggregations and a latest_quarter label. Sales trend data returns quarterly chartData series with average rate per sq.ft. and transaction count. list_top_localities ranks localities by transaction volume and includes current prices and percentage changes per locality, also segmented by category and aggregation period.
The SquareYards API is a managed, monitored endpoint for squareyards.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when squareyards.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official squareyards.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate and compare residential rental prices across Mumbai and Bangalore localities by scraping
search_properties_for_rentacross pages. - Build a micromarket heatmap using
get_city_price_insightsto map average price per sq.ft. by neighborhood category. - Track quarterly price-per-sqft trends for new-sale vs resale segments using
get_city_sales_trendchart data. - Enrich a property CRM by calling
get_property_detailfor resale URLs to populate builder, amenities, and area highlights. - Surface top-ranked localities for a city using
list_top_localitiesto show price change percentages over 3, 6, and 12 months. - Scan commercial inventory in a target city by paginating through
search_commercial_propertiesfor office and warehouse listings. - Identify available land parcels in a city using
search_plots_landand filtering by price field in the listing objects.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does SquareYards have an official developer API?+
Which cities have confirmed data for the price insights and trend endpoints?+
get_city_price_insights, get_city_sales_trend, and list_top_localities endpoints are confirmed to return data for Mumbai and Bangalore. Passing other city slugs may return empty result sets. The listing search endpoints (search_properties_for_sale, search_properties_for_rent, search_commercial_properties, search_plots_land) support a broader set of cities including Delhi, Pune, and Hyderabad.Does `get_property_detail` return the same fields for rental and resale URLs?+
price, title, builder, amenities, highlights, and description. Rental property URLs typically return only structured_data (schema.org JSON-LD), with the other fields absent or empty. Use resale-format URLs (/resale-<slug>/<id>) for the richest detail responses.Can I filter search results by property type, BHK configuration, or price range?+
city and page as inputs. Filtering by BHK count, price band, or property subtype is not currently supported. The API returns paginated city-level listings as-is. You can fork this API on Parse and revise it to add filter parameters for more targeted queries.Is individual agent or broker contact information (phone number, email) available in the listing response?+
agent_name field but do not expose phone numbers or email addresses. Contact details for agents are not returned by any current endpoint. You can fork this API on Parse and revise it to add a dedicated agent detail endpoint if that data is accessible on the source pages.