{
  "openapi": "3.0.1",
  "info": {
    "title": "MagicBricks India Scraper - Rent & Buy Property Listings",
    "description": "Scrape MagicBricks rent and buy property listings for any Indian city. Filter by BHK, locality, price, area, furnishing, tenant type and availability. Returns price, BHK, carpet area, floor, furnishing, RERA ID, developer, GPS coordinates and 25+ other fields per listing.",
    "version": "0.2",
    "x-build-id": "7UEA9qDV2fK7Y2Fv3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/thirdwatch~magicbricks-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-thirdwatch-magicbricks-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/thirdwatch~magicbricks-scraper/runs": {
      "post": {
        "operationId": "runs-sync-thirdwatch-magicbricks-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/thirdwatch~magicbricks-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-thirdwatch-magicbricks-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "searchMode",
          "city"
        ],
        "properties": {
          "searchMode": {
            "title": "Search Mode",
            "enum": [
              "rent",
              "buy"
            ],
            "type": "string",
            "description": "Whether to scrape rental listings or properties for sale.",
            "default": "rent"
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Indian city to search in. Accepts a city name (e.g. 'Bangalore', 'Mumbai', 'New Delhi') or a full MagicBricks search URL (e.g. https://www.magicbricks.com/flats-in-bangalore-for-rent).",
            "default": "Bangalore"
          },
          "localities": {
            "title": "Localities (neighborhoods)",
            "type": "array",
            "description": "Optional list of locality / neighborhood names to filter by (e.g. Koramangala, Indiranagar, HSR Layout). Matched case-insensitively against the listing's locality. Leave empty to include the whole city.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "bhk": {
            "title": "BHK (bedrooms)",
            "type": "array",
            "description": "Filter by number of bedrooms. Valid values: 1, 2, 3, 4, 5. Multiple values are OR-combined.",
            "items": {
              "type": "integer"
            },
            "default": []
          },
          "propertyType": {
            "title": "Property Type",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by property type. Defaults: 'apartment' for rent; 'apartment' + 'villa' for buy.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "villa",
                "independent-house",
                "builder-floor",
                "studio",
                "penthouse",
                "plot"
              ],
              "enumTitles": [
                "Apartment",
                "Villa",
                "Independent House",
                "Builder Floor",
                "Studio",
                "Penthouse",
                "Plot / Land"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Minimum Price (INR)",
            "minimum": 0,
            "type": "integer",
            "description": "For rent: monthly rent in INR. For buy: total price in INR. Leave blank for no minimum."
          },
          "maxPrice": {
            "title": "Maximum Price (INR)",
            "minimum": 0,
            "type": "integer",
            "description": "For rent: monthly rent in INR. For buy: total price in INR. Leave blank for no maximum."
          },
          "minArea": {
            "title": "Minimum Area (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum carpet / built-up area in square feet."
          },
          "maxArea": {
            "title": "Maximum Area (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum carpet / built-up area in square feet."
          },
          "furnishing": {
            "title": "Furnishing",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by furnishing status. Primarily relevant for rent listings.",
            "items": {
              "type": "string",
              "enum": [
                "furnished",
                "semi-furnished",
                "unfurnished"
              ],
              "enumTitles": [
                "Furnished",
                "Semi-Furnished",
                "Unfurnished"
              ]
            },
            "default": []
          },
          "availability": {
            "title": "Availability (buy mode)",
            "enum": [
              "ready",
              "under-construction",
              "any"
            ],
            "type": "string",
            "description": "For buy listings: whether the property is ready to move or under construction. Ignored for rent.",
            "default": "any"
          },
          "tenantType": {
            "title": "Tenant Type (rent mode)",
            "uniqueItems": true,
            "type": "array",
            "description": "For rent listings: preferred tenant type. Ignored for buy.",
            "items": {
              "type": "string",
              "enum": [
                "family",
                "bachelor",
                "company"
              ],
              "enumTitles": [
                "Family",
                "Bachelor",
                "Company / Corporate"
              ]
            },
            "default": []
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of listings to return.",
            "default": 15
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings. Pre-configured defaults work for Indian cities — only change if you have specific networking needs.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "IN"
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}