{
  "openapi": "3.0.1",
  "info": {
    "title": "Magicbricks Property Listings Scraper (India)",
    "description": "Magicbricks property scraper for India: newest flats, houses and plots for sale in any city, one row per listing with price in INR, price per sq ft, area, BHK, bathrooms, locality, project, furnishing, posted date and owner/agent/builder type. Built for new-listing alerts.",
    "version": "0.1",
    "x-build-id": "GjEDFEvCIRl5CtNug"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/superslowsloth~magicbricks-listings/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-superslowsloth-magicbricks-listings",
        "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/superslowsloth~magicbricks-listings/runs": {
      "post": {
        "operationId": "runs-sync-superslowsloth-magicbricks-listings",
        "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/superslowsloth~magicbricks-listings/run-sync": {
      "post": {
        "operationId": "run-sync-superslowsloth-magicbricks-listings",
        "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": [
          "cities"
        ],
        "properties": {
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "One or more Indian cities to search for property for sale. Type the city as Magicbricks spells it (Mumbai, New Delhi, Bangalore, Bengaluru, Pune, Hyderabad, Gurgaon, Navi Mumbai, Thane), its URL slug (new-delhi), a Magicbricks search URL (https://www.magicbricks.com/property-for-sale-in-pune-pppfs) or a numeric Magicbricks city code (4320 = Mumbai). Each city is resolved through Magicbricks' own search box; a name it does not know is reported in the log and skipped.",
            "items": {
              "type": "string"
            }
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Which residential property types to include. Leave empty for all of them, as Magicbricks' own residential search does. Magicbricks groups its types server-side: flat covers multistorey and builder-floor apartments, penthouses, studio and service apartments; house_villa covers independent houses and villas; plot covers residential plots.",
            "items": {
              "type": "string",
              "enum": [
                "flat",
                "house_villa",
                "plot"
              ],
              "enumTitles": [
                "Flat / apartment",
                "House / villa",
                "Residential plot"
              ]
            }
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "newest",
              "price_asc",
              "price_desc",
              "relevance"
            ],
            "type": "string",
            "description": "How Magicbricks orders each city's results before this actor pages through them. Newest first is Magicbricks' \"Most Recent\" order by posted date, and is what a new-listing alert should run on.",
            "default": "newest"
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Keep only listings posted in the last N days, and stop reading a city at the first page that has none. Needs sort 'Newest first'. Leave empty for no date limit. Busy cities post thousands of listings a day (Mumbai: about 1,500 in two days), so pair a short window with a Max rows per city that covers it."
          },
          "minPrice": {
            "title": "Minimum price (INR)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest asking price in rupees, e.g. 5000000 for 50 lakh. Passed to Magicbricks' own budget filter. Leave empty for no lower bound."
          },
          "maxPrice": {
            "title": "Maximum price (INR)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest asking price in rupees, e.g. 20000000 for 2 crore. Passed to Magicbricks' own budget filter. Leave empty for no upper bound."
          },
          "bedrooms": {
            "title": "Bedrooms (BHK)",
            "type": "array",
            "description": "Only listings with one of these bedroom counts. Leave empty for any. Magicbricks' filter goes from 1 to 6 BHK; plots have no bedroom count and are excluded by any bedroom filter.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6"
              ],
              "enumTitles": [
                "1 BHK",
                "2 BHK",
                "3 BHK",
                "4 BHK",
                "5 BHK",
                "6 BHK"
              ]
            }
          },
          "postedBy": {
            "title": "Posted by",
            "type": "array",
            "description": "Only listings posted by these kinds of advertiser. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "owner",
                "agent",
                "builder"
              ],
              "enumTitles": [
                "Owner",
                "Agent",
                "Builder"
              ]
            }
          },
          "maxItems": {
            "title": "Max rows per city",
            "minimum": 1,
            "maximum": 3000,
            "type": "integer",
            "description": "Stop each city after this many listings. Magicbricks serves at most 100 pages of 30 per search, so 3,000 is the most one city search can return whatever its total; narrow by property type, budget or bedrooms to read past that.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Residential proxy is the default and recommended. Magicbricks sits behind Akamai: measured 2026-10-27 from the Apify platform, its search answered 8 of 10 fetches through residential exits and 4 of 10 through datacenter ones (the rest an Akamai \"Access Denied\" 403). Refused requests are retried on a fresh address automatically.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}