Magicbricks Property Scraper avatar
Magicbricks Property Scraper

Pricing

$4.00/month + usage

Go to Apify Store
Magicbricks Property Scraper

Magicbricks Property Scraper

Magicbricks is an Indian online real estate platform that helps users buy, sell, and rent residential and commercial properties by providing verified listings, advanced search filters, price trends, and direct contact with property owners, agents, and builders.

Pricing

$4.00/month + usage

Rating

5.0

(2)

Developer

ScrapeAI

ScrapeAI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

๐Ÿ  Magicbricks Property Scraper - API Based

This Apify actor retrieves real estate data directly through the Magicbricks API. Search by city, property type, and bedrooms to collect structured property information including title, price, location, area, amenities, and images. Perfect for real estate research, price monitoring, and market analysis.

โœ… Use Cases

  • ๐Ÿ“Š Monitor property pricing trends
  • ๐Ÿ” Track property availability across cities
  • ๐Ÿ“ˆ Conduct real estate market research
  • ๐Ÿ’ฐ Build property comparison databases
  • ๐Ÿ“‹ Generate property listings with specifications

๐Ÿ“ฅ Input Configuration

You can customize the actor using the following input fields:

{
"searchUrl": "https://www.magicbricks.com/property-for-sale/residential-real-estate?bedroom=2,3&proptype=Multistorey-Apartment,Villa&cityName=Bangalore",
"apiUrl": "",
"maxProperties": 50,
"minPrice": 0,
"maxPrice": 0,
"minBedrooms": 2,
"maxBedrooms": 3,
"sortBy": "premiumRecent"
}

๐Ÿงพ Fields Explained

FieldTypeDescription
searchUrlstringMagicbricks search URL with filters (city, bedrooms, property type)
apiUrlstringDirect Magicbricks API URL. If provided, searchUrl is ignored
maxPropertiesnumberMaximum number of properties to retrieve (1-1000)
minPricenumberMinimum price filter in INR. Set to 0 for no minimum
maxPricenumberMaximum price filter in INR. Set to 0 for no maximum
minBedroomsnumberMinimum bedrooms (BHK). Set to 0 for no filter
maxBedroomsnumberMaximum bedrooms (BHK). Set to 0 for no filter
sortBystringSort order: "premiumRecent", "price_asc", "price_desc", "recentFirst", "relevance"
pageNumbernumberStarting page number for pagination

๐Ÿ“ค Output

The actor returns a dataset containing structured property records. Each record includes comprehensive details about the property, suitable for price monitoring, analytics, and market research.

๐Ÿงฉ Sample Output

{
"property_id": "12345678",
"property_title": "3 BHK Apartment in Whitefield",
"property_type": "Multistorey-Apartment",
"locality": "Whitefield",
"city": "Bangalore",
"address": "Whitefield Main Road, Bangalore",
"bedrooms": 3,
"bathrooms": 2,
"carpet_area": 1450,
"carpet_area_unit": "sqft",
"floor_number": 5,
"total_floors": 12,
"price": 9500000,
"price_display": "95 Lac",
"price_per_sqft": 6551,
"possession_status": "Ready to Move",
"furnishing": "Semi-Furnished",
"age_of_property": "New Construction",
"builder_name": "ABC Developers",
"project_name": "Green Valley Heights",
"amenities": ["Gym", "Swimming Pool", "Parking"],
"image_url": "https://img.staticmb.com/...",
"listing_url": "https://www.magicbricks.com/..."
}

๐Ÿ“‹ Output Fields

FieldTypeDescription
property_idstringUnique property identifier
property_titlestringProperty listing title
property_typestringType of property (Apartment, Villa, etc.)
localitystringProperty locality/area name
citystringCity where property is located
bedroomsintegerNumber of bedrooms (BHK)
bathroomsintegerNumber of bathrooms
carpet_areanumberCarpet area of the property
carpet_area_unitstringUnit of measurement (sqft, sqm)
floor_numberintegerFloor number of the property
total_floorsintegerTotal floors in the building
pricenumberProperty price in INR
price_displaystringFormatted price for display
price_per_sqftnumberPrice per square foot
possession_statusstringPossession status (Ready to Move, etc.)
furnishingstringFurnishing status
builder_namestringBuilder/developer name
project_namestringProject/society name
amenitiesarrayProperty amenities list
image_urlstringMain property image URL
listing_urlstringProperty listing URL on Magicbricks

๐Ÿ” Data Source

  • โœ“ Data fetched exclusively via Magicbricks API (HTTP GET requests)
  • โœ“ No HTML scraping or DOM parsing
  • โœ“ Real-time property information directly from Magicbricks
  • โœ“ Automatic filtering and deduplication

๐Ÿ”’ Proxy Configuration

This actor uses standard HTTP headers with optional proxy support for:

  • Avoiding IP-based rate limiting or bans
  • Accessing location-specific data
  • Ensuring stable data retrieval at scale

Configure proxy settings in Apify:

{
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "IN"
}

๐Ÿš€ How to Use

  1. Open the actor in Apify Console
  2. Click "Try actor" or create a new task
  3. Enter your Magicbricks search URL or API URL
  4. Configure optional filters (price range, bedrooms)
  5. Run the actor
  6. Download results in JSON, CSV, or Excel format

โš™๏ธ Advanced Input Example

{
"apiUrl": "https://www.magicbricks.com/mbsrp/propertySearch.html?editSearch=Y&category=S&propertyType=10002,10003&bedrooms=11701,11702&city=3327&page=1&sortBy=premiumRecent&pType=10002,10003&isNRI=N&multiLang=en",
"maxProperties": 100,
"minPrice": 5000000,
"maxPrice": 20000000,
"minBedrooms": 2,
"maxBedrooms": 3,
"sortBy": "price_asc"
}

๐Ÿ› ๏ธ Tech Stack

  • Apify SDK โ€” actor orchestration and data handling
  • Node.js 18+ โ€” runtime environment
  • node-fetch โ€” HTTP client for API requests
  • Magicbricks API โ€” exclusive data source for property information

๐Ÿ“Š Data Processing Features

  • โœ“ Automatic duplicate detection using Property IDs
  • โœ“ Filtering by price range and bedroom count
  • โœ“ Structured data parsing and normalization
  • โœ“ Comprehensive logging and error handling
  • โœ“ Schema validation for all output records
  • โœ“ Pagination support for large result sets

๐Ÿ”ง Local Development

Installation

$npm install

Running the Actor

$npm start

Validation

Validate all generated datasets against the schema:

$node validate-datasets.js

Code Quality

Format code:

$npm run format

Check linting:

$npm run lint

๐Ÿ“‚ Project Structure

.
โ”œโ”€โ”€ .actor/ # Actor configuration
โ”‚ โ”œโ”€โ”€ actor.json # Actor metadata
โ”‚ โ”œโ”€โ”€ input_schema.json # Input parameters schema
โ”‚ โ”œโ”€โ”€ dataset_schema.json # Output dataset schema
โ”‚ โ”œโ”€โ”€ input.json # Default input
โ”‚ โ”œโ”€โ”€ input-local.json # Local development input
โ”‚ โ””โ”€โ”€ input-production.json # Production input
โ”œโ”€โ”€ src/
โ”‚ โ””โ”€โ”€ main.js # Main actor script
โ”œโ”€โ”€ storage/
โ”‚ โ””โ”€โ”€ datasets/default/ # Generated datasets
โ”œโ”€โ”€ package.json # Dependencies
โ”œโ”€โ”€ validate-datasets.js # Dataset validator
โ””โ”€โ”€ README.md # This file

๐Ÿค Support

For issues, questions, or feature requests, please refer to the Apify documentation or contact support.