{
  "openapi": "3.0.1",
  "info": {
    "title": "Housing.com Property Scraper - India Buy, Rent, PG & Commercial",
    "description": "Scrape Housing.com listings in any Indian city: exact rupee price, carpet and built-up area, deposit, brokerage, lock-in, GPS, PG beds and the posting agent.",
    "version": "1.0",
    "x-build-id": "1fvOUOltsnX7F9MfK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sian.agency~housing-com-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sian.agency-housing-com-property-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/sian.agency~housing-com-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sian.agency-housing-com-property-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/sian.agency~housing-com-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sian.agency-housing-com-property-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",
        "properties": {
          "operation": {
            "title": "🎯 What do you want to scrape?",
            "enum": [
              "search",
              "detail"
            ],
            "type": "string",
            "description": "Pick one per run. Property Search returns listing rows for a city across five markets - resale and new-launch sale, rental, paying guest, and commercial for sale or for rent - with the whole-market listing count stamped on every row. Property Detail takes Housing.com property URLs and adds the site's own fair-price band for that unit, the locality's average rate per square foot, the complete amenity matrix, every nearby school, hospital and metro station with its distance, and the full listing…",
            "default": "search"
          },
          "cities": {
            "title": "🏙️ Indian cities",
            "type": "array",
            "description": "Cities to search, e.g. Mumbai, Delhi, Bangalore, Pune, Hyderabad, Chennai, Kolkata, Ahmedabad, Noida, Gurgaon, Thane. One search runs per city, so three cities return roughly three times the rows. Tier-2 and tier-3 towns work too - Ahmednagar, Zirakpur, Bardoli - because the city is looked up on the site itself. Everyday names resolve: Delhi, Bangalore, Bombay, Calcutta, Gurugram and Vizag all work. An unrecognised city is reported, not silently dropped.",
            "default": [
              "Mumbai"
            ],
            "items": {
              "type": "string"
            }
          },
          "market": {
            "title": "🏷️ Market",
            "enum": [
              "buy",
              "rent",
              "paying-guest",
              "commercial-buy",
              "commercial-rent"
            ],
            "type": "string",
            "description": "Which of Housing.com's five markets to search. Sale and rent are residential. Paying guest covers hostels and shared accommodation and prices per bed, not per flat. The two commercial markets carry office space, shops, showrooms and warehouses with their own economics attached. If the city you asked for does not stock the market you picked, the run says which markets it does stock rather than quietly handing back something else.",
            "default": "buy"
          },
          "propertyType": {
            "title": "🏠 Property type",
            "enum": [
              "any",
              "flats",
              "independent-house",
              "villa",
              "builder-floor",
              "penthouse",
              "studio-apartment",
              "duplex",
              "plots",
              "agricultural-land"
            ],
            "type": "string",
            "description": "Which kind of property to search. Applies to the sale and rent markets; paying guest and commercial have their own inventory and ignore it. Not every type exists in every city - a small town may list houses and plots but no penthouses - and when a combination has no page on the site the run names the types that city does publish instead of falling back to an unfiltered search you did not ask for.",
            "default": "any"
          },
          "bedrooms": {
            "title": "🛏️ BHK",
            "enum": [
              "any",
              "1rk",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Restrict to a bedroom count. 1 RK is a single room with a kitchen, the standard Indian listing below 1 BHK. Applies to residential flats and houses only - plots, land, paying guest beds and commercial space have no BHK, so it is ignored for those.",
            "default": "any"
          },
          "refine": {
            "title": "🎯 Extra filter",
            "enum": [
              "any",
              "resale",
              "new-projects",
              "ready-to-move",
              "under-construction",
              "rera-certified",
              "no-brokerage",
              "gated-community",
              "furnished",
              "semi-furnished",
              "unfurnished",
              "owner-listings"
            ],
            "type": "string",
            "description": "One extra filter on top of the type and BHK. Housing.com publishes these as separate pages, one filter at a time, so only one applies per run. Resale listings only is the one to reach for first on a sale search: the default city page leads with new-launch project cards, which are developer adverts carrying a price range rather than individual properties. The furnishing and owner filters belong to the rent market; resale, projects, possession and RERA belong to sale.",
            "default": "any"
          },
          "maxResults": {
            "title": "🔢 Max listings",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Stop after this many listings across every city. Each page returns 30 for sale and rent and 20 for paying guest and commercial, so the run stops at the first page that crosses your limit.",
            "default": 50
          },
          "includeDetails": {
            "title": "📄 Fetch full property pages",
            "type": "boolean",
            "description": "Open each listing's own page for what the result card does not carry. You get Housing.com's own fair-price band for that unit - the low, high and estimate it benchmarks the asking price against - plus the locality's average rate per square foot, the complete amenity matrix for the flat and the society, every nearby school, hospital, metro station and restaurant with its distance, and the full written description. Costs one extra request per listing and bills the Property Detail event on top of…",
            "default": false
          },
          "propertyUrls": {
            "title": "🔗 Property URLs",
            "type": "array",
            "description": "Used by the Property Detail operation: Housing.com property URLs to expand, in the housing.com/in/buy/resale/page/... or housing.com/rent/... form you get from a listing page or from the propertyUrl column of a search run.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchUrls": {
            "title": "🌐 Search URLs",
            "type": "array",
            "description": "Paste Housing.com result-page URLs instead of filling the fields above. Build the search you want on the site with any filters it offers - budget bands, area bands, amenities, possession date, posted-by - then paste the URL here and every one of those filters is honoured, because the page itself does the filtering.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}