Sulekha Properties Scraper avatar

Sulekha Properties Scraper

Under maintenance

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Sulekha Properties Scraper

Sulekha Properties Scraper

Under maintenance

Scrapes property listings from property.Sulekha.com. Supports residential sale, rent, and PG listings across Indian cities with filters for property type, BHK, budget, locality, and deep detail scraping.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

0

Monthly active users

10 days ago

Last modified

Share

Sulekha Public Properties Scraper

Collect public property listings from property.sulekha.com and, optionally, enrich discovered listings with fields visible on public property-detail pages. The actor uses Playwright to read rendered public content and does not click contact-reveal controls or bypass contact gates.

What it does

  • Searches public Sale, Rent, or PG city routes.
  • Filters search results by public property type when requested.
  • Can load more public result batches up to maxPages.
  • Can visit discovered public property pages for richer details.
  • Can scrape a supplied list of public property-detail URLs directly.
  • Extracts public titles, canonical URLs, displayed prices, safely parsed INR prices, locations, configuration, property/sale type, area, features, amenities, overview values, descriptions, posted information, images, and visible contact links.
  • Writes a final run summary to key-value store record OUTPUT.

Input

Search mode

{
"mode": "search",
"listingType": "sale",
"city": "chennai",
"propertyType": "apartments-flats",
"maxItems": 20,
"maxPages": 3,
"deepSearch": true,
"proxyConfiguration": { "useApifyProxy": true }
}

listingType is sale, rent, or pg. city is a URL slug. propertyType is optional and can be apartments-flats, individual-houses-villas, plots-land, or commercial. maxItems accepts 1–200 and maxPages accepts 1–20. deepSearch: false returns listing-card data; deepSearch: true queues public detail pages.

Property URL mode

{
"mode": "propertyUrl",
"propertyUrls": [
{ "url": "https://property.sulekha.com/example-apartment-12345-ad" }
],
"maxItems": 1,
"deepSearch": true
}

Property URL mode requires public property.sulekha.com detail URLs ending in -{id}-ad. Duplicate URLs are removed before crawling. A proxy is optional and can help with block-prone runs.

Output

Property records are stored in the default dataset. A public listing record looks like:

{
"recordType": "sulekhaProperty",
"status": "success",
"dataAvailable": true,
"title": "2 BHK apartment in Chennai",
"propertyUrl": "https://property.sulekha.com/example-apartment-12345-ad",
"location": "Chennai, Tamil Nadu",
"displayPrice": "₹85 Lakh",
"priceInr": 8500000,
"configuration": "2 BHK",
"propertyType": "Apartments / Flats",
"amenities": ["Lift", "Parking"],
"listingType": "sale",
"city": "chennai",
"source": "property.sulekha.com",
"provenance": "public_listing_page",
"sourceTransport": "playwright",
"extractionMethod": "listing_card_dom",
"position": 1,
"scrapedAt": "2026-08-18T10:00:00.000Z"
}

Detail-page records may add builtUpArea, plotArea, constructionStatus, overview, features, description, contactPhone, contactPhones, images, and detailStatus. Empty values are omitted. Exhausted-request details remain in the separate OUTPUT summary and never enter the property dataset.

Storage

  • Dataset: source-backed public property listing/detail records only.
  • Key-value store: OUTPUT contains mode, filters, limits, stored count, failed request count, and failed URLs.
  • Actor output: links directly to the dataset items endpoint and the OUTPUT record.

Runtime and cost

Runtime depends on browser startup, result-batch loading, public detail-page visits, retries, and proxy routing. Deep search is slower and more expensive because it visits each property page. Apify charges are primarily compute time plus any proxy traffic. Use a small maxItems value when testing.

FAQ

Does the actor reveal gated contact details?

No. It keeps only links and phone values already visible in public page content and does not click contact-reveal controls.

What does priceInr mean?

It is a safe conversion of common public display units such as lakh, crore, or thousand. If the display cannot be parsed confidently, only displayPrice is emitted.

Why did a run fail after returning some records?

The actor marks the run failed when no property records are stored. Partial request failures are recorded in OUTPUT while successfully extracted properties remain usable.

Why are detail fields missing?

Public page content varies by property and access state. Fields are emitted only when the parser finds a source-backed public value.

Disclaimer

Use this actor only for public information you are permitted to collect. Respect Sulekha terms, access controls, robots directives, copyright, privacy requirements, and applicable law. The actor does not provide legal advice and does not guarantee that selectors, URLs, or public fields remain stable.