MagicBricks Scraper | Rent & Sale, 16 Fields, No Browser avatar

MagicBricks Scraper | Rent & Sale, 16 Fields, No Browser

Pricing

from $1.20 / 1,000 property scrapeds

Go to Apify Store
MagicBricks Scraper | Rent & Sale, 16 Fields, No Browser

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

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

0.33 hours

Issues response

7 days ago

Last modified

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

FieldTypeRequiredDefaultDescription
citystringno"Bangalore"Indian city name, e.g. Bangalore, Mumbai, Pune.
listingTypestringno"RENT"Rent or sale listings.
bedroomsarrayno["2"]BHK counts to search, e.g. 2 and 3. Each is a separate search page.
maxResultsintegerno25Maximum 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.

FieldTypeExample
property_idstring"4d423632373632343835"
titlestring"2 BHK Apartment for Rent in Rajajinagar Ba…
listing_typestring"RENT"
pricenumber50000
price_currencystring"INR"
bhknumber2
property_typestring"Apartment"
area_sqftnumber1240
projectstring"Puravankara Purva Sunflower"
localitystring"Rajajinagar"
citystring"Bangalore"
posted_bystring"Salman"
listed_atstring"2026-07-26T23:45:22.000Z"
expires_atstring"2026-09-24T23:45:22.000Z"
urlstring"https://www.magicbricks.com/propertyDetail…
scraped_atstring"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 project field groups listings by named development, showing how much inventory a builder has live.
  • Broker versus owner mixposted_by reveals 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 ApifyClient
client = 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)

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