Magicbricks Property Listings Scraper (India)
Pricing
from $0.42 / 1,000 listing scrapeds
Magicbricks Property Listings Scraper (India)
Magicbricks property scraper for India: newest flats, houses and plots for sale in any city, one row per listing with price in INR, price per sq ft, area, BHK, bathrooms, locality, project, furnishing, posted date and owner/agent/builder type. Built for new-listing alerts.
Pricing
from $0.42 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Superslow Sloth
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
11 days ago
Last modified
Categories
Security
Limited permissionsShare
Magicbricks Property Listings Scraper - India, Newest Flats, Houses and Plots for Sale
Indian property-for-sale listings from Magicbricks, one flat, typed dataset row per listing: price in INR, price per sq ft, built-up, carpet and plot area, BHK, bathrooms, property type, resale or new, furnishing, possession, floor, locality, project and developer, RERA id, posted date and whether an owner, agent or builder posted it. Any city, newest first - so a daily run is a new-listing alert for Mumbai, Bangalore, Pune, Delhi, Hyderabad or any other city Magicbricks covers.
What you are paying for, honestly
The data comes from the JSON that magicbricks.com's own search results page
pages with (/mbsrp/propertySearch.html). It needs no login or API key. What this
actor adds:
- Getting past Akamai. Magicbricks sits behind Akamai. A plain HTTP client gets "Access Denied"; this actor presents a real Chrome TLS fingerprint and runs on residential proxies by default. Measured from the Apify platform on 2026-10-27: residential exits passed 8 of 10 and 7 of 10 sampled fetches, datacenter 4 of 10. A refused request is retried from a fresh address, up to five attempts.
- You type a city, not a code. Magicbricks searches by numeric city code
(4320 is Mumbai). This actor resolves a name (
Mumbai,Bengaluru), a slug (new-delhi) or a pasted search URL (https://www.magicbricks.com/property-for-sale-in-pune-pppfs) with Magicbricks' own search box and logs which city each line became. A city code is used as given. - Price as a number.
price_inris Magicbricks' own numeric field in rupees, not a parse of "₹2.65 Cr"; the display text is kept beside it. - A real "newest" sort. The search page's own "recent" form value does not sort at all (measured: same rows as no sort). This actor uses the "Most Recent" order, which was strictly newest-first by posted time on every page checked.
- Several cities, one run, deduplicated. A listing that appears twice in a walk (new posts shift the pages while it runs) is returned and charged once.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
cities | array | mumbai, bangalore | City name, slug, search URL or city code, one per line. Required. |
propertyTypes | array | all | Any of flat, house_villa, plot. |
sort | string | newest | newest, price_asc, price_desc, relevance. |
postedWithinDays | integer | - | Keep only listings posted in the last N days and stop each city at the first page with none. Needs newest. |
minPrice, maxPrice | integer | - | Budget in rupees (5000000 = 50 lakh, 10000000 = 1 crore). |
bedrooms | array | any | BHK counts, 1 to 6. |
postedBy | array | all | Any of owner, agent, builder. |
maxItems | integer | 100 | Most listings per city. Each listing is billed, so this is a spending cap. |
proxyConfiguration | proxy | Apify residential | See the pass rates above. |
Property types are grouped the way Magicbricks groups them on its own server: asking
for any one apartment code returns every apartment-like listing, so flat covers
multistorey and builder-floor apartments, penthouses, studio and service apartments;
house_villa covers independent houses and villas; plot residential plots.
Limits measured
- 3,000 listings per city search. Magicbricks serves 30 listings a page and at most 100 pages; page 101 answers page 1 again. Mumbai reports over 61,000 listings for sale, but one search reads the first 3,000 - in newest order that was about the last three days of postings. The log says when a city hit this. Narrow by property type, budget or bedrooms to read further back.
- Busy cities post thousands a day. For an alert, schedule the run at least daily
and set
maxItemshigh enough to cover a day, or usepostedWithinDays: 1. posted_atis when the listing was posted or last re-posted - that is the date Magicbricks sorts "Most Recent" by. A refreshed old listing comes back as new; key your alert onlisting_idto tell.- For sale only. Rentals, commercial property and PG listings are not covered.
Output
One row per listing. Example (abridged):
{"search_city": "mumbai","listing_id": "86695471","url": "https://www.magicbricks.com/propertyDetails/2-BHK-991-Sq-ft-Multistorey-Apartment-FOR-Sale-Goregaon-West-in-Mumbai&id=4d423836363935343731","title": "2BHK Multistorey Apartment for New Property in Kalpataru Radiance at Goregaon West","price_inr": 33141000,"price_display": "3.31 Cr","price_per_sqft_inr": 33442,"covered_area": 991.0,"covered_area_unit": "sqft","covered_area_sqft": 991.0,"carpet_area": 881.0,"bedrooms": 2,"bathrooms": 2,"property_type": "Apartment","transaction": "New Property","furnishing": "Unfurnished","possession_status": "Ready to Move","locality": "Goregaon West","city": "Mumbai","project_name": "Kalpataru Radiance","developer": "Kalpataru Ltd.","posted_at": "2026-10-26T17:36:57.000Z","advertiser_type": "Agent","advertiser_name": "Hitesh Estate Consultancy"}
| Field | What it is |
|---|---|
search_city | The city line this row came from, as you typed it. |
listing_id, enc_id | Magicbricks' numeric listing id (stable; use it to dedupe alerts) and its encrypted id. |
url, title | The listing page and its title. |
price_inr, price_display | Asking price in rupees, and Magicbricks' own text ("2.65 Cr", "85 Lac"). |
price_min_inr, price_max_inr | A new project's price band for the unit type, when given. |
price_per_sqft_inr | Magicbricks' rate per sq ft. |
covered_area, covered_area_unit, covered_area_sqft | Built-up / super area as listed, its unit (sqft, sqyd, sqm, ...) and Magicbricks' conversion to sq ft. |
carpet_area, carpet_area_unit | Carpet area, when the advertiser gave it. |
plot_area, plot_area_unit | Land area: plots and some houses. |
bedrooms, bathrooms, balconies | Counts. |
property_type, transaction | "Apartment", "Villa", "Residential Plot", ...; "Resale" or "New Property". |
furnishing, possession_status, ownership, facing, property_age | As listed ("Semi-Furnished", "Ready to Move" or a month like "Mar '27", "Freehold", "East", "5 to 10 years"). |
floor, total_floors, floor_raw | Floor number (ground = 0), the building's floors, and the text as listed. |
locality, city, city_code | Where. |
project_name, project_id, developer, rera_id | The project or society, its developer and RERA registration, when given. |
latitude, longitude | The listing's map pin. |
posted_at | Posted (or re-posted) time, ISO 8601 UTC. |
advertiser_type, advertiser_name | "Owner", "Agent" or "Builder", and the agency or builder name. |
photo_url, photo_count, description | Card photo, number of photos, the advertiser's description. |
Why null and not 0
A field Magicbricks does not send for a listing is null. Plots have no bedrooms,
bathrooms or built-up area; most resale flats give no carpet area; about one listing
in twenty has no price per sq ft; a basement floor has no floor number; and about one
listing in six has its map pin at 0,0, which is "no pin", not a place in the ocean
off Africa. A 0 in any of those would read as a measurement.
advertiser_name is always null on owner listings: there it is a private person's
name, which this actor does not collect. Agency and builder names are business names
and are kept.
Use it for
- A daily new-listing alert per city, BHK and budget, sent to Sheets, Slack or a webhook through Apify integrations.
- Asking-price and price-per-sq-ft tracking by locality or project.
- Owner-posted listings only (
postedBy: owner), for buyers avoiding brokerage.
Magicbricks is a trademark of its owner; this actor is not affiliated with it. It reads only public search listings, and you are responsible for using the data lawfully.