MagicBricks Property Scraper — Price, BHK, Area (India) avatar

MagicBricks Property Scraper — Price, BHK, Area (India)

Pricing

from $1.20 / 1,000 properties

Go to Apify Store
MagicBricks Property Scraper — Price, BHK, Area (India)

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

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

31

Total users

6

Monthly active users

a day ago

Last modified

Share

MagicBricks Property Scraper

MagicBricks Property Scraper logo

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

InputExampleRows emitted
Search / SRP URL (SEO form)https://www.magicbricks.com/flats-in-bangalore-for-sale-pppfsEvery listing in that search, paginated
Search / SRP URL (query form)https://www.magicbricks.com/property-for-rent/residential-real-estate?cityName=MumbaiEvery listing in that search, paginated
Property URLhttps://www.magicbricks.com/propertyDetails/…&id=…That single property, full row
City + filters (no URL)city: "Bangalore" + optional filters belowEvery 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

AudienceUse case
Real-estate agencies / brokersBuild targeted listing & owner-lead lists for any city, locality or budget
Proptech / portalsSeed or refresh a property database with structured, deduplicated rows
Market researchersMeasure inventory, price-per-sqft and BHK mix by locality and project
Investors / developersTrack asking prices, possession status and new projects in target micro-markets
Data / analytics teamsFeed live MagicBricks listings into pricing or comparison models
AI agentsAnswer questions like "2 BHK in Koramangala under ₹50k rent" with live data via the Apify MCP server

How It Works

How the MagicBricks Property Scraper works

  1. Classify every input — a city + filters is turned into a search URL; pasted URLs are sorted into searches vs property pages.
  2. 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.
  3. 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.
  4. Enrich each property from its detail page (when Scrape property detail pages is on): full readable amenities, full description and a spec overview.
  5. Emit one flat, self-contained row per property, deduplicated by property id.

Input Configuration

Input fields

FieldTypeDefaultDescription
startUrlsarrayMagicBricks search-results URLs and/or property URLs. Auto-classified.
citystringCity for the builder, e.g. Bangalore, Mumbai, Pune.
transactionTypestringsalesale (buy) or rent. Used by the city builder.
propertyTypesarrayProperty-type slugs for the builder (Multistorey-Apartment, Residential-House, Residential-Plot, …). Friendly names like apartment, house, plot accepted.
bedroomsarrayBHK filter for the builder, e.g. 2, 3.
minBudget / maxBudgetintegerPrice range for the builder, in rupees (e.g. 5000000 = ₹50 Lac).
scrapeDetailsbooleanfalseAlso fetch each property's detail page for full amenities, description and spec overview. ~2× the requests.
maxItemsinteger1000Max property rows for the whole run. Each row is one paid property event.
maxItemsPerSearchinteger1000Max rows per search URL / city build.
maxConcurrencyinteger5Parallel requests. Keep moderate — MagicBricks is Akamai-protected.
maxRequestRetriesinteger12Retry budget per request on Akamai blocks (403), 429 and network errors. Each retry rotates to a fresh India residential IP.
proxyobjectbuilt-inLeave empty — India residential routing is built in. Set only to use your own proxies.
enrichEmailsbooleanfalseExperimental: 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 & typepropertyId, listingId, title, propertyType, transactionType (Sale/Rent), listingType (Resale/New), propertyUrl
  • Priceprice, priceDisplay ("79 Lac"), pricePerSqft, bookingAmount (all INR)
  • Size & layoutbedrooms, bathrooms, balconies, carpetArea + unit, coveredArea + unit, floorNumber, totalFloors, floor label
  • Specsfurnishing, facing, ownership, possessionStatus, ageOfConstruction, parking, tenantPreference, approvedBy, reraIds
  • Locationlocality, address, city, latitude, longitude
  • Project & listerproject, builder, listerName, listerType (Owner/Agent/Builder), postedDate, postedDateExact, isPremium, isLuxury
  • Mediaimages, 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

FieldTypeNotes
title / propertyTypestringListing headline + type (Apartment / House / Plot / …)
transactionType / listingTypestringSale / Rent + Resale / New
price / priceDisplay / pricePerSqftnumber / stringAsking price (₹), the "79 Lac"/"1.63 Cr" label, ₹/sqft
bedrooms / bathrooms / balconiesnumberUnit configuration
carpetArea / coveredArea (+ units)number / stringBoth areas, with their unit
floorNumber / totalFloors / floornumber / stringFloor split into numerics plus the display label
furnishing / facing / ownership / possessionStatusstringCore specs
tenantPreferencestringe.g. "Bachelors/Family" — rent-relevant
reraIds / approvedBystring[] / stringRERA registrations + approving authority
locality / address / citystringWhere the property is
latitude / longitudenumberGPS coordinates
project / builderstringProject / society + developer
amenities / images / descriptionarrays / stringListing media (full amenities with scrapeDetails)
listerName / listerTypestringPublic lister name + Owner / Agent / Builder
postedDateExact / postedDatestringISO timestamp + the display label
allAmenities / fullDescription / overviewOnly when Scrape property detail pages is on
contactEmail / contactWebsite / emailEnrichmentOnly when Enrich with contact emails is on

How It Compares

CapabilityTypical MagicBricks actorsThis actor
Fields per listing16–35~50 (plus detail + email enrichment)
Paste any filtered search URLRarely — 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 numbersOften a raw labelfloorNumber + totalFloors + label
Posted dateOften "Posted Today" only✅ Exact ISO timestamp too
Pricing$2–$5 per 1,000, some tiered by planFrom $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:

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 paid property event; free-tier runs are additionally capped at 100). maxItemsPerSearch caps rows per search/city build; ~30 properties/page, auto-paginated.
  • startUrls entries are auto-classified into searches vs property pages; the city builder is used only when city is 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