{
  "data": {
    "id": "9lCmU3P2oSAmJd2ok",
    "actId": "xX3BqO6n2yMRjYlzB",
    "userId": "zq8lKbpLzTjGDayPC",
    "startedAt": "2026-10-31T22:05:51.902Z",
    "finishedAt": "2026-10-31T22:06:04.062Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 12074,
      "runTimeSecs": 12.074,
      "computeUnits": 0.013415555555555556,
      "imageSizeBytes": 358315008
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "GK9YjZRyQZVzOdoH5",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"MagicBricks Property Listings Input\",\n  \"description\": \"Choose what to collect from MagicBricks: city searches for sale or rent, pasted search-result URLs, or pasted property-detail URLs. Add optional BHK, price, area, furnishing, possession and locality filters.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"What to collect. Search by city and filters, paste MagicBricks search-result URLs, or paste property-detail URLs.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"searchForSale\",\n        \"searchForRent\",\n        \"searchProperties\",\n        \"bySearchUrl\",\n        \"byPropertyUrl\"\n      ],\n      \"enumTitles\": [\n        \"Search properties for sale\",\n        \"Search properties for rent\",\n        \"Search both sale and rent\",\n        \"Scrape MagicBricks search-result URLs\",\n        \"Scrape MagicBricks property URLs\"\n      ],\n      \"default\": \"searchForSale\",\n      \"prefill\": \"searchForSale\"\n    },\n    \"startUrls\": {\n      \"title\": \"Search or property URLs\",\n      \"type\": \"array\",\n      \"description\": \"MagicBricks search-result or property-detail links (mode=bySearchUrl or byPropertyUrl).\",\n      \"editor\": \"requestListSources\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"url\": {\n            \"type\": \"string\",\n            \"title\": \"URL\",\n            \"description\": \"MagicBricks search-result or property-detail URL.\"\n          }\n        }\n      },\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"city\": {\n      \"title\": \"City\",\n      \"type\": \"string\",\n      \"description\": \"Indian city to search (mode=searchForSale, searchForRent, searchProperties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Mangalore\",\n        \"Belgaum\",\n        \"Mysore\",\n        \"Hubli\",\n        \"Ahmedabad\",\n        \"Bangalore\",\n        \"Beyond Thane\",\n        \"Chennai\",\n        \"Gurgaon\",\n        \"Hyderabad\",\n        \"Indore\",\n        \"Jaipur\",\n        \"Kolkata\",\n        \"Lucknow\",\n        \"Mumbai\",\n        \"Navi Mumbai\",\n        \"New Delhi\",\n        \"Noida\",\n        \"Pune\",\n        \"Thane\",\n        \"Agra\",\n        \"Ahmadnagar\",\n        \"Allahabad\",\n        \"Aluva\",\n        \"Amritsar\",\n        \"Aurangabad\",\n        \"Badlapur\",\n        \"Bareilly\",\n        \"Bhiwadi\",\n        \"Bhiwandi\",\n        \"Bhopal\",\n        \"Bhubaneswar\",\n        \"Bokaro Steel City\",\n        \"Chandigarh\",\n        \"Chengalpattu\",\n        \"Coimbatore\",\n        \"Dehradun\",\n        \"Durgapur\",\n        \"Ernakulam\",\n        \"Erode\",\n        \"Faridabad\",\n        \"Ghaziabad\",\n        \"Goa\",\n        \"Gorakhpur\",\n        \"Greater Noida\",\n        \"Guntur\",\n        \"Guwahati\",\n        \"Gwalior\",\n        \"Haridwar\",\n        \"Hosur\",\n        \"Jabalpur\",\n        \"Jalandhar\",\n        \"Jammu\",\n        \"Jamshedpur\",\n        \"Jodhpur\",\n        \"Kalyan\",\n        \"Kannur\",\n        \"Kanpur\",\n        \"Khopoli\",\n        \"Kochi\",\n        \"Kodaikanal\",\n        \"Kottayam\",\n        \"Kozhikode\",\n        \"Lonavala\",\n        \"Ludhiana\",\n        \"Madurai\",\n        \"Mohali\",\n        \"Nagpur\",\n        \"Nainital\",\n        \"Nanded\",\n        \"Nashik\",\n        \"Navsari\",\n        \"Nellore\",\n        \"Newtown\",\n        \"Ooty\",\n        \"Palakkad\",\n        \"Palghar\",\n        \"Panchkula\",\n        \"Patiala\",\n        \"Patna\",\n        \"Pondicherry\",\n        \"Raipur\",\n        \"Rajahmundry\",\n        \"Ranchi\",\n        \"Salem\",\n        \"Satara\",\n        \"Shimla\",\n        \"Siliguri\",\n        \"Solapur\",\n        \"Sonipat\",\n        \"Surat\",\n        \"Thanjavur\",\n        \"Thrissur\",\n        \"Tirunelveli\",\n        \"Tirupati\",\n        \"Tirupur\",\n        \"Trichy\",\n        \"Trivandrum\",\n        \"Tumkur\",\n        \"Udaipur\",\n        \"Udupi\",\n        \"Vadodara\",\n        \"Vapi\",\n        \"Varanasi\",\n        \"Vijayawada\",\n        \"Visakhapatnam\",\n        \"Vrindavan\",\n        \"Zirakpur\"\n      ],\n      \"enumTitles\": [\n        \"Mangalore\",\n        \"Belgaum\",\n        \"Mysore\",\n        \"Hubli\",\n        \"Ahmedabad\",\n        \"Bangalore\",\n        \"Beyond Thane\",\n        \"Chennai\",\n        \"Gurgaon\",\n        \"Hyderabad\",\n        \"Indore\",\n        \"Jaipur\",\n        \"Kolkata\",\n        \"Lucknow\",\n        \"Mumbai\",\n        \"Navi Mumbai\",\n        \"New Delhi\",\n        \"Noida\",\n        \"Pune\",\n        \"Thane\",\n        \"Agra\",\n        \"Ahmadnagar\",\n        \"Allahabad\",\n        \"Aluva\",\n        \"Amritsar\",\n        \"Aurangabad\",\n        \"Badlapur\",\n        \"Bareilly\",\n        \"Bhiwadi\",\n        \"Bhiwandi\",\n        \"Bhopal\",\n        \"Bhubaneswar\",\n        \"Bokaro Steel City\",\n        \"Chandigarh\",\n        \"Chengalpattu\",\n        \"Coimbatore\",\n        \"Dehradun\",\n        \"Durgapur\",\n        \"Ernakulam\",\n        \"Erode\",\n        \"Faridabad\",\n        \"Ghaziabad\",\n        \"Goa\",\n        \"Gorakhpur\",\n        \"Greater Noida\",\n        \"Guntur\",\n        \"Guwahati\",\n        \"Gwalior\",\n        \"Haridwar\",\n        \"Hosur\",\n        \"Jabalpur\",\n        \"Jalandhar\",\n        \"Jammu\",\n        \"Jamshedpur\",\n        \"Jodhpur\",\n        \"Kalyan\",\n        \"Kannur\",\n        \"Kanpur\",\n        \"Khopoli\",\n        \"Kochi\",\n        \"Kodaikanal\",\n        \"Kottayam\",\n        \"Kozhikode\",\n        \"Lonavala\",\n        \"Ludhiana\",\n        \"Madurai\",\n        \"Mohali\",\n        \"Nagpur\",\n        \"Nainital\",\n        \"Nanded\",\n        \"Nashik\",\n        \"Navsari\",\n        \"Nellore\",\n        \"Newtown\",\n        \"Ooty\",\n        \"Palakkad\",\n        \"Palghar\",\n        \"Panchkula\",\n        \"Patiala\",\n        \"Patna\",\n        \"Pondicherry\",\n        \"Raipur\",\n        \"Rajahmundry\",\n        \"Ranchi\",\n        \"Salem\",\n        \"Satara\",\n        \"Shimla\",\n        \"Siliguri\",\n        \"Solapur\",\n        \"Sonipat\",\n        \"Surat\",\n        \"Thanjavur\",\n        \"Thrissur\",\n        \"Tirunelveli\",\n        \"Tirupati\",\n        \"Tirupur\",\n        \"Trichy\",\n        \"Trivandrum\",\n        \"Tumkur\",\n        \"Udaipur\",\n        \"Udupi\",\n        \"Vadodara\",\n        \"Vapi\",\n        \"Varanasi\",\n        \"Vijayawada\",\n        \"Visakhapatnam\",\n        \"Vrindavan\",\n        \"Zirakpur\"\n      ],\n      \"default\": \"Mumbai\",\n      \"prefill\": \"Mumbai\"\n    },\n    \"localities\": {\n      \"title\": \"Localities\",\n      \"type\": \"array\",\n      \"description\": \"Optional locality or neighbourhood names inside the city (mode=searchForSale, searchForRent, searchProperties). One search is run per locality.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"propertyType\": {\n      \"title\": \"Property type\",\n      \"type\": \"string\",\n      \"description\": \"Type of property to search (mode=searchForSale, searchForRent, searchProperties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Apartment\",\n        \"Builder Floor\",\n        \"Independent House\",\n        \"Villa\",\n        \"Plot\",\n        \"Penthouse\",\n        \"Studio Apartment\",\n        \"Farm House\",\n        \"Serviced Apartment\",\n        \"Commercial Office\",\n        \"Office in IT Park/SEZ\",\n        \"Commercial Shop\",\n        \"Commercial Showroom\"\n      ],\n      \"enumTitles\": [\n        \"Apartment / flat\",\n        \"Builder floor\",\n        \"Independent house\",\n        \"Villa\",\n        \"Plot / land\",\n        \"Penthouse\",\n        \"Studio apartment\",\n        \"Farm house\",\n        \"Serviced apartment\",\n        \"Commercial office\",\n        \"Office in IT park / SEZ\",\n        \"Commercial shop\",\n        \"Commercial showroom\"\n      ],\n      \"default\": \"Apartment\",\n      \"prefill\": \"Apartment\"\n    },\n    \"bedrooms\": {\n      \"title\": \"Bedrooms (BHK)\",\n      \"type\": \"string\",\n      \"description\": \"Bedroom count. 5+ is sent as 5, the site's maximum (mode=searchForSale, searchForRent, searchProperties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Any\",\n        \"1\",\n        \"2\",\n        \"3\",\n        \"4\",\n        \"5+\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"1 BHK\",\n        \"2 BHK\",\n        \"3 BHK\",\n        \"4 BHK\",\n        \"5+ BHK\"\n      ],\n      \"default\": \"Any\",\n      \"prefill\": \"Any\"\n    },\n    \"priceMin\": {\n      \"title\": \"Minimum price (INR)\",\n      \"type\": \"integer\",\n      \"description\": \"Lowest asking price in Indian Rupees (mode=searchForSale, searchForRent, searchProperties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000000\n    },\n    \"priceMax\": {\n      \"title\": \"Maximum price (INR)\",\n      \"type\": \"integer\",\n      \"description\": \"Highest asking price in Indian Rupees (mode=searchForSale, searchForRent, searchProperties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000000\n    },\n    \"areaMin\": {\n      \"title\": \"Minimum area (sq.ft)\",\n      \"type\": \"integer\",\n      \"description\": \"Smallest covered or carpet area in square feet (mode=searchForSale, searchForRent, searchProperties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000\n    },\n    \"areaMax\": {\n      \"title\": \"Maximum area (sq.ft)\",\n      \"type\": \"integer\",\n      \"description\": \"Largest covered or carpet area in square feet (mode=searchForSale, searchForRent, searchProperties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000\n    },\n    \"furnishing\": {\n      \"title\": \"Furnishing\",\n      \"type\": \"string\",\n      \"description\": \"Furnishing state filter (mode=searchForSale, searchForRent, searchProperties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Any\",\n        \"Furnished\",\n        \"Semi-Furnished\",\n        \"Unfurnished\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Furnished\",\n        \"Semi-furnished\",\n        \"Unfurnished\"\n      ],\n      \"default\": \"Any\",\n      \"prefill\": \"Any\"\n    },\n    \"possessionStatus\": {\n      \"title\": \"Possession\",\n      \"type\": \"string\",\n      \"description\": \"Ready-to-move or under-construction filter (mode=searchForSale, searchProperties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Any\",\n        \"Ready to Move\",\n        \"Under Construction\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Ready to move\",\n        \"Under construction\"\n      ],\n      \"default\": \"Any\",\n      \"prefill\": \"Any\"\n    },\n    \"postedSince\": {\n      \"title\": \"Posted within\",\n      \"type\": \"string\",\n      \"description\": \"Only listings posted in the last 24 hours (mode=searchForSale, searchForRent, searchProperties). MagicBricks does not expose wider server-side posting windows.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Any\",\n        \"1\"\n      ],\n      \"enumTitles\": [\n        \"Any time\",\n        \"Last 24 hours\"\n      ],\n      \"default\": \"Any\",\n      \"prefill\": \"Any\"\n    },\n    \"tenantType\": {\n      \"title\": \"Tenant preference\",\n      \"type\": \"string\",\n      \"description\": \"Who the landlord accepts (mode=searchForRent and rent searches in searchProperties). MagicBricks exposes Bachelors and Family server-side.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Any\",\n        \"Bachelors\",\n        \"Family\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Bachelors\",\n        \"Family\"\n      ],\n      \"default\": \"Any\",\n      \"prefill\": \"Any\"\n    },\n    \"sortBy\": {\n      \"title\": \"Sort by\",\n      \"type\": \"string\",\n      \"description\": \"Order of search results (mode=searchForSale, searchForRent, searchProperties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Relevance\",\n        \"Price - Low to High\",\n        \"Price - High to Low\",\n        \"Most Recent\",\n        \"Rate/sqft - Low to High\",\n        \"Rate/sqft - High to Low\"\n      ],\n      \"enumTitles\": [\n        \"Relevance\",\n        \"Price: low to high\",\n        \"Price: high to low\",\n        \"Most recent\",\n        \"Rate per sq.ft: low to high\",\n        \"Rate per sq.ft: high to low\"\n      ],\n      \"default\": \"Relevance\",\n      \"prefill\": \"Relevance\"\n    },\n    \"maxItems\": {\n      \"title\": \"Max listings\",\n      \"type\": \"integer\",\n      \"description\": \"Hard cap on the number of property records returned.\",\n      \"minimum\": 1,\n      \"maximum\": 10000,\n      \"default\": 50,\n      \"prefill\": 3\n    },\n    \"includeDetails\": {\n      \"title\": \"Fetch detail pages\",\n      \"type\": \"boolean\",\n      \"description\": \"Also open each listing's detail page for project, developer, RERA, full address, GPS, amenities, deposit and maintenance data (search modes).\",\n      \"default\": false,\n      \"prefill\": false,\n      \"editor\": \"checkbox\"\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# MagicBricks Listings Finder: Sale, Rent & Detail Pages\n\nCollect **MagicBricks** property listings across 108 Indian cities. Search for sale, rent, or both with BHK, budget, area, furnishing, possession and locality filters; paste search-result links to keep the site's own filters; or paste property-detail links for a single enriched record. Every listing keeps a clean, human-readable set of price, size, project, seller, RERA, GPS, amenity and image fields.\n\n## What this actor does\n\n- **Five modes:** `searchForSale`, `searchForRent`, `searchProperties`, `bySearchUrl`, `byPropertyUrl`\n- **108 cities** with the site's own canonical names, plus locality filters and 13 residential and commercial property types\n- **Server-side filters:** BHK, budget, area, furnishing, possession, tenant preference, last-24-hours posting age and six sort orders\n- **Optional detail pages** add project, developer, RERA registrations, full address, GPS, complete amenities, estimated deposit, maintenance, booking amount and brokerage\n- **Clean output:** numeric INR prices, carpet and covered areas, ISO dates, absolute links, and empty fields omitted instead of returned as null\n\n## Output per property\n\n- `propertyId` — MagicBricks listing id\n- `title` — listing headline\n- `propertyType` — Apartment, Builder Floor, Independent House, Villa, Plot, Penthouse, Studio Apartment, Farm House, Serviced Apartment, Commercial Office, Office in IT Park/SEZ, Commercial Shop or Commercial Showroom\n- `transactionType` — Sale or Rent\n- `saleType` — New Property or Resale (sale listings)\n- `price` — price as shown on MagicBricks (e.g. `1.10 Cr`)\n- `priceInr` — numeric asking price in Indian Rupees\n- `priceCurrency` — `INR`\n- `pricePerSqft` — rate per square foot (the site's own value, or derived from price and carpet area when it is missing)\n- `priceBreakdown` — all-inclusive price, stamp duty and brokerage (detail pages)\n- `bookingAmount`, `maintenanceCharges`, `maintenancePeriod`, `securityDeposit` (MagicBricks estimate), `brokerage`\n- `area` — covered or carpet area as a display string\n- `carpetArea`, `carpetAreaUnit`, `coveredArea`, `coveredAreaUnit`\n- `bedrooms`, `bathrooms`, `balconies`\n- `floorNumber`, `totalFloors`, `floorDisplay`\n- `furnishing`, `facing`, `ownershipType`, `ageOfProperty`, `parking`\n- `possessionStatus`, `availableFrom`\n- `postedAt`, `postedLabel`, `expiresAt`\n- `city`, `locality`, `address`, `landmark`\n- `latitude`, `longitude` — real coordinates, omitted when the source only carries a zero placeholder\n- `projectName`, `projectId`, `projectUrl`, `developerName`\n- `reraIds[]`, `reraUrl`, `agentReraId`, `approvedBy`\n- `postedBy` — publicly displayed owner, agent or builder name\n- `listerName`, `listerType`, `companyName`\n- `agentId`, `agentUrl`, `agentRating`, `agentExperienceSince`, `agentBuyersServed`\n- `description`, `autoDescription`\n- `amenities[]`, `luxuryAmenities[]`, `amenitiesFacing`\n- `images[]`, `imageUrl`, `imageCount`\n- `searchUrl` — the search that produced the record\n- `detailFetched` — present when detail-page data was merged\n- `source` — `magicbricks`\n- `recordType` — `property`\n- `scrapedAt` — ISO 8601 timestamp\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `searchForSale` | `searchForSale`, `searchForRent`, `searchProperties`, `bySearchUrl` or `byPropertyUrl` |\n| `startUrls` | array | – | MagicBricks search or property links (URL modes) |\n| `city` | string | `Mumbai` | One of 108 Indian cities (search modes) |\n| `localities` | array | – | Locality names inside the city; one search per locality (search modes) |\n| `propertyType` | string | `Apartment` | 13 residential and commercial types (search modes) |\n| `bedrooms` | string | `Any` | `Any`, `1`, `2`, `3`, `4` or `5+` (search modes) |\n| `priceMin` | integer | – | Minimum price in INR (search modes) |\n| `priceMax` | integer | – | Maximum price in INR (search modes) |\n| `areaMin` | integer | – | Minimum area in sq.ft (search modes) |\n| `areaMax` | integer | – | Maximum area in sq.ft (search modes) |\n| `furnishing` | string | `Any` | `Any`, `Furnished`, `Semi-Furnished` or `Unfurnished` (search modes) |\n| `possessionStatus` | string | `Any` | `Any`, `Ready to Move` or `Under Construction` (sale searches) |\n| `postedSince` | string | `Any` | `Any` or `1` (last 24 hours; search modes). MagicBricks exposes only this server-side window. |\n| `tenantType` | string | `Any` | `Any`, `Bachelors` or `Family` (rent searches). MagicBricks exposes these two server-side. |\n| `sortBy` | string | `Relevance` | Relevance, price, recency or rate per sq.ft (search modes) |\n| `maxItems` | integer | `50` | Hard cap on returned listings (1–10,000) |\n| `includeDetails` | boolean | `false` | Open each listing's detail page for project, RERA, address, GPS, amenities and cost data |\n\n### Example: 2 BHK flats for sale in Mumbai\n\n```json\n{\n  \"mode\": \"searchForSale\",\n  \"city\": \"Mumbai\",\n  \"propertyType\": \"Apartment\",\n  \"bedrooms\": \"2\",\n  \"priceMin\": 10000000,\n  \"priceMax\": 30000000,\n  \"maxItems\": 100\n}\n```\n\n### Example: rentals in two Bangalore localities\n\n```json\n{\n  \"mode\": \"searchForRent\",\n  \"city\": \"Bangalore\",\n  \"localities\": [\"Whitefield\", \"Hebbal\"],\n  \"bedrooms\": \"2\",\n  \"furnishing\": \"Furnished\",\n  \"tenantType\": \"Bachelors\",\n  \"maxItems\": 60\n}\n```\n\n### Example: keep the filters from a MagicBricks search link\n\n```json\n{\n  \"mode\": \"bySearchUrl\",\n  \"startUrls\": [\n    {\"url\": \"https://www.magicbricks.com/property-for-sale/residential-real-estate?cityName=Pune&proptype=Villa\"}\n  ],\n  \"maxItems\": 50\n}\n```\n\n### Example: enrich a handful of property links\n\n```json\n{\n  \"mode\": \"byPropertyUrl\",\n  \"startUrls\": [\n    {\"url\": \"https://www.magicbricks.com/propertyDetails/3-BHK-1600-Sq-ft-Multistorey-Apartment-FOR-Sale-Juhu-in-Mumbai&id=4d423836393237353637\"}\n  ],\n  \"maxItems\": 10\n}\n```\n\n## Use cases\n\n- **Home buyers** — shortlist flats by BHK, budget, locality and ready-to-move status\n- **Tenants** — compare furnished rentals by locality, deposit and maintenance\n- **Real-estate agencies** — monitor new listings and seller types in target micro-markets\n- **Market research** — compare asking prices and rates per sq.ft across cities and property types\n- **PropTech products** — feed structured listing, project and RERA data into search and valuation tools\n\n## FAQ\n\n**Is this affiliated with MagicBricks?**\nNo. This is an independent, third-party actor that reads publicly visible MagicBricks pages. It is not operated by or endorsed by MagicBricks.\n\n**Do I need a MagicBricks account or cookies?**\nNo. Every supported mode works without a login, cookies or API keys.\n\n**How many listings can one run return?**\n`maxItems` is a hard cap up to 10,000. MagicBricks serves 30 listings per page and exposes a finite number of results for each filter set. Once that ceiling is reached, narrow the city, locality, property type or budget to reach more listings. The run summary says when the ceiling was hit.\n\n**Why do some records have more fields than others?**\nFields are filled only when the source publishes them. A listing without a project, RERA number or agent rating simply omits those fields. Empty strings, nulls and empty lists are never emitted.\n\n**What does `includeDetails` add?**\nIt opens each listing's detail page for project name, developer, RERA registrations, full address, GPS, complete amenities, description, image gallery, estimated deposit, maintenance, booking amount, brokerage and price breakup. It is slower and uses more resources than a plain search, so it is off by default.\n\n**Which URLs can I paste?**\nA search-results URL that contains `property-for-sale` or `property-for-rent` and `cityName=`, or a `/propertyDetails/...` link. City landing pages such as `property-for-sale-rent-in-Mumbai` do not contain listings; the actor reports that instead of returning zero silently.\n\n**Can I get phone numbers or email addresses?**\nNo. MagicBricks reveals contact details only after an OTP or login flow, so this actor does not return phones, emails or masked numbers.\n\n**Why does the listing count change between pages?**\nMagicBricks updates results continuously. The actor removes duplicate listings by id and stops when a page repeats, so a run can finish slightly below the site's displayed result count.\n\n**Do I need to configure a proxy?**\nNo. The actor chooses a working connection to MagicBricks automatically. Fill in the input and run it.\n\n**Can I search several localities at once?**\nYes. Add each locality to `localities`; the actor runs a separate search per locality and removes duplicates. Multiple localities are not combined into one AND filter.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "indian-property-listings-finder-by-city-and-bhk",
      "title": "MagicBricks Listings Finder: Sale, Rent & Detail Pages",
      "description": "Collect MagicBricks listings by city, BHK, budget, area, furnishing or pasted search URL. Get price, area, project, RERA, seller, amenities and GPS, with optional detail pages.",
      "version": "1.0",
      "buildTag": "latest",
      "dockerfile": "./Dockerfile",
      "readme": "# MagicBricks Listings Finder: Sale, Rent & Detail Pages\n\nCollect **MagicBricks** property listings across 108 Indian cities. Search for sale, rent, or both with BHK, budget, area, furnishing, possession and locality filters; paste search-result links to keep the site's own filters; or paste property-detail links for a single enriched record. Every listing keeps a clean, human-readable set of price, size, project, seller, RERA, GPS, amenity and image fields.\n\n## What this actor does\n\n- **Five modes:** `searchForSale`, `searchForRent`, `searchProperties`, `bySearchUrl`, `byPropertyUrl`\n- **108 cities** with the site's own canonical names, plus locality filters and 13 residential and commercial property types\n- **Server-side filters:** BHK, budget, area, furnishing, possession, tenant preference, last-24-hours posting age and six sort orders\n- **Optional detail pages** add project, developer, RERA registrations, full address, GPS, complete amenities, estimated deposit, maintenance, booking amount and brokerage\n- **Clean output:** numeric INR prices, carpet and covered areas, ISO dates, absolute links, and empty fields omitted instead of returned as null\n\n## Output per property\n\n- `propertyId` — MagicBricks listing id\n- `title` — listing headline\n- `propertyType` — Apartment, Builder Floor, Independent House, Villa, Plot, Penthouse, Studio Apartment, Farm House, Serviced Apartment, Commercial Office, Office in IT Park/SEZ, Commercial Shop or Commercial Showroom\n- `transactionType` — Sale or Rent\n- `saleType` — New Property or Resale (sale listings)\n- `price` — price as shown on MagicBricks (e.g. `1.10 Cr`)\n- `priceInr` — numeric asking price in Indian Rupees\n- `priceCurrency` — `INR`\n- `pricePerSqft` — rate per square foot (the site's own value, or derived from price and carpet area when it is missing)\n- `priceBreakdown` — all-inclusive price, stamp duty and brokerage (detail pages)\n- `bookingAmount`, `maintenanceCharges`, `maintenancePeriod`, `securityDeposit` (MagicBricks estimate), `brokerage`\n- `area` — covered or carpet area as a display string\n- `carpetArea`, `carpetAreaUnit`, `coveredArea`, `coveredAreaUnit`\n- `bedrooms`, `bathrooms`, `balconies`\n- `floorNumber`, `totalFloors`, `floorDisplay`\n- `furnishing`, `facing`, `ownershipType`, `ageOfProperty`, `parking`\n- `possessionStatus`, `availableFrom`\n- `postedAt`, `postedLabel`, `expiresAt`\n- `city`, `locality`, `address`, `landmark`\n- `latitude`, `longitude` — real coordinates, omitted when the source only carries a zero placeholder\n- `projectName`, `projectId`, `projectUrl`, `developerName`\n- `reraIds[]`, `reraUrl`, `agentReraId`, `approvedBy`\n- `postedBy` — publicly displayed owner, agent or builder name\n- `listerName`, `listerType`, `companyName`\n- `agentId`, `agentUrl`, `agentRating`, `agentExperienceSince`, `agentBuyersServed`\n- `description`, `autoDescription`\n- `amenities[]`, `luxuryAmenities[]`, `amenitiesFacing`\n- `images[]`, `imageUrl`, `imageCount`\n- `searchUrl` — the search that produced the record\n- `detailFetched` — present when detail-page data was merged\n- `source` — `magicbricks`\n- `recordType` — `property`\n- `scrapedAt` — ISO 8601 timestamp\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `searchForSale` | `searchForSale`, `searchForRent`, `searchProperties`, `bySearchUrl` or `byPropertyUrl` |\n| `startUrls` | array | – | MagicBricks search or property links (URL modes) |\n| `city` | string | `Mumbai` | One of 108 Indian cities (search modes) |\n| `localities` | array | – | Locality names inside the city; one search per locality (search modes) |\n| `propertyType` | string | `Apartment` | 13 residential and commercial types (search modes) |\n| `bedrooms` | string | `Any` | `Any`, `1`, `2`, `3`, `4` or `5+` (search modes) |\n| `priceMin` | integer | – | Minimum price in INR (search modes) |\n| `priceMax` | integer | – | Maximum price in INR (search modes) |\n| `areaMin` | integer | – | Minimum area in sq.ft (search modes) |\n| `areaMax` | integer | – | Maximum area in sq.ft (search modes) |\n| `furnishing` | string | `Any` | `Any`, `Furnished`, `Semi-Furnished` or `Unfurnished` (search modes) |\n| `possessionStatus` | string | `Any` | `Any`, `Ready to Move` or `Under Construction` (sale searches) |\n| `postedSince` | string | `Any` | `Any` or `1` (last 24 hours; search modes). MagicBricks exposes only this server-side window. |\n| `tenantType` | string | `Any` | `Any`, `Bachelors` or `Family` (rent searches). MagicBricks exposes these two server-side. |\n| `sortBy` | string | `Relevance` | Relevance, price, recency or rate per sq.ft (search modes) |\n| `maxItems` | integer | `50` | Hard cap on returned listings (1–10,000) |\n| `includeDetails` | boolean | `false` | Open each listing's detail page for project, RERA, address, GPS, amenities and cost data |\n\n### Example: 2 BHK flats for sale in Mumbai\n\n```json\n{\n  \"mode\": \"searchForSale\",\n  \"city\": \"Mumbai\",\n  \"propertyType\": \"Apartment\",\n  \"bedrooms\": \"2\",\n  \"priceMin\": 10000000,\n  \"priceMax\": 30000000,\n  \"maxItems\": 100\n}\n```\n\n### Example: rentals in two Bangalore localities\n\n```json\n{\n  \"mode\": \"searchForRent\",\n  \"city\": \"Bangalore\",\n  \"localities\": [\"Whitefield\", \"Hebbal\"],\n  \"bedrooms\": \"2\",\n  \"furnishing\": \"Furnished\",\n  \"tenantType\": \"Bachelors\",\n  \"maxItems\": 60\n}\n```\n\n### Example: keep the filters from a MagicBricks search link\n\n```json\n{\n  \"mode\": \"bySearchUrl\",\n  \"startUrls\": [\n    {\"url\": \"https://www.magicbricks.com/property-for-sale/residential-real-estate?cityName=Pune&proptype=Villa\"}\n  ],\n  \"maxItems\": 50\n}\n```\n\n### Example: enrich a handful of property links\n\n```json\n{\n  \"mode\": \"byPropertyUrl\",\n  \"startUrls\": [\n    {\"url\": \"https://www.magicbricks.com/propertyDetails/3-BHK-1600-Sq-ft-Multistorey-Apartment-FOR-Sale-Juhu-in-Mumbai&id=4d423836393237353637\"}\n  ],\n  \"maxItems\": 10\n}\n```\n\n## Use cases\n\n- **Home buyers** — shortlist flats by BHK, budget, locality and ready-to-move status\n- **Tenants** — compare furnished rentals by locality, deposit and maintenance\n- **Real-estate agencies** — monitor new listings and seller types in target micro-markets\n- **Market research** — compare asking prices and rates per sq.ft across cities and property types\n- **PropTech products** — feed structured listing, project and RERA data into search and valuation tools\n\n## FAQ\n\n**Is this affiliated with MagicBricks?**\nNo. This is an independent, third-party actor that reads publicly visible MagicBricks pages. It is not operated by or endorsed by MagicBricks.\n\n**Do I need a MagicBricks account or cookies?**\nNo. Every supported mode works without a login, cookies or API keys.\n\n**How many listings can one run return?**\n`maxItems` is a hard cap up to 10,000. MagicBricks serves 30 listings per page and exposes a finite number of results for each filter set. Once that ceiling is reached, narrow the city, locality, property type or budget to reach more listings. The run summary says when the ceiling was hit.\n\n**Why do some records have more fields than others?**\nFields are filled only when the source publishes them. A listing without a project, RERA number or agent rating simply omits those fields. Empty strings, nulls and empty lists are never emitted.\n\n**What does `includeDetails` add?**\nIt opens each listing's detail page for project name, developer, RERA registrations, full address, GPS, complete amenities, description, image gallery, estimated deposit, maintenance, booking amount, brokerage and price breakup. It is slower and uses more resources than a plain search, so it is off by default.\n\n**Which URLs can I paste?**\nA search-results URL that contains `property-for-sale` or `property-for-rent` and `cityName=`, or a `/propertyDetails/...` link. City landing pages such as `property-for-sale-rent-in-Mumbai` do not contain listings; the actor reports that instead of returning zero silently.\n\n**Can I get phone numbers or email addresses?**\nNo. MagicBricks reveals contact details only after an OTP or login flow, so this actor does not return phones, emails or masked numbers.\n\n**Why does the listing count change between pages?**\nMagicBricks updates results continuously. The actor removes duplicate listings by id and stops when a page repeats, so a run can finish slightly below the site's displayed result count.\n\n**Do I need to configure a proxy?**\nNo. The actor chooses a working connection to MagicBricks automatically. Fill in the input and run it.\n\n**Can I search several localities at once?**\nYes. Add each locality to `localities`; the actor runs a separate search per locality and removes duplicates. Multiple localities are not combined into one AND filter.\n",
      "input": {
        "title": "MagicBricks Property Listings Input",
        "description": "Choose what to collect from MagicBricks: city searches for sale or rent, pasted search-result URLs, or pasted property-detail URLs. Add optional BHK, price, area, furnishing, possession and locality filters.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "What to collect. Search by city and filters, paste MagicBricks search-result URLs, or paste property-detail URLs.",
            "editor": "select",
            "enum": [
              "searchForSale",
              "searchForRent",
              "searchProperties",
              "bySearchUrl",
              "byPropertyUrl"
            ],
            "enumTitles": [
              "Search properties for sale",
              "Search properties for rent",
              "Search both sale and rent",
              "Scrape MagicBricks search-result URLs",
              "Scrape MagicBricks property URLs"
            ],
            "default": "searchForSale",
            "prefill": "searchForSale"
          },
          "startUrls": {
            "title": "Search or property URLs",
            "type": "array",
            "description": "MagicBricks search-result or property-detail links (mode=bySearchUrl or byPropertyUrl).",
            "editor": "requestListSources",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL",
                  "description": "MagicBricks search-result or property-detail URL."
                }
              }
            },
            "default": [],
            "prefill": []
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Indian city to search (mode=searchForSale, searchForRent, searchProperties).",
            "editor": "select",
            "enum": [
              "Mangalore",
              "Belgaum",
              "Mysore",
              "Hubli",
              "Ahmedabad",
              "Bangalore",
              "Beyond Thane",
              "Chennai",
              "Gurgaon",
              "Hyderabad",
              "Indore",
              "Jaipur",
              "Kolkata",
              "Lucknow",
              "Mumbai",
              "Navi Mumbai",
              "New Delhi",
              "Noida",
              "Pune",
              "Thane",
              "Agra",
              "Ahmadnagar",
              "Allahabad",
              "Aluva",
              "Amritsar",
              "Aurangabad",
              "Badlapur",
              "Bareilly",
              "Bhiwadi",
              "Bhiwandi",
              "Bhopal",
              "Bhubaneswar",
              "Bokaro Steel City",
              "Chandigarh",
              "Chengalpattu",
              "Coimbatore",
              "Dehradun",
              "Durgapur",
              "Ernakulam",
              "Erode",
              "Faridabad",
              "Ghaziabad",
              "Goa",
              "Gorakhpur",
              "Greater Noida",
              "Guntur",
              "Guwahati",
              "Gwalior",
              "Haridwar",
              "Hosur",
              "Jabalpur",
              "Jalandhar",
              "Jammu",
              "Jamshedpur",
              "Jodhpur",
              "Kalyan",
              "Kannur",
              "Kanpur",
              "Khopoli",
              "Kochi",
              "Kodaikanal",
              "Kottayam",
              "Kozhikode",
              "Lonavala",
              "Ludhiana",
              "Madurai",
              "Mohali",
              "Nagpur",
              "Nainital",
              "Nanded",
              "Nashik",
              "Navsari",
              "Nellore",
              "Newtown",
              "Ooty",
              "Palakkad",
              "Palghar",
              "Panchkula",
              "Patiala",
              "Patna",
              "Pondicherry",
              "Raipur",
              "Rajahmundry",
              "Ranchi",
              "Salem",
              "Satara",
              "Shimla",
              "Siliguri",
              "Solapur",
              "Sonipat",
              "Surat",
              "Thanjavur",
              "Thrissur",
              "Tirunelveli",
              "Tirupati",
              "Tirupur",
              "Trichy",
              "Trivandrum",
              "Tumkur",
              "Udaipur",
              "Udupi",
              "Vadodara",
              "Vapi",
              "Varanasi",
              "Vijayawada",
              "Visakhapatnam",
              "Vrindavan",
              "Zirakpur"
            ],
            "enumTitles": [
              "Mangalore",
              "Belgaum",
              "Mysore",
              "Hubli",
              "Ahmedabad",
              "Bangalore",
              "Beyond Thane",
              "Chennai",
              "Gurgaon",
              "Hyderabad",
              "Indore",
              "Jaipur",
              "Kolkata",
              "Lucknow",
              "Mumbai",
              "Navi Mumbai",
              "New Delhi",
              "Noida",
              "Pune",
              "Thane",
              "Agra",
              "Ahmadnagar",
              "Allahabad",
              "Aluva",
              "Amritsar",
              "Aurangabad",
              "Badlapur",
              "Bareilly",
              "Bhiwadi",
              "Bhiwandi",
              "Bhopal",
              "Bhubaneswar",
              "Bokaro Steel City",
              "Chandigarh",
              "Chengalpattu",
              "Coimbatore",
              "Dehradun",
              "Durgapur",
              "Ernakulam",
              "Erode",
              "Faridabad",
              "Ghaziabad",
              "Goa",
              "Gorakhpur",
              "Greater Noida",
              "Guntur",
              "Guwahati",
              "Gwalior",
              "Haridwar",
              "Hosur",
              "Jabalpur",
              "Jalandhar",
              "Jammu",
              "Jamshedpur",
              "Jodhpur",
              "Kalyan",
              "Kannur",
              "Kanpur",
              "Khopoli",
              "Kochi",
              "Kodaikanal",
              "Kottayam",
              "Kozhikode",
              "Lonavala",
              "Ludhiana",
              "Madurai",
              "Mohali",
              "Nagpur",
              "Nainital",
              "Nanded",
              "Nashik",
              "Navsari",
              "Nellore",
              "Newtown",
              "Ooty",
              "Palakkad",
              "Palghar",
              "Panchkula",
              "Patiala",
              "Patna",
              "Pondicherry",
              "Raipur",
              "Rajahmundry",
              "Ranchi",
              "Salem",
              "Satara",
              "Shimla",
              "Siliguri",
              "Solapur",
              "Sonipat",
              "Surat",
              "Thanjavur",
              "Thrissur",
              "Tirunelveli",
              "Tirupati",
              "Tirupur",
              "Trichy",
              "Trivandrum",
              "Tumkur",
              "Udaipur",
              "Udupi",
              "Vadodara",
              "Vapi",
              "Varanasi",
              "Vijayawada",
              "Visakhapatnam",
              "Vrindavan",
              "Zirakpur"
            ],
            "default": "Mumbai",
            "prefill": "Mumbai"
          },
          "localities": {
            "title": "Localities",
            "type": "array",
            "description": "Optional locality or neighbourhood names inside the city (mode=searchForSale, searchForRent, searchProperties). One search is run per locality.",
            "editor": "stringList",
            "items": {
              "type": "string"
            }
          },
          "propertyType": {
            "title": "Property type",
            "type": "string",
            "description": "Type of property to search (mode=searchForSale, searchForRent, searchProperties).",
            "editor": "select",
            "enum": [
              "Apartment",
              "Builder Floor",
              "Independent House",
              "Villa",
              "Plot",
              "Penthouse",
              "Studio Apartment",
              "Farm House",
              "Serviced Apartment",
              "Commercial Office",
              "Office in IT Park/SEZ",
              "Commercial Shop",
              "Commercial Showroom"
            ],
            "enumTitles": [
              "Apartment / flat",
              "Builder floor",
              "Independent house",
              "Villa",
              "Plot / land",
              "Penthouse",
              "Studio apartment",
              "Farm house",
              "Serviced apartment",
              "Commercial office",
              "Office in IT park / SEZ",
              "Commercial shop",
              "Commercial showroom"
            ],
            "default": "Apartment",
            "prefill": "Apartment"
          },
          "bedrooms": {
            "title": "Bedrooms (BHK)",
            "type": "string",
            "description": "Bedroom count. 5+ is sent as 5, the site's maximum (mode=searchForSale, searchForRent, searchProperties).",
            "editor": "select",
            "enum": [
              "Any",
              "1",
              "2",
              "3",
              "4",
              "5+"
            ],
            "enumTitles": [
              "Any",
              "1 BHK",
              "2 BHK",
              "3 BHK",
              "4 BHK",
              "5+ BHK"
            ],
            "default": "Any",
            "prefill": "Any"
          },
          "priceMin": {
            "title": "Minimum price (INR)",
            "type": "integer",
            "description": "Lowest asking price in Indian Rupees (mode=searchForSale, searchForRent, searchProperties).",
            "minimum": 0,
            "maximum": 1000000000000
          },
          "priceMax": {
            "title": "Maximum price (INR)",
            "type": "integer",
            "description": "Highest asking price in Indian Rupees (mode=searchForSale, searchForRent, searchProperties).",
            "minimum": 0,
            "maximum": 1000000000000
          },
          "areaMin": {
            "title": "Minimum area (sq.ft)",
            "type": "integer",
            "description": "Smallest covered or carpet area in square feet (mode=searchForSale, searchForRent, searchProperties).",
            "minimum": 0,
            "maximum": 1000000
          },
          "areaMax": {
            "title": "Maximum area (sq.ft)",
            "type": "integer",
            "description": "Largest covered or carpet area in square feet (mode=searchForSale, searchForRent, searchProperties).",
            "minimum": 0,
            "maximum": 1000000
          },
          "furnishing": {
            "title": "Furnishing",
            "type": "string",
            "description": "Furnishing state filter (mode=searchForSale, searchForRent, searchProperties).",
            "editor": "select",
            "enum": [
              "Any",
              "Furnished",
              "Semi-Furnished",
              "Unfurnished"
            ],
            "enumTitles": [
              "Any",
              "Furnished",
              "Semi-furnished",
              "Unfurnished"
            ],
            "default": "Any",
            "prefill": "Any"
          },
          "possessionStatus": {
            "title": "Possession",
            "type": "string",
            "description": "Ready-to-move or under-construction filter (mode=searchForSale, searchProperties).",
            "editor": "select",
            "enum": [
              "Any",
              "Ready to Move",
              "Under Construction"
            ],
            "enumTitles": [
              "Any",
              "Ready to move",
              "Under construction"
            ],
            "default": "Any",
            "prefill": "Any"
          },
          "postedSince": {
            "title": "Posted within",
            "type": "string",
            "description": "Only listings posted in the last 24 hours (mode=searchForSale, searchForRent, searchProperties). MagicBricks does not expose wider server-side posting windows.",
            "editor": "select",
            "enum": [
              "Any",
              "1"
            ],
            "enumTitles": [
              "Any time",
              "Last 24 hours"
            ],
            "default": "Any",
            "prefill": "Any"
          },
          "tenantType": {
            "title": "Tenant preference",
            "type": "string",
            "description": "Who the landlord accepts (mode=searchForRent and rent searches in searchProperties). MagicBricks exposes Bachelors and Family server-side.",
            "editor": "select",
            "enum": [
              "Any",
              "Bachelors",
              "Family"
            ],
            "enumTitles": [
              "Any",
              "Bachelors",
              "Family"
            ],
            "default": "Any",
            "prefill": "Any"
          },
          "sortBy": {
            "title": "Sort by",
            "type": "string",
            "description": "Order of search results (mode=searchForSale, searchForRent, searchProperties).",
            "editor": "select",
            "enum": [
              "Relevance",
              "Price - Low to High",
              "Price - High to Low",
              "Most Recent",
              "Rate/sqft - Low to High",
              "Rate/sqft - High to Low"
            ],
            "enumTitles": [
              "Relevance",
              "Price: low to high",
              "Price: high to low",
              "Most recent",
              "Rate per sq.ft: low to high",
              "Rate per sq.ft: high to low"
            ],
            "default": "Relevance",
            "prefill": "Relevance"
          },
          "maxItems": {
            "title": "Max listings",
            "type": "integer",
            "description": "Hard cap on the number of property records returned.",
            "minimum": 1,
            "maximum": 10000,
            "default": 50,
            "prefill": 3
          },
          "includeDetails": {
            "title": "Fetch detail pages",
            "type": "boolean",
            "description": "Also open each listing's detail page for project, developer, RERA, full address, GPS, amenities, deposit and maintenance data (search modes).",
            "default": false,
            "prefill": false,
            "editor": "checkbox"
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "MagicBricks Property Listings Output",
        "description": "MagicBricks property listings with price, area, BHK, project, RERA, seller, amenities, images and listing URLs.",
        "properties": {
          "listings": {
            "type": "string",
            "title": "MagicBricks property listings",
            "description": "Dataset containing all scraped MagicBricks property listings.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Property Listings",
              "transformation": {
                "fields": [
                  "propertyId",
                  "title",
                  "price",
                  "priceInr",
                  "area",
                  "bedrooms",
                  "propertyType",
                  "transactionType",
                  "city",
                  "locality",
                  "projectName",
                  "reraIds",
                  "propertyUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {},
      "defaultMemoryMbytes": 1024
    },
    "buildNumber": "1.0.2",
    "imageDigest": "2b99bbc5d5e9531c18727dd266961128ba11a334f06c844fafd39cbf1f5e0234",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.013415555555555556
    }
  }
}