MagicBricks Scraper | Rent & Sale, 16 Fields, No Browser
Pricing
from $1.20 / 1,000 property scrapeds
MagicBricks Scraper | Rent & Sale, 16 Fields, No Browser
Scrape MagicBricks property listings across Indian cities — price, BHK, area, project, locality, poster and listing date. Rent or sale. Parses the site's structured schema.org data: no login, no browser, pay per property. Use it as an MCP server in Claude, ChatGPT & AI agents.
Pricing
from $1.20 / 1,000 property scrapeds
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
0.33 hours
Issues response
7 days ago
Last modified
Categories
Share
MagicBricks Scraper — Rent & Sale, 16 Fields, No Browser
The Mine Works: 544 users across 100 public Actors, >99% run success. Pay only for results delivered. Browse all Actors.
Scrape MagicBricks property listings across Indian cities — price, BHK, area, project, locality, poster and listing date. Rent or sale. Parses the site's structured schema.org data: no login, no browser, pay per property. Use it as an MCP server in Claude, ChatGPT & AI agents.
⚡ Part of a 74-scraper suite with 8,800+ runs · no login, no cookies, no ban risk.
💸 You are only charged for delivered results — empty searches, failed pages and duplicates are never billed.
Scrape 2 BHK rentals in Bangalore
The default recipe. city is free text — pass any city name MagicBricks uses in its own
cityName URL parameter (Bangalore, Mumbai, Pune, Hyderabad, Chennai, Delhi, Noida…).
{"city": "Bangalore","listingType": "RENT","bedrooms": ["2"],"maxResults": 100}
Scrape flats for sale across several BHK sizes
bedrooms accepts up to 5 values and each one is fetched as its own MagicBricks search page, so
this is how you widen a run rather than running it three times.
{"city": "Pune","listingType": "BUY","bedrooms": ["2", "3", "4"],"maxResults": 200}
Monitor MagicBricks asking prices city by city
price and area_sqft come back as numbers and listed_at is a real timestamp, so a scheduled
run against the same city and BHK gives you a clean price-per-sqft time series.
{"city": "Hyderabad","listingType": "RENT","bedrooms": ["3"],"maxResults": 150}
Why use this MagicBricks scraper
MagicBricks is one of India's two largest property portals. This actor reads its public listing surface and returns one clean record per property: a stable property id, the listing title, whether it is for rent or sale, the numeric price with currency, BHK count, property type, built-up area in square feet, the named project or society, locality, city, who posted it, the listing and expiry timestamps, and a canonical URL — 16 fields in total, read from the schema.org JSON-LD MagicBricks publishes on its own search pages, so there is no browser and no HTML-layout fragility.
Price and area come back as numbers, not display strings, so you can sort and aggregate without parsing "₹50,000" or "1,240 sqft" first.
All MagicBricks scraper input options
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
city | string | no | "Bangalore" | Indian city name, e.g. Bangalore, Mumbai, Pune. |
listingType | string | no | "RENT" | Rent or sale listings. |
bedrooms | array | no | ["2"] | BHK counts to search, e.g. 2 and 3. Each is a separate search page. |
maxResults | integer | no | 25 | Maximum properties to return. |
What data you get from each MagicBricks listing
One record per property, up to 16 fields. Field list and example below are taken from a real run, not a mock-up.
| Field | Type | Example |
|---|---|---|
property_id | string | "4d423632373632343835" |
title | string | "2 BHK Apartment for Rent in Rajajinagar Ba… |
listing_type | string | "RENT" |
price | number | 50000 |
price_currency | string | "INR" |
bhk | number | 2 |
property_type | string | "Apartment" |
area_sqft | number | 1240 |
project | string | "Puravankara Purva Sunflower" |
locality | string | "Rajajinagar" |
city | string | "Bangalore" |
posted_by | string | "Salman" |
listed_at | string | "2026-07-26T23:45:22.000Z" |
expires_at | string | "2026-09-24T23:45:22.000Z" |
url | string | "https://www.magicbricks.com/propertyDetail… |
scraped_at | string | "2026-07-27T08:24:12.230Z" |
Example output
{"property_id": "4d423632373632343835","title": "2 BHK Apartment for Rent in Rajajinagar Bangalore","listing_type": "RENT","price": 50000,"price_currency": "INR","bhk": 2,"property_type": "Apartment","area_sqft": 1240,"project": "Puravankara Purva Sunflower","locality": "Rajajinagar","city": "Bangalore","posted_by": "Salman","listed_at": "2026-07-26T23:45:22.000Z","expires_at": "2026-09-24T23:45:22.000Z","url": "https://www.magicbricks.com/propertyDetails/2-BHK-1240-Sq-ft-Multistorey-Apartment-FOR-Rent-Rajaji-Nagar-in-Bangalore&id=4d423632373632343835","scraped_at": "2026-07-27T08:24:12.230Z"}
What people use MagicBricks property data for
- Rental yield analysis — pull rent and sale listings for the same locality and compute gross yield per BHK band.
- Locality price tracking — run weekly to build a time series of asking prices per locality and project.
- Project-level supply monitoring — the
projectfield groups listings by named development, showing how much inventory a builder has live. - Broker versus owner mix —
posted_byreveals how much of a market's supply is intermediated. - Relocation and site-selection research — compare price per square foot across cities on a like-for-like BHK basis.
MagicBricks scraper FAQ
Which cities are covered?
Any city MagicBricks itself lists. The city is an input, so coverage matches the portal's own.
Rent or sale?
Both — set listingType. Every record also carries listing_type so mixed datasets stay unambiguous.
Is area_sqft the carpet area or the built-up area?
It is the area MagicBricks displays on the listing, which is normally built-up. The portal does not consistently label which basis a given lister used, so the value is passed through rather than relabelled.
Why does the title format vary between runs?
MagicBricks serves different title formats to different exit IPs. The parser handles both known formats and fills locality and city from the request context rather than trusting the title, so the structured fields stay correct either way.
What does it cost to scrape MagicBricks listings
Pay per event: one property-scraped event per delivered record, charged only after the record is validated and stored. Empty results, blocked pages and duplicates are never charged. Store discounts apply automatically on paid Apify plans.
Use MagicBricks data in Claude, ChatGPT & any MCP agent
This actor runs as an MCP server, so an AI agent can call it directly:
https://mcp.apify.com/?tools=themineworks/magicbricks-scraper
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("themineworks/magicbricks-scraper").call(run_input={"city": "Bangalore", "listingType": "RENT", "bedrooms": ["2"], "maxResults": 10})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Is scraping MagicBricks listings legal
This actor collects only publicly available information — the same data any visitor can see without logging in. It does not access private or authenticated areas, does not attempt to bypass paywalls, and collects no personal data beyond what the source already publishes openly. You are responsible for using the output in line with the source site's terms and with the data protection law that applies to you.
MIT © The Mine Works
Last verified: 2026-08