
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape Magicbricks.com property listings across India: flats, houses, villas, plots and commercial space for sale or rent. Price, BHK, area, furnishing, floor, possession, amenities, project, developer, agent or owner name, coordinates and posting date, from a city with filters, search URLs or property URLs.
Scrape property listings from Magicbricks.com, one of India's largest real-estate portals. Pick a city, buy or rent, and optional filters (or paste any Magicbricks search URL) and get clean rows with price, BHK, area, furnishing, floor, possession, amenities, project, developer, agent or owner name, coordinates and posting date. No login, fast HTTP-only scraping, about 1,000 listings in under a minute.
| Field | What it does |
|---|---|
city | City name. Several cities separated by commas. |
searchMode | rent or buy. |
maxItems | Maximum listings for the run (0 = no limit). |
startUrls | Magicbricks search URLs and property URLs. |
localities | Neighbourhoods inside the city. |
propertyTypes | apartment, builder-floor, penthouse, studio, independent-house, villa, plot, office, shop, showroom, warehouse, ... |
bedrooms | BHK values such as 2, 3 or 5+. |
minPrice / maxPrice | Total price (buy) or monthly rent (rent) in ₹. |
minArea / maxArea | Area in square feet. |
furnishing | furnished, semi-furnished, unfurnished. |
possession | Buy only: ready or under-construction. |
tenantTypes | Rent only: family, bachelor, company. |
scrapeDetails | Opens each listing for the full address, security deposit and all photos. |
{
"city": "Bangalore",
"searchMode": "rent",
"localities": ["Koramangala", "Indiranagar"],
"bedrooms": ["2", "3"],
"maxPrice": 80000,
"furnishing": ["semi-furnished", "furnished"],
"maxItems": 100
}
| Field | Description |
|---|---|
listingId, url, title | Magicbricks id, listing link and title |
searchMode, transactionType, propertyType | rent/buy, resale/new/rent, apartment/villa/... |
price, priceDisplay, pricePerSqft | Price or monthly rent in ₹ |
maintenance, bookingAmount | Monthly maintenance and booking amount or deposit |
bedrooms, bathrooms, balconies | Room counts |
superArea, carpetArea, areaUnit, plotArea | Areas |
furnishing, facing, overlooking, floor, totalFloors | Unit details |
possessionStatus, possessionBy, availableFrom, ageOfConstruction, ownershipType | Status |
tenantsPreference | Accepted tenants (rent) |
locality, city, address, landmark, latitude, longitude | Location |
projectName, projectUrl, developer, reraIds | Project and RERA |
listedBy, contactName, companyName, agentOperatingSince | Owner, agent or builder |
parking, flooring, waterStatus, powerStatus, amenities | Features |
description, images, imageCount, videoUrl | Content |
postedDate, postedLabel, expiresAt, scrapedAt | Dates |
fullAddress, securityDeposit, firstMonthCharges, verified | With detail pages on |
{
"listingId": "86797319",
"url": "https://www.magicbricks.com/propertyDetails/2-BHK-1400-Sq-ft-Multistorey-Apartment-FOR-Rent-Rajaji-Nagar-in-Bangalore&id=4d423836373937333139",
"title": "2BHK Multistorey Apartment for Rent in Brigade Gateway at Rajajinagar",
"searchMode": "rent",
"transactionType": "Rent",
"propertyType": "Apartment",
"bedrooms": 2,
"bathrooms": 2,
"balconies": 2,
"price": 75000,
"priceDisplay": "75,000",
"pricePerSqft": 54,
"maintenance": 8000,
"maintenancePeriod": "Monthly",
"bookingAmount": 400000,
"superArea": 1400,
"areaUnit": "Sq-ft",
"furnishing": "Semi-Furnished",
"overlooking": "Pool, Garden/Park",
"floor": 5,
"totalFloors": 20,
"floorDisplay": "5 of 20 Floor",
"possessionStatus": "Immediately",
"ageOfConstruction": "10 to 15 years",
"tenantsPreference": "Bachelors/Family",
"locality": "Rajajinagar",
"city": "Bangalore",
"latitude": 12.99,
"longitude": 77.56,
"projectName": "Brigade Gateway",
"projectUrl": "https://www.magicbricks.com/brigade-gateway-rajaji-nagar-bangalore-pdpid-4d4235303036323636",
"developer": "Brigade Enterprises Ltd.",
"listedBy": "Agent",
"contactName": "Ravi Kumar",
"companyName": "Example Realty",
"agentOperatingSince": 2010,
"amenities": ["Power Back Up", "Lift", "Club House", "Swimming Pool", "Gymnasium", "Security"],
"images": ["https://img.staticmb.com/mbphoto/property/cropped_images/.../86797319_1_PropertyImage426-2733698382444_470_1080.jpg"],
"imageCount": 12,
"postedDate": "2026-10-14T09:12:40.000Z",
"postedLabel": "Posted Yesterday",
"scrapedAt": "2026-10-16T06:00:00.000Z"
}
You pay $2.50 per 1,000 listings ($0.0025 per saved listing), plus a little platform usage (compute and proxy traffic). A typical run of 1,000 rent or buy listings costs about $2.51 in total (measured: about $0.004 of platform usage). Turning on detail pages adds proxy traffic of roughly $0.40 per 1,000 listings. Rows that fail are never charged.
Is it legal to scrape Magicbricks? The actor reads publicly visible listing pages, the same data any visitor sees without logging in. Check that your use of the data complies with Magicbricks' terms and with Indian data-protection law, especially for names of owners and agents.
Do I need a login or proxy? No login. The default datacenter proxy works; if Magicbricks starts blocking it, the run moves to Indian residential exits by itself.
How many results can I get? Magicbricks shows at most 100 pages (3,000 listings) per search. For bigger cities the actor automatically splits a search by BHK to go further. For a complete crawl of a large city, add localities or budget ranges.
Why is a field empty? Magicbricks only shows what the lister entered. Carpet area, facing, parking or RERA ids are often missing on the site itself.
Can I get phone numbers? No. Magicbricks only reveals phone numbers to logged-in users who send a contact request, so they are out of scope.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start runs and fetch datasets through the REST API and webhooks.
...-pdpid-...) are not scraped as rows; use a search or property URL instead.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
citystringOptionalCity
City to search, such as Bangalore, Mumbai, New Delhi, Pune, Gurgaon, Hyderabad, Chennai, Noida, Kolkata or Thane. Separate several cities with commas. Leave empty if you paste URLs below.
searchModeenumOptionaldefault "rent"Buy or rent
Which Magicbricks section to search for the city.
maxItemsintegerOptionaldefault 20Max results
Maximum listings for the whole run. 0 means no limit. Each saved listing is one billed result.
startUrlsarrayOptionalSearch & property URLs
Optional. Magicbricks search-results URLs (any filters you set on the site are kept) and property URLs (magicbricks.com/propertyDetails/...). Mix freely with the city search.
Filters for the city search. URLs keep their own filters.
localitiesarrayOptionalLocalities
Optional. Neighbourhoods inside the city, for example Koramangala, Indiranagar, HSR Layout.
propertyTypesarrayOptionalProperty types
Optional. apartment, builder-floor, penthouse, studio, independent-house, villa, plot, office, shop, showroom, warehouse, commercial-land, industrial-building, industrial-shed. Empty means flats (apartment, builder floor, penthouse, studio).
bedroomsarrayOptionalBedrooms (BHK)
Optional, for example 2 and 3. Use 5+ for five or more.
minPriceintegerOptionalMin price (₹)
Total price for buy, monthly rent for rent. Example: 5000000 = ₹50 Lac.
maxPriceintegerOptionalMax price (₹)
Total price for buy, monthly rent for rent. Example: 10000000 = ₹1 Cr.
minAreaintegerOptionalMin area (sq ft)
Minimum area in square feet.
maxAreaintegerOptionalMax area (sq ft)
Maximum area in square feet.
furnishingarrayOptionalFurnishing
Optional. Any of the selected states.
possessionenumOptionaldefault "any"Possession (buy only)
Buy searches only.
tenantTypesarrayOptionalTenant type (rent only)
Optional. Keeps rentals whose owner accepts any of these tenants.
scrapeDetailsbooleanOptionaldefault falseOpen each listing's detail page
Adds the full address, security deposit, first-month charges, verified flag and the complete photo set. One extra request per listing, so slower.
maxItemsPerSearchintegerOptionalMax results per search
Optional cap for each URL or city. Empty or 0 means only the run limit applies. Magicbricks shows at most 3,000 listings (100 pages) per search; large cities are split by BHK to go further.
maxConcurrencyintegerOptionaldefault 10Parallel requests
How many pages load at once.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter exits work for Magicbricks. If they get blocked, the run switches to Indian residential exits on its own.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| url | any | Listing |
| title | any | Title |
| price | any | Price (₹) |
| priceDisplay | any | Price |
| searchMode | any | Mode |
| propertyType | any | Type |
| bedrooms | any | BHK |
| bathrooms | any | Baths |
| superArea | any | Super area |
| carpetArea | any | Carpet area |
| pricePerSqft | any | ₹ / sq ft |
| furnishing | any | Furnishing |
| floorDisplay | any | Floor |
| possessionStatus | any | Possession |
| locality | any | Locality |
| city | any | City |
| projectName | any | Project |
| developer | any | Developer |
| listedBy | any | Listed by |
| contactName | any | Contact |
| companyName | any | Agency |
| postedDate | any | Posted |
| latitude | any | Lat |
| longitude | any | Lng |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One Magicbricks listing saved to the dataset | $0.0025 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/magicbricks-scraper').call({
"city": "Bangalore",
"searchMode": "rent",
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/magicbricks-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/magicbricks-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Property listings with full detail pages.
Rental listings filtered by monthly rent.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.