MagicBricks India Property Listings & Agent Leads Scraper
Pricing
from $25.50 / 1,000 results
MagicBricks India Property Listings & Agent Leads Scraper
Scrape MagicBricks India property listings with price (INR + per sqft), BHK, area, furnishing, floor, locality, geo coordinates and the advertiser (owner, dealer, agent or builder) with agency name and RERA ID. Filter by city, sale/rent, type. Export to JSON, CSV or Excel.
Pricing
from $25.50 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
MagicBricks India Property Listings & Agent Leads Scraper
Here is one real result, with every field the actor returns:
{"listingId": "85481375","title": "5BHK Multistorey Apartment for New Property in Kalpataru Amare at Juhu","transactionType": "Sale","listingType": "New Property","propertyType": "Apartment","priceInr": 225617000,"priceDisplay": "22.56 Cr","pricePerSqft": 60978,"bedrooms": 5,"bathrooms": 3,"area": 3700,"areaUnit": "Sq-ft","furnishing": "Unfurnished","floor": null,"locality": "Juhu","city": "Mumbai","latitude": 19.098267753993,"longitude": 72.8335140160125,"postedDate": "20260809","postedLabel": "Posted Yesterday","possessionStatus": "Dec '27","availableFrom": "2027-12-01","description": "This well maintained 5 BHK residence is currently offered for sale in Juhu, Mumbai. It has an excellent location within Kalpataru Amare ... (trimmed)","projectHighlight": null,"localityHighlight": null,"imageCount": 18,"image": "https://img.staticmb.com/mbimages/project/Photo_h310_w462/2024/07/09/Project-Photo-1-Kalpataru-Amare-Mumbai-5420899_410_1440_310_462.jpg","landmarks": [{ "name": "Juhu Beach Bus Stop", "distance": null },{ "name": "Navrang Theatre", "distance": null }],"ownerType": "Agent","advertiserName": "Desai Rakesh","contactName": "Desai Rakesh","agencyName": "Tejasvi Realty Pvt. Ltd.","builderName": "Kalpataru Limited","operatingSince": "1993","phone": null,"reraId": null,"society": "Kalpataru Amare","listingUrl": "https://www.magicbricks.com/propertyDetails/5-BHK-3700-Sq-ft-Multistorey-Apartment-FOR-Sale-Juhu-in-Mumbai&id=4d423835343831333735","searchCity": "Mumbai","source": "magicbricks-india-scraper","observedAt": "2026-08-10T14:31:21.765Z"}
The most complete MagicBricks scraper available. It returns every field the listing exposes, including price in rupees and per-square-foot, geolocation, nearby landmarks, possession status, and the advertiser, agency and builder details, so you can build both a property dataset and an agent-lead list from the same run.
Note: the description and landmarks above are trimmed for length; live runs return the full text and every landmark. All values shown are real.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches MagicBricks for residential property listings in the cities you pass, applies your transaction type, property type and bedroom filters, paginates through the results, and writes one normalized record per listing to the run's dataset. Each record carries the property (price in rupees, per-square-foot rate, area, bedrooms, bathrooms, furnishing, possession status), its geolocation and nearby landmarks, and the advertiser, agency and builder details for lead generation. Multiple cities run in the same run under a single shared maxListings cap.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 10 residential properties for sale across Mumbai and Delhi.
{"maxListings": 10,"cities": ["Mumbai", "Delhi"],"transactionType": "sale"}
Add propertyType and bedrooms to narrow results, or set transactionType to rent for rentals.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
cities | string[] | no | ["Mumbai","Delhi"] | One or more cities to search, for example Mumbai, Delhi, Bangalore, Pune, Hyderabad, Chennai, Gurgaon, Noida. Each city runs its own search in the same run. |
maxListings | integer | no | 10 | Maximum listings to return across all city searches. Free Apify plans are capped at 10 per run. |
transactionType | enum | no | sale | sale (for sale) or rent (for rent). |
propertyType | enum | no | (all) | One of Apartment, Builder Floor, Independent House, Villa, Studio Apartment, Penthouse, Residential Plot, Farm House. Empty means all residential types. |
bedrooms | enum | no | (any) | Bedrooms (BHK): 1, 2, 3, 4, or 5. Empty means any. |
Output reference
One dataset item per listing. Types: string, number, boolean, array, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
listingId | string | MagicBricks listing identifier. |
title | string | Listing headline. |
transactionType | string | Sale or Rent. |
listingType | string | For example New Property, Resale. |
propertyType | string | For example Apartment, Villa. |
priceInr | number | Price in Indian rupees. |
priceDisplay | string | Price as shown, for example 22.56 Cr. |
pricePerSqft | number | Price per square foot in rupees. |
bedrooms | number | Number of bedrooms (BHK). |
bathrooms | number | Number of bathrooms. |
area | number | Covered/built-up area value. |
areaUnit | string | Unit for area, usually Sq-ft. |
furnishing | string | Furnishing status. |
floor | string | Floor detail, or null. |
locality | string | Locality name. |
city | string | City name. |
latitude | number | Latitude, or null. |
longitude | number | Longitude, or null. |
postedDate | string | Posting date, YYYYMMDD. |
postedLabel | string | Human-readable posting label. |
possessionStatus | string | Possession status text. |
availableFrom | string | Availability date (YYYY-MM-DD), or null. |
description | string | Full listing description. |
projectHighlight | string | Project highlight, or null. |
localityHighlight | string | Locality highlight, or null. |
imageCount | number | Number of images on the listing. |
image | string | Primary image URL. |
landmarks | object[] | Nearby landmarks, each with name and distance. |
ownerType | string | For example Agent, Owner, Builder. |
advertiserName | string | Name of the advertiser. |
contactName | string | Contact person name. |
agencyName | string | Agency name, or null. |
builderName | string | Builder/developer name, or null. |
operatingSince | string | Year the advertiser has operated since, or null. |
phone | string | Phone number. Usually null: MagicBricks gates phone behind a lead-capture form. |
reraId | string | RERA registration ID when exposed, else null. |
society | string | Society/project name. |
listingUrl | string | Direct link to the listing. |
searchCity | string | The city the search ran for. |
source | string | Always magicbricks-india-scraper. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
On a failed or empty run, a single item with a populated error field is written instead, and it is not charged.
Example output record
Real record from a live run (input {"cities":["Mumbai","Delhi"],"transactionType":"sale","maxListings":10}):
{"listingId": "85481375","title": "5BHK Multistorey Apartment for New Property in Kalpataru Amare at Juhu","transactionType": "Sale","propertyType": "Apartment","priceInr": 225617000,"priceDisplay": "22.56 Cr","pricePerSqft": 60978,"bedrooms": 5,"bathrooms": 3,"area": 3700,"areaUnit": "Sq-ft","locality": "Juhu","city": "Mumbai","latitude": 19.098267753993,"longitude": 72.8335140160125,"possessionStatus": "Dec '27","ownerType": "Agent","advertiserName": "Desai Rakesh","agencyName": "Tejasvi Realty Pvt. Ltd.","builderName": "Kalpataru Limited","operatingSince": "1993","society": "Kalpataru Amare","listingUrl": "https://www.magicbricks.com/propertyDetails/5-BHK-3700-Sq-ft-Multistorey-Apartment-FOR-Sale-Juhu-in-Mumbai&id=4d423835343831333735","searchCity": "Mumbai","source": "magicbricks-india-scraper","observedAt": "2026-08-10T14:31:21.765Z"}
Some fields are omitted here for length; live runs return every field listed above with real values.
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~magicbricks-india-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"cities":["Bangalore"],"transactionType":"rent","bedrooms":"2","maxListings":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~magicbricks-india-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"cities":["Pune","Hyderabad"],"propertyType":"Villa","maxListings":100}'
Apify CLI:
apify call scrapers_lat/magicbricks-india-scraper \--input '{"cities":["Gurgaon"],"transactionType":"sale","maxListings":50}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors or finds nothing, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxListings.
FAQ and troubleshooting
A run returned 0 records. Why?
The filter combination matched nothing. Loosen filters (remove propertyType or bedrooms, or try another city). Zero-result runs are not charged.
Why is phone null?
MagicBricks gates advertiser phone numbers behind a lead-capture form, so the number is not present on the public listing. The actor never invents a value, so it returns null. Use advertiserName, agencyName and builderName for lead identification.
Can I scrape multiple cities at once?
Yes. Pass several cities in cities; each runs its own search under one shared maxListings cap.
How do I get rentals instead of sales?
Set transactionType to rent.
Is this an official MagicBricks tool? No. This actor is independent and has no affiliation with MagicBricks. It reads only data that is publicly available on the site.
Related scrapers
- Lamudi Property Scraper: Property listings across emerging markets.
- Domain Australia Real Estate Scraper: Australian property listings.
- Funda Netherlands Scraper: Dutch property listings.
- Daft Ireland Real Estate Scraper: Irish property listings.
- IndiaMART Suppliers Scraper: India B2B suppliers and product listings.
- JobStreet SEA Jobs Scraper: Jobs across Southeast Asia.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with MagicBricks. Accesses only publicly available data.
