MagicBricks Property Scraper — Price, BHK, Area (India)
Pricing
from $1.20 / 1,000 properties
MagicBricks Property Scraper — Price, BHK, Area (India)
Scrape MagicBricks property listings — price, BHK, carpet & covered area, locality, project, builder, amenities, images and lister. Paste any filtered search or property URL, or build a search from a city + filters. Optional detail-page enrichment. JSON, CSV, Excel out
Pricing
from $1.20 / 1,000 properties
Rating
5.0
(1)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
31
Total users
6
Monthly active users
a day ago
Last modified
Categories
Share
MagicBricks Property Scraper
memo23 on Apify: 33,000+ users across 400+ public Actors · 660+ reviews averaging 4.9★ — explore the full collection
Turn any MagicBricks search into clean, structured property data. Paste a filtered search URL, build a search from a city + filters, or drop direct property URLs — and get one flat 50-field row per listing, for both buy and rent, across 1,000+ Indian cities.
Why Use This Scraper?
- ✅ 50 fields per listing from the search page alone — price (numeric + display + per sqft), BHK, carpet & covered area, floor number + total floors, furnishing, facing, possession, RERA ids, GPS, project, builder, tenant preference, amenities, images, lister
- ✅ Three ways in — filtered search URLs, a city + filters builder, or direct property URLs; mix all three in one run
- ✅ Every MagicBricks filter works — apply locality, budget, area, furnishing, posted-by or any other filter on the site, paste the resulting URL, and the actor paginates it
- ✅ Beats the Akamai block — India residential IPs with a browser TLS fingerprint are built in; no proxy setup, no third-party bypass service
- ✅ Optional detail-page enrichment — full readable amenities list, full description and a spec overview per property
- ✅ From $1.20 per 1,000 listings, flat — no loyalty tiers; lower than every maintained alternative
- ✅ Stable output — parses MagicBricks' embedded JSON state, not the DOM, so page-layout changes don't break your columns
Overview
The MagicBricks Property Scraper is built for real-estate agencies, proptech teams, market researchers and investors who need structured listing data from India's largest property portal.
The output is always property-shaped rows: whether you start from a search URL, the city builder, or a direct property URL, the dataset is a stream of flat per-listing rows — deduplicated by property id, money fields in INR. Rent searches return the same row shape as sale searches (with rent-specific values in price, tenantPreference, etc.).
Supported Inputs
URL types
| Input | Example | Rows emitted |
|---|---|---|
| Search / SRP URL (SEO form) | https://www.magicbricks.com/flats-in-bangalore-for-sale-pppfs | Every listing in that search, paginated |
| Search / SRP URL (query form) | https://www.magicbricks.com/property-for-rent/residential-real-estate?cityName=Mumbai | Every listing in that search, paginated |
| Property URL | https://www.magicbricks.com/propertyDetails/…&id=… | That single property, full row |
| City + filters (no URL) | city: "Bangalore" + optional filters below | Every listing in the built search |
Copy-pasteable startUrls
{"startUrls": ["https://www.magicbricks.com/flats-in-bangalore-for-sale-pppfs","https://www.magicbricks.com/property-for-rent/residential-real-estate?cityName=Mumbai","https://www.magicbricks.com/propertyDetails/3-BHK-1450-Sq-ft-Multistorey-Apartment-FOR-Sale-Whitefield-in-Bangalore&id=4d423731383732343037"]}
Tip: the search URL carries the filters. Apply any combination on magicbricks.com — locality, budget, area range, furnishing, owner/agent, property age, amenities — then paste the URL. That gives you every filter MagicBricks offers, not just the handful exposed as actor fields.
Unsupported inputs
- ❌ Owner/agent phone numbers — gated behind an OTP/login wall on MagicBricks; only the public lister name and type are returned
- ❌ Project-microsite-only data and anything behind a login
- ❌ URLs outside
magicbricks.com
Use Cases
| Audience | Use case |
|---|---|
| Real-estate agencies / brokers | Build targeted listing & owner-lead lists for any city, locality or budget |
| Proptech / portals | Seed or refresh a property database with structured, deduplicated rows |
| Market researchers | Measure inventory, price-per-sqft and BHK mix by locality and project |
| Investors / developers | Track asking prices, possession status and new projects in target micro-markets |
| Data / analytics teams | Feed live MagicBricks listings into pricing or comparison models |
| AI agents | Answer questions like "2 BHK in Koramangala under ₹50k rent" with live data via the Apify MCP server |
How It Works

- Classify every input — a city + filters is turned into a search URL; pasted URLs are sorted into searches vs property pages.
- Fetch each MagicBricks page with a browser TLS fingerprint over an India residential IP, so the real page is returned instead of the Akamai 403 block.
- Parse the page's embedded
SERVER_PRELOADED_STATE_JSON — a search page yields ~30 properties; the?page=2,?page=3… sequence is followed automatically up to your limits. - Enrich each property from its detail page (when Scrape property detail pages is on): full readable amenities, full description and a spec overview.
- Emit one flat, self-contained row per property, deduplicated by property id.
Input Configuration
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | — | MagicBricks search-results URLs and/or property URLs. Auto-classified. |
city | string | — | City for the builder, e.g. Bangalore, Mumbai, Pune. |
transactionType | string | sale | sale (buy) or rent. Used by the city builder. |
propertyTypes | array | — | Property-type slugs for the builder (Multistorey-Apartment, Residential-House, Residential-Plot, …). Friendly names like apartment, house, plot accepted. |
bedrooms | array | — | BHK filter for the builder, e.g. 2, 3. |
minBudget / maxBudget | integer | — | Price range for the builder, in rupees (e.g. 5000000 = ₹50 Lac). |
scrapeDetails | boolean | false | Also fetch each property's detail page for full amenities, description and spec overview. ~2× the requests. |
maxItems | integer | 1000 | Max property rows for the whole run. Each row is one paid property event. |
maxItemsPerSearch | integer | 1000 | Max rows per search URL / city build. |
maxConcurrency | integer | 5 | Parallel requests. Keep moderate — MagicBricks is Akamai-protected. |
maxRequestRetries | integer | 12 | Retry budget per request on Akamai blocks (403), 429 and network errors. Each retry rotates to a fresh India residential IP. |
proxy | object | built-in | Leave empty — India residential routing is built in. Set only to use your own proxies. |
enrichEmails | boolean | false | Experimental: find a contact email for each lister from its website / by name discovery. Adds contactEmail + contactWebsite + an emailEnrichment object. |
Common scenarios
1. Any filtered search, pasted as a URL
{"startUrls": ["https://www.magicbricks.com/flats-in-koramangala-bangalore-for-sale-pppfs"],"maxItems": 200}
2. City builder — 2/3 BHK rentals in Bangalore under ₹50k/month
{"city": "Bangalore","transactionType": "rent","bedrooms": ["2", "3"],"maxBudget": 50000,"maxItems": 100}
3. Specific properties, fully enriched
{"startUrls": ["https://www.magicbricks.com/propertyDetails/…&id=…","https://www.magicbricks.com/propertyDetails/…&id=…"],"scrapeDetails": true}
Output Overview
Each dataset item is one property with ~50 listing-level fields:
- Identity & type —
propertyId,listingId,title,propertyType,transactionType(Sale/Rent),listingType(Resale/New),propertyUrl - Price —
price,priceDisplay("79 Lac"),pricePerSqft,bookingAmount(all INR) - Size & layout —
bedrooms,bathrooms,balconies,carpetArea+ unit,coveredArea+ unit,floorNumber,totalFloors,floorlabel - Specs —
furnishing,facing,ownership,possessionStatus,ageOfConstruction,parking,tenantPreference,approvedBy,reraIds - Location —
locality,address,city,latitude,longitude - Project & lister —
project,builder,listerName,listerType(Owner/Agent/Builder),postedDate,postedDateExact,isPremium,isLuxury - Media —
images,description,amenities
With Scrape property detail pages on, each row additionally carries allAmenities (full readable list), fullDescription and overview. With Enrich with contact emails on, rows gain contactEmail, contactWebsite and emailEnrichment.
Output Samples
Search start, listing-only (default)
{"rowType": "property","propertyId": "5318727","listingId": "85254587","title": "1BHK Multistorey Apartment for Resale in Eden Park At The Prestige City at Sarjapura","propertyType": "Apartment","transactionType": "Sale","listingType": "Resale","bedrooms": 1,"bathrooms": 1,"balconies": 1,"price": 7900000,"priceDisplay": "79 Lac","pricePerSqft": 12305,"carpetArea": 447,"carpetAreaUnit": "Sq-ft","coveredArea": 642,"coveredAreaUnit": "Sq-ft","furnishing": "Unfurnished","floor": "15 of 29 Floor","floorNumber": 15,"totalFloors": 29,"facing": "North - West","ownership": "Freehold","possessionStatus": "Ready to Move","ageOfConstruction": "New Construction","parking": "1 Covered","tenantPreference": "Bachelors/Family","bookingAmount": 200000,"approvedBy": "BDA","reraIds": ["PRM/KA/RERA/1251/308/PR/211008/004353"],"locality": "Sarjapura","address": "Sarjapura, Bangalore","city": "Bangalore","latitude": 12.8539625,"longitude": 77.7889754,"project": "Eden Park At The Prestige City","builder": "Prestige Group","amenities": ["Banquet Hall", "Jogging and Strolling Track", "Outdoor Tennis Courts" /* … */],"description": "This modern 1 BHK property is situated in Sarjapur, Bangalore. …","images": ["https://img.staticmb.com/mbphoto/property/…/85254587_10_…jpeg" /* … */],"listerName": "vikram","listerType": "Owner","postedDate": "Posted Today","postedDateExact": "2026-06-25T05:33:45.000Z","isPremium": true,"isLuxury": false,"propertyUrl": "https://www.magicbricks.com/propertyDetails/1-BHK-642-Sq-ft-Multistorey-Apartment-FOR-Sale-Sarjapura-in-Bangalore&id=…","sourceUrl": "https://www.magicbricks.com/flats-in-bangalore-for-sale-pppfs","sourceMode": "search","scrapedAt": "2026-06-25T12:41:04.008Z"}
Fields are null when MagicBricks doesn't publish them for a listing.
Key Output Fields
| Field | Type | Notes |
|---|---|---|
title / propertyType | string | Listing headline + type (Apartment / House / Plot / …) |
transactionType / listingType | string | Sale / Rent + Resale / New |
price / priceDisplay / pricePerSqft | number / string | Asking price (₹), the "79 Lac"/"1.63 Cr" label, ₹/sqft |
bedrooms / bathrooms / balconies | number | Unit configuration |
carpetArea / coveredArea (+ units) | number / string | Both areas, with their unit |
floorNumber / totalFloors / floor | number / string | Floor split into numerics plus the display label |
furnishing / facing / ownership / possessionStatus | string | Core specs |
tenantPreference | string | e.g. "Bachelors/Family" — rent-relevant |
reraIds / approvedBy | string[] / string | RERA registrations + approving authority |
locality / address / city | string | Where the property is |
latitude / longitude | number | GPS coordinates |
project / builder | string | Project / society + developer |
amenities / images / description | arrays / string | Listing media (full amenities with scrapeDetails) |
listerName / listerType | string | Public lister name + Owner / Agent / Builder |
postedDateExact / postedDate | string | ISO timestamp + the display label |
allAmenities / fullDescription / overview | — | Only when Scrape property detail pages is on |
contactEmail / contactWebsite / emailEnrichment | — | Only when Enrich with contact emails is on |
How It Compares
| Capability | Typical MagicBricks actors | This actor |
|---|---|---|
| Fields per listing | 16–35 | ~50 (plus detail + email enrichment) |
| Paste any filtered search URL | Rarely — most only take city + fixed filters | ✅ Any SRP URL, all site filters honoured |
| Direct property-URL mode | ✗ | ✅ /propertyDetails/… URLs, full row each |
| Detail-page enrichment | ✗ | ✅ Optional per-property deep fetch |
| Contact-email enrichment | ✗ | ✅ Optional, experimental |
| Floor as numbers | Often a raw label | ✅ floorNumber + totalFloors + label |
| Posted date | Often "Posted Today" only | ✅ Exact ISO timestamp too |
| Pricing | $2–$5 per 1,000, some tiered by plan | From $1.20 per 1,000, flat for everyone |
FAQ
Can I get the owner's / agent's phone number?
No. MagicBricks hides contact numbers behind an OTP/login wall. The actor returns the publicly displayed lister name and type (Owner / Agent / Builder). The optional enrichEmails toggle can find a business email for agency listers from the open web — best-effort, off by default.
How do I filter by locality, area, furnishing, or anything else?
Apply the filters on magicbricks.com and paste the resulting URL into startUrls. The URL carries every filter the site supports — more than any actor could expose as individual fields. The city builder covers the common ones (type, BHK, budget) directly.
Buy and rent both?
Yes — paste a rent search URL, or set transactionType: "rent" in the city builder. Rent rows use the same shape (price = monthly rent, tenantPreference populated when listed).
Are rent deposit and maintenance amounts returned? Not currently — MagicBricks doesn't expose them reliably on search pages. If you need them, open an issue and they'll be looked at for the detail-page fetch.
What does Scrape property detail pages add? The listing row is already rich (~50 fields). Turning it on visits each property's page to add the full readable amenities list, full description and a spec overview — at roughly double the requests.
How many properties can I get per search?
MagicBricks paginates ~30 properties per page and serves up to ~60 pages per search. For deep coverage, split one broad search into several tighter ones (per locality, BHK or budget band) — and cap with maxItemsPerSearch.
Do I need to configure proxies or an unlocker?
No. India residential routing with a browser TLS fingerprint is built in — that's what gets past MagicBricks' Akamai 403. The proxy field is only an override for bringing your own.
Can I scrape listings behind a login? No. The actor reads only public listing and property pages.
Support
Found a bug or need an extra field? Open an issue on the actor's Issues tab — issues are answered quickly, usually within a day.
Additional Services
Need a custom field, another property portal, or a scheduled listings feed into your warehouse? Custom scraping and pipeline work is available — open an issue with "custom" in the title.
Explore More Scrapers
More real-estate data sources from the same developer:
- Zillow Agents Leads Scraper — every Zillow agent in any US city or ZIP, with contact details
- Realtor.com Scraper — US property listings and agent profiles in one actor
- Rightmove Scraper — UK buy / rent / sold listings + agents, with AI deal scoring
- OnTheMarket Property Scraper — UK listings, prices & agents
- HAR.com Texas Real Estate Scraper — the largest Texas MLS portal: sale, rent & sold
Full list at apify.com/memo23 — 400+ public Actors.
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/magicbricks-property-scraper).
Purpose: Scrape MagicBricks.com buy/rent property listings across 1,000+ Indian cities from a filtered search URL, a city + filters builder, or direct property URLs — one flat ~50-field row per property, past the Akamai block.
Minimal input:
{"startUrls": ["https://www.magicbricks.com/flats-in-bangalore-for-sale-pppfs"],"maxItems": 25}
City-builder mode (inline): { "city": "Bangalore", "transactionType": "rent", "bedrooms": ["2","3"], "maxItems": 25 }.
Output: one row per property — rowType, propertyId, listingId, title, propertyType, transactionType, listingType, bedrooms, bathrooms, balconies, price, priceDisplay, pricePerSqft, bookingAmount, carpetArea, coveredArea (+ units), furnishing, floor, floorNumber, totalFloors, facing, ownership, possessionStatus, ageOfConstruction, parking, tenantPreference, approvedBy, reraIds, locality, address, city, latitude, longitude, project, builder, amenities, images, description, listerName, listerType, postedDate, postedDateExact, isPremium, isLuxury, propertyUrl, sourceUrl, sourceMode, scrapedAt; with scrapeDetails: allAmenities, fullDescription, overview.
Behaviors an agent should know:
- Always set
maxItems(default 1000; each row is one paidpropertyevent; free-tier runs are additionally capped at 100).maxItemsPerSearchcaps rows per search/city build; ~30 properties/page, auto-paginated. startUrlsentries are auto-classified into searches vs property pages; the city builder is used only whencityis set. Money fields are in INR.- Filters beyond city/type/BHK/budget (locality, area, furnishing, …) are applied by pasting a filtered search URL — the URL carries them all.
scrapeDetails(default off) adds allAmenities, fullDescription and overview at ~2× the requests.enrichEmails(default off, experimental) adds contactEmail + contactWebsite.- Owner/agent phone numbers are OTP/login-gated and never returned — only public
listerName+listerType. - India residential routing is built in (Akamai-protected, India-only site); no proxy input needed.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by MagicBricks (Times Internet Limited) or any of its subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available MagicBricks property listing and detail pages — no authenticated endpoints, no login-only or OTP-gated contact data. Users are responsible for ensuring their use complies with MagicBricks' Terms of Service, applicable data-protection law (including India's DPDP Act, GDPR and CCPA where relevant) and any contractual obligations of their own organisation. Use scraped personal data (such as lister names) lawfully and honour opt-out / do-not-contact requirements.
SEO Keywords
magicbricks scraper, scrape magicbricks, magicbricks property scraper, magicbricks rent scraper, magicbricks buy scraper, magicbricks data extraction, magicbricks api, real estate scraper india, indian property data, property price scraper india, magicbricks listings extractor, real estate lead generation india, property market data india, magicbricks bangalore mumbai pune delhi, scrape indian real estate, property listing scraper, rera data india, real estate data feed india, apify magicbricks, magicbricks search scraper