# Housing.com Scraper | 32 Cities, 26 Fields, Rent & Buy (`themineworks/housing-com-scraper`) Actor

Scrape Housing.com property listings across Indian cities — price, BHK, area, locality, amenities, coordinates and listing URL. Rent, buy, or commercial. No login, no browser, pay per property. Use it as an MCP server in Claude, ChatGPT & AI agents.

- **URL**: https://apify.com/themineworks/housing-com-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Real estate, Lead generation, MCP servers
- **Features:** Limited permissions
- **Stats:** 26 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.85 / 1,000 housing.com listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Housing.com Scraper | 32 Cities, 26 Fields, Rent & Buy

[![500 Bangalore rentals in 159 seconds: a recorded run returned 500 Housing.com rental listings for Bangalore in 158.7 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/housing-com-scraper-hero-fix0930.png)](https://console.apify.com/actors/hmQxevPT325c1jXDz/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 290,000 runs across 310+ public actors. This actor ranks #3 for "housing.com scraper" in Apify Store search.

Housing.com is one of India's largest property portals, with flats, houses, villas, new projects, offices, shops and warehouses for rent and for sale. This actor turns a Housing.com city search into clean rows: title, property type, BHK, price, deposit, area, address, map coordinates, highlights, description, photo and the listing link. No login, no Housing.com account and no API key.

### Why choose this actor?

- **500 Bangalore rentals in about two and a half minutes.** On 1 Oct 2026 a run returned 500 rental listings for Bangalore in 158.7 seconds from 34 requests, through Apify's datacenter proxy, with no blocks.
- **Map and price ready rows.** All 500 rentals had coordinates, built-up area in square feet, address and link; 496 had the monthly rent as a number and all 500 had the deposit. Price per square foot and locality maps need no parsing.
- **From $0.60 per 1,000 listings.** You pay per listing saved, plus Apify's start event of $0.005 per run at the default memory. Duplicates, empty pages and failed pages are never charged.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/hmQxevPT325c1jXDz/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works Real estate family:** [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Zillow Property Scraper](https://apify.com/themineworks/zillow-property-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [99acres Scraper](https://apify.com/themineworks/99acres-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [MagicBricks Scraper](https://apify.com/themineworks/magicbricks-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this into the JSON tab of the input page and press Start. It returns 20 Bangalore rentals quickly: our scheduled runs of 50 rentals took 13 to 29 seconds on Apify.

```json
{
  "city": "Bangalore",
  "listingType": "rent",
  "maxResults": 20
}
```

The actor takes a city from its list of 32 and a listing type, not Housing.com links or locality names. Pick `city` exactly as listed (for example `Bangalore`, `Mumbai`, `Delhi`, `Gurgaon` or `Navi Mumbai`) and `listingType` as `rent`, `buy`, `commercial_rent` or `commercial_buy`. One city and one listing type per run.

Apify's free plan includes $5 of credit every month, which covers about 4,990 results at this actor's price.

#### Copy to your AI assistant

```
themineworks/housing-com-scraper on Apify. It returns Housing.com (India) property listings for one city and one listing type per run, one row per listing with title, property type, BHK, price, price label, deposit, built-up and carpet area, address, latitude, longitude, highlights, description, posted date, verified flag, photo and link. Call ApifyClient("TOKEN").actor("themineworks/housing-com-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: city (one of 32 names such as "Bangalore", "Mumbai", "Delhi", "Pune", "Hyderabad", "Chennai", "Gurgaon", "Noida"). Optional: listingType ("rent" default, "buy", "commercial_rent", "commercial_buy"), maxResults (default 50, maximum 2000), proxyConfiguration (default Apify datacenter proxy), allowResidentialFallback (default true). All four types page through results: rent and commercial about 15 listings per page, buy about 30, at most 80 pages per run (so about 1,200 for rent and commercial, 2,000 for buy). Runs above about 1,000 listings need a run timeout above the default 300 seconds. Commercial rows carry price_label but no numeric price. The last row has _type "summary" and is not a listing. Full spec: GET https://api.apify.com/v2/acts/themineworks~housing-com-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **22 fields per listing**, 13 of them on every one of the 4,850 rows we collected across all four listing types, including price label, latitude, longitude, address, highlights and link.
- **32 Indian cities** and **4 listing types**: residential rent, residential sale (resale flats and new projects), commercial rent and commercial sale (offices, shops, showrooms, warehouses).
- **Every listing type goes deep.** Rent and commercial pages hold about 15 listings and sale pages about 30, and a run reads up to 80 pages. On 1 Oct 2026 a Mumbai sale search returned 2,000 listings, a Hyderabad commercial rent search 1,200 and a Bangalore rent search 1,000, every one distinct, through the datacenter proxy with no blocks.
- **De-duplicated by Housing.com's listing ID** within the run, and a run stops after 2 pages in a row that bring nothing new, so you never pay for repeats.
- **A summary row at the end of every run** with listings delivered and charged and, for sale searches, Housing.com's own count of matching listings. It is never charged.

### How to use it

#### Basic: rentals in one city

```json
{
  "city": "Bangalore",
  "listingType": "rent",
  "maxResults": 200
}
```

Most rentals are recent: 266 of the 500 Bangalore rentals in our test had been posted in September or October 2026.

#### Flats and new projects for sale

```json
{
  "city": "Mumbai",
  "listingType": "buy",
  "maxResults": 300
}
```

Sale searches mix resale flats and new projects, with most new projects near the top: 8 of the first 30 Mumbai rows were new projects, and 27 of 2,000 overall. A new project row describes the project (for example "Configuration: 2 BHK Flat" and "Possession Starts: Jun, 2028" in `amenities`). `price_unit` is `total`.

#### Offices, shops and warehouses

```json
{
  "city": "Hyderabad",
  "listingType": "commercial_rent",
  "maxResults": 150
}
```

Commercial rows carry a real `property_type` such as `Office Space`, `Warehouse`, `Shop`, `Showroom` or `Commercial Plot`, built-up area on all but 3 of 1,350 rows in our tests and carpet area on 1,123 of them. The price comes only as Housing.com's label, such as "₹15 Lacs" per month or "₹2.35 Cr" for a sale, in `price_label`.

#### Rent tracker across cities

```json
{
  "city": "Pune",
  "listingType": "rent",
  "maxResults": 500
}
```

Save one task per city and schedule them weekly, for example with the cron `0 6 * * 1`. Group by `address` locality and `bhk`, divide `price` by `area_sqft` for rent per square foot, and compare week to week. Turn on `monitorMode` to get only listings you have not received before.

#### Agent and broker lead lists

```json
{
  "city": "Gurgaon",
  "listingType": "rent",
  "maxResults": 300
}
```

Sort by `posted_on` to work the newest listings first, and filter on `verified` (58 of 500 Bangalore rentals were marked verified) when you only want listings Housing.com has checked.

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `city` | string, one of 32 | `Bangalore` | The city to search. Required. See the list below. |
| `listingType` | string | `rent` | `rent` (residential rent), `buy` (residential sale), `commercial_rent` or `commercial_buy`. |
| `maxResults` | integer, 1 to 2,000 | `50` | Cap on listings delivered. A run reads at most 80 pages, so rent and commercial searches stop at about 1,200 listings and sale searches can reach 2,000. Above about 1,000, raise the run timeout (see the FAQ). |
| `proxyConfiguration` | object | Apify proxy (datacenter) | Proxy settings. The default datacenter proxy worked in all our tests. |
| `allowResidentialFallback` | boolean | `true` | If a page fails 3 times on the datacenter proxy, try it once on an Indian residential proxy. This only applies when the input has no `proxyConfiguration`. Set `false` to stay on datacenter. |

Supported cities: Ahmedabad, Bangalore, Bhopal, Bhubaneswar, Chennai, Coimbatore, Dehradun, Delhi, Faridabad, Gandhinagar, Ghaziabad, Goa, Greater Noida, Gurgaon, Guwahati, Hyderabad, Indore, Jaipur, Kolkata, Lucknow, Mohali, Mumbai, Nagpur, Nasik, Navi Mumbai, Noida, Pune, Ranchi, Surat, Thane, Vadodara and Varanasi. Use the names exactly as written here; other spellings such as Bengaluru or Gurugram are not accepted by the input form or the API.

The input form in the Apify Console starts with `Bangalore`, `rent` and `maxResults: 10`, and it always sends a proxy setting, so form runs use exactly the proxy you see there and skip the residential retry. Runs started through the API or an AI assistant get only what you send, plus the defaults above.

### What data do you get?

One row per listing. A field Housing.com does not publish for a listing is left out of that row rather than sent as `null`.

**The listing**: `listing_id`, `title` (such as "2 BHK Flat" or a project name), `listing_type`, `property_type` (such as `Flat`, `Independent Builder Floor`, `Independent House`, `Villa`, `New Project`, `Office Space` or `Warehouse`), `bhk`, `description` with HTML removed, `posted_on`, `verified` and `listing_url`.

**Price**: `price` as a number in rupees, `price_label` as Housing.com shows it (such as "₹17,000" or "₹1.4 Cr"), `price_unit` (`per month` for rent types, `total` for sale types) and `deposit` for rentals.

**Size and place**: `area_sqft` (built-up area), `carpet_area_sqft` where Housing.com gives it separately, `address` (locality and city), `city` as you entered it, `latitude` and `longitude`.

**Highlights and media**: `amenities`, a list of Housing.com's highlight lines such as "Furnishing: Semi Furnished", "Floor: 19 of 39" or "Possession status: Ready to move", and `photo_url` for the main photo.

**Timing**: `scraped_at`, when the row was collected.

**Run row**: every run ends with one `_type: "summary"` row with `total_scraped`, `charged_for`, the stop reason counters and Housing.com's `meta` (for sale searches it includes the total number of matching resale and new project listings). It is never charged. Filter on `_type` to keep only listings.

What we saw on 1 Oct 2026 in 4,850 listings across all four types, so you can plan for it:

- **Rentals (1,000 in Bangalore)**: `price` and `deposit` on all 1,000 (5 deposits were `0`), `bhk` on 977, `photo_url` on all 1,000. `carpet_area_sqft` on none.
- **Sale listings (2,500 in Mumbai and Pune)**: `price` on 2,499, no `deposit` and no `carpet_area_sqft`. New project rows have no `bhk`; the configuration sits in `amenities`. 19 rows were residential plots, which carry neither `property_type` nor `bhk`. `description` was on 2,477.
- **Commercial listings (1,350 in Hyderabad and Mumbai)**: no numeric `price`, only `price_label`, and no `bhk` or `deposit`. `carpet_area_sqft` on 1,123, `photo_url` on 1,008, `area_sqft` on all but 3.
- `bhk` can be a half number such as `2.5`, and is left out for 1 RK units and projects.
- `city` repeats the city you chose; the locality is in `address`.
- `posted_on` ends in `Z`, but 3 listings posted on the day of our test showed a time later than the moment we collected them, so the clock time looks like Indian time. Rely on the date, not the hour.

#### Stable fields for automations

These 13 fields were present in every one of the 4,850 listings we collected on 1 Oct 2026 across rent, buy, commercial rent and commercial sale. Their names will not change, so a Sheet, Zap, Make scenario or n8n flow can map to them safely. `property_type` and `area_sqft` are on almost every row but not all (see above).

| Field | What it is |
|---|---|
| `listing_id` | Housing.com's listing ID. Use it as the unique key. |
| `title` | Listing title, such as "2 BHK Flat" |
| `listing_type` | The listing type you chose |
| `price_label` | Price as Housing.com shows it, such as "₹1.4 Cr" |
| `price_unit` | `per month` or `total` |
| `address` | Locality and city |
| `city` | The city you chose |
| `latitude` | Latitude of the listing |
| `longitude` | Longitude of the listing |
| `amenities` | List of highlight lines |
| `verified` | `true` when Housing.com marks the listing verified |
| `listing_url` | Link to the listing on housing.com |
| `scraped_at` | When the row was collected, ISO 8601 in UTC |

#### Output examples

Real rows from our 1 Oct 2026 test runs. Descriptions are cut to their first words.

**A verified 2 BHK rental in Bangalore**

```json
{
  "listing_id": "20948190",
  "title": "2 BHK Flat",
  "listing_type": "rent",
  "property_type": "Flat",
  "bhk": 2,
  "price": 17000,
  "price_label": "₹17,000",
  "price_unit": "per month",
  "deposit": 85000,
  "area_sqft": 1047,
  "address": "Thyvakanahally, Bengaluru",
  "city": "Bangalore",
  "latitude": 12.832813,
  "longitude": 77.790367,
  "amenities": ["Furnishing: Semi Furnished", "Build Up: 1047 sq.ft"],
  "description": "2 BHK | Semi Furnished | Apartment | Sarjapur-Attibele Road, BangaloreSemi-furnished 2 BHK apartment with 1,047 sq. ft. built-up area, 2 bathrooms, 2 balconies, and 1 covered car p...",
  "posted_on": "2026-10-01T16:29:50Z",
  "verified": true,
  "photo_url": "https://is1-3.housingcdn.com/01c16c28/a8d02bcf897db6bbff8420f526c71a22/v0/version/2_bhk_apartment-for-rent-thyvakanahally-Bengaluru-living_room.jpg",
  "listing_url": "https://housing.com/rent/20948190-1047-sqft-2-bhk-apartment-on-rent-in-thyvakanahally-bengaluru",
  "scraped_at": "2026-10-01T14:11:24.013Z"
}
```

**A resale flat for sale in Mumbai**

```json
{
  "listing_id": "20690687",
  "title": "2 BHK Flat",
  "listing_type": "buy",
  "property_type": "Flat",
  "bhk": 2,
  "price": 14000000,
  "price_label": "₹1.4 Cr",
  "price_unit": "total",
  "area_sqft": 856,
  "address": "Sonapur, Bhandup West",
  "city": "Mumbai",
  "latitude": 19.160473,
  "longitude": 72.932663,
  "amenities": ["Built Up Area: 856 sq.ft", "Avg. Price: ₹16.36 K/sq.ft", "Formatted per unit price: ₹16.36k/sq.ft.", "Possession status: Ready to move", "Floor: 19 of 39", "Furnishing: Unfurnished"],
  "description": "Best 2 BHK Apartment for modern-day lifestyle is now available for sale. Grab this 2 BHK property for sale in one of Mumbai's top location, Bhandup West. It is situated on floor 19...",
  "posted_on": "2026-09-30T16:11:46Z",
  "verified": true,
  "photo_url": "https://is1-3.housingcdn.com/01c16c28/1783946092090_dc40f808fa4b1c9f65c1cf959d01de42/v0/version/2_bhk_apartment-for-sale-bhandup_west-Mumbai-bedroom_one.jpg",
  "listing_url": "https://housing.com/in/buy/resale/page/20690687-2-bhk-apartment-in-bhandup-west-for-rs-14000000",
  "scraped_at": "2026-10-01T14:10:44.654Z"
}
```

**A new project from the same search**

```json
{
  "listing_id": "341947",
  "title": "Ruparel Zinnia",
  "listing_type": "buy",
  "property_type": "New Project",
  "price": 21000000,
  "price_label": "₹2.1 Cr",
  "price_unit": "total",
  "area_sqft": 637,
  "address": "Borivali West, Mumbai",
  "city": "Mumbai",
  "latitude": 19.238083,
  "longitude": 72.852196,
  "amenities": ["Configuration: 2 BHK Flat", "Possession Starts: Jun, 2028", "Avg. Price: ₹30.45 K/sq.ft", "Formatted per unit price: ₹30.46k/sq.ft."],
  "posted_on": "2025-02-11T11:56:03Z",
  "verified": false,
  "listing_url": "https://housing.com/in/buy/projects/page/341947-ruparel-zinnia-by-ruparel-realty-in-borivali-west",
  "scraped_at": "2026-10-01T14:10:44.669Z"
}
```

(Description and photo link removed from this example for length.)

**A warehouse for rent in Hyderabad, with the price as a label only**

```json
{
  "listing_id": "100629692",
  "title": "Warehouse",
  "listing_type": "commercial_rent",
  "property_type": "Warehouse",
  "price_label": "₹15 Lacs",
  "price_unit": "per month",
  "area_sqft": 63000,
  "carpet_area_sqft": 60000,
  "address": "Shamshabad, Hyderabad",
  "city": "Hyderabad",
  "latitude": 17.242891,
  "longitude": 78.4207,
  "amenities": ["Available From: 28/09/2026", "Built Up Area: 63 K sq.ft", "Floors: 1st/ 1 floors", "Possession Status: Ready to move", "Suitable For: Others", "Location Hub: Commercial Project"],
  "description": "Nestled in one of the best locations of Hyderabad, this commercial Warehouse is available on rent. The project is located at Shamshabad and offers premium commercial spaces equippe...",
  "posted_on": "2026-09-28T11:14:06.562Z",
  "verified": false,
  "photo_url": "https://is1-3.housingcdn.com/354cef8f/43bea5a08c4ebd998e45ca37e9559d0c/v0/version.jpg",
  "listing_url": "https://housing.com/commercial/rent/100629692-warehouse-for-rent-in-shamshabad-hyderabad-for-rs-1500000",
  "scraped_at": "2026-10-01T14:14:10.680Z"
}
```

**The summary row from the Mumbai sale search**

```json
{
  "_type": "summary",
  "city": "Mumbai",
  "listing_type": "buy",
  "meta": {"api": {"cursor": "670696327", "np_total_count": 24032, "np_offset": 0, "resale_offset": 0, "resale_total_count": 35470}},
  "total_scraped": 200,
  "charged_for": 200,
  "empty_streak": 0,
  "total_empty": 0,
  "yield_guard_tripped": false,
  "requests": 7,
  "delivered": 200,
  "est_spend_usd": 0.014,
  "est_revenue_usd": 0.32,
  "profit_guard_tripped": false,
  "scraped_at": "2026-10-01T14:33:02.888Z"
}
```

`requests` is the number of search pages read: 200 sale listings at 30 per page took 7. For sale searches, `meta` carries Housing.com's own count of matching listings, here 24,032 new project and 35,470 resale listings for Mumbai. `yield_guard_tripped: true` would mean the run stopped early because two pages in a row brought nothing new. The `est_spend_usd` and `est_revenue_usd` fields are the actor's own internal cost estimate, not your bill.

### Pricing

Pay per event: you are charged for each listing saved to your dataset, plus Apify's standard start event. The price per listing drops as your Apify plan goes up.

| Event | Free plan | Bronze (Starter) | Silver (Scale) | Gold and above (Business) |
|---|---|---|---|---|
| `property-scraped`, per listing | $0.001 | $0.0009 | $0.00075 | $0.0006 |
| Per 1,000 listings | $1.00 | $0.90 | $0.75 | $0.60 |
| `apify-actor-start`, per run | $0.005 per GB of memory | $0.005 per GB | $0.005 per GB | $0.005 per GB |

- **Start fee: $0.005 per GB of run memory, with a minimum of one event.** At the default 512 MB that is $0.005 per run, charged even when a run finds nothing. The actor needs no more than the default.
- **Never charged**: listings repeated within the run, empty pages, failed pages and the `summary` row.
- **Spending cap**: if you set a maximum cost per run in Apify, the actor stops adding listings once that budget is used, so you never receive rows you were not charged for and never pay past your cap.
- **No price change is scheduled.** The current prices, including the start event, have applied since 22 Sep 2026.

Worked examples on the Free plan: 500 rentals cost $0.50 plus the $0.005 start fee. On Gold, the same run costs $0.30 plus $0.005.

### Run it on a schedule

Turn on `monitorMode` and each run delivers only the listings you have not received before, so a daily run costs you only for what is new.

1. Enter your input, switch on **Monitor mode** and click **Save as a task**.
2. In Apify Console open **Schedules**, click **Add schedule** and pick **Daily** (or any time and timezone you like).
3. Under **Actors or tasks to run**, add the task you saved and save the schedule.

```json
{
  "city": "Bangalore",
  "listingType": "rent",
  "maxResults": 50,
  "monitorMode": true
}
```

The first run delivers everything it finds. After that, each run delivers only listings that were not in an earlier run with the same input, and listings it skips are never charged. The summary row at the end shows `new_this_run` and `skipped_duplicates`. Changing the input starts a fresh history; changing only the result limit does not. When nothing new turns up, the run stops after five pages in a row of listings you already have.

### FAQ

**What is Housing.com?**
Housing.com is a major Indian property portal for renting, buying and selling homes and commercial space. Listings come from owners, brokers and builders, and new projects are listed by developers.

**How many listings can I get from one run?**
Up to your `maxResults`, within two limits. First, a run reads at most 80 pages: rent and commercial pages hold about 15 listings, so those searches stop near 1,200, and sale pages hold about 30, so a sale search can reach the 2,000 maximum. Second, time: in our 1 Oct 2026 tests 1,000 rentals took 252 seconds, 1,200 commercial rentals 278 seconds and 2,000 sale listings 288 seconds, which is close to the default run timeout of 300 seconds. For more than about 1,000 listings, set the timeout to 600 seconds under Run options. If a run does reach its timeout, it stops cleanly about 15 seconds before, keeps what it delivered and adds a summary row with `ended_on_deadline: true`. Listings it did not deliver are not charged.

**Can I search a locality, a budget or a BHK?**
Not in the input. A run covers one whole city and one listing type. Filter the output on `address`, `price`, `bhk` or `property_type` afterwards.

**Which cities are supported?**
The 32 listed under "Input parameters". Housing.com identifies each city by an internal code that cannot be worked out from its name, so the actor carries a checked list rather than accepting any text.

**How fresh is the data?**
Each run reads Housing.com live when it starts. There is no cache. `posted_on` gives each listing's posting date.

**Do I need a Housing.com account, cookies or an API key?**
No. The actor reads the same public search data Housing.com's own pages load for any visitor. It never logs in and uses no account.

**Do I need a proxy?**
No setup is needed. The actor uses Apify's datacenter proxy by default and tries each page up to 3 times, on a fresh connection each time. Housing.com sometimes answers with HTTP 429 (too many requests); in our latest scheduled run three such answers were retried and the run delivered all 50 listings. If you call the actor through the API without a proxy setting, a page that fails 3 times gets one more try on an Indian residential proxy; set `allowResidentialFallback` to `false` to prevent that.

**What happens if the first page fails?**
The run ends as failed with a summary row that holds the error, and no listings are charged. If a later page fails, the run stops there and keeps what it already delivered.

**Why do commercial listings have no `price`?**
Housing.com gives commercial prices only as a label such as "₹15 Lacs" or "₹2.35 Cr", which the actor passes through in `price_label`. Convert it yourself if you need a number (1 lakh is 100,000 rupees and 1 crore is 10,000,000).

**Can I run it on a schedule?**
Yes. Save your input as a task, then add a schedule in Apify Console under Schedules, for example weekly per city. Turn on `monitorMode` and each run delivers only listings you have not received before; with it off, the actor does not remember earlier runs.

**Which formats can I export?**
JSON, CSV, Excel, XML, RSS or HTML from the run's Storage tab, or through the Apify API. In CSV and Excel, list fields such as `amenities` are split into numbered columns.

**Can I use it from Claude, ChatGPT or another AI assistant?**

- Connector URL: `https://mcp.apify.com/?tools=themineworks/housing-com-scraper`.
- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http housing-com-scraper "https://mcp.apify.com/?tools=themineworks/housing-com-scraper"`.

**Is it legal to scrape Housing.com?**
The actor collects only public listing data that any visitor can see without logging in: property details, prices, localities and photos. It returns no owner or broker names or phone numbers. You are responsible for how you use the data, including Housing.com's terms and data protection law such as GDPR, CCPA and India's DPDP Act. This is general information, not legal advice.

### Integrations

- **Google Sheets**: send each run's dataset to a sheet with Apify's Google Sheets integration.
- **Make, Zapier and n8n**: start a run and read the listings with the official Apify modules and nodes.
- **Webhooks**: have Apify call your URL when a run finishes, then fetch the dataset.
- **API**: start runs and read results over HTTP, or with the Python and JavaScript clients.
- **MCP clients**: Claude, ChatGPT, Cursor and other MCP clients can call the actor through `https://mcp.apify.com`.

### More from The Mine Works

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Property Scraper](https://apify.com/themineworks/zillow-property-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [99acres Scraper](https://apify.com/themineworks/99acres-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [MagicBricks Scraper](https://apify.com/themineworks/magicbricks-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Photos Scraper](https://apify.com/themineworks/zillow-photos?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Real Estate MCP](https://apify.com/themineworks/real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Airbnb Scraper](https://apify.com/themineworks/airbnb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Domain.com.au Property Scraper](https://apify.com/themineworks/domain-property-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [realestate.com.au Scraper](https://apify.com/themineworks/realestate-com-au-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow ZIP Code Bulk Search Scraper](https://apify.com/themineworks/zillow-zip-bulk-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [JustDial Scraper](https://apify.com/themineworks/justdial-business?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [data.gov.in Scraper](https://apify.com/themineworks/india-data-gov-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Carsales.com.au Scraper](https://apify.com/themineworks/carsales-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [World Bank Trade Scraper](https://apify.com/themineworks/global-trade-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [Tennis Match & Player Data Scraper](https://apify.com/themineworks/tennis-match-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Hotels Prices Scraper](https://apify.com/themineworks/google-hotels-prices-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LandWatch Scraper](https://apify.com/themineworks/landwatch-land-for-sale-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Found a bug or need a field we do not return? Open an issue in the Issues tab. Want a property portal or data source we do not cover yet? Email dmineworks@gmail.com. A guide for this actor also lives at [themineworks.com](https://themineworks.com/actors/housing-com-scraper/).

*Housing.com Scraper turns any of 32 Indian cities into clean property rows with prices, areas and map coordinates, from $0.60 per 1,000 listings.*

# Actor input Schema

## `city` (type: `string`):

Indian city to search. Housing.com identifies each city by an internal location code that cannot be derived from the name, so this actor supports this fixed list of major metros (verified live against each one).

## `listingType` (type: `string`):

What kind of listings to scrape.

## `maxResults` (type: `integer`):

Maximum number of listings to return.

## `proxyConfiguration` (type: `object`):

Defaults to datacenter (measured live: identical results to residential, cheaper). Residential is used automatically as a one-shot fallback if a page fails on datacenter.

## `allowResidentialFallback` (type: `boolean`):

If a page fails every datacenter attempt, retry it once on Indian residential before giving up. On by default. Turn off to force datacenter-only.

## `monitorMode` (type: `boolean`):

Run on a schedule and deliver ONLY listings not seen in a previous run. You are charged per new listing, not for the whole feed each time. Ideal for daily monitoring. Requires the same input across runs.

## Actor input object example

```json
{
  "city": "Bangalore",
  "listingType": "rent",
  "maxResults": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "allowResidentialFallback": true,
  "monitorMode": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "city": "Bangalore",
    "listingType": "rent",
    "maxResults": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/housing-com-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "city": "Bangalore",
    "listingType": "rent",
    "maxResults": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/housing-com-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "city": "Bangalore",
  "listingType": "rent",
  "maxResults": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call themineworks/housing-com-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/housing-com-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/hmQxevPT325c1jXDz/builds/OeISZVRDSUim2a5jO/openapi.json
