{
  "openapi": "3.0.1",
  "info": {
    "title": "Hotpads Scraper With Agents | Fast & Reliable",
    "description": "Extract HotPads rental listings at scale with unlimited coverage, deep listing detail, owner and contact data, flexible filters, and broad market coverage. Built for enterprise-grade rental intelligence, lead generation, and automated analytics pipelines.",
    "version": "0.0",
    "x-build-id": "iqx43X2cGOWNGbLZf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~hotpads-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-hotpads-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/fatihtahta~hotpads-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-hotpads-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/fatihtahta~hotpads-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-hotpads-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": [
          "location"
        ],
        "properties": {
          "location": {
            "title": "Enter City, Neighborhood, Borough, ZIP, or Address",
            "type": "string",
            "description": "Enter a supported HotPads location, such as San Francisco, CA; SoHo, New York; Manhattan, New York, NY; 10001; 90210. Do not enter only a state, because HotPads does not return statewide searches here."
          },
          "min_price": {
            "title": "Set Minimum Monthly Rent",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the lowest monthly rent to include. Leave empty when there is no lower price requirement."
          },
          "max_price": {
            "title": "Set Maximum Monthly Rent",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the highest monthly rent to include. Leave empty when there is no upper price requirement."
          },
          "property_type": {
            "title": "Choose Property Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Select the property types you want to collect. The default focuses on apartments; selecting House by itself focuses the search on houses for rent.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "condo",
                "duplex",
                "house",
                "townhouse"
              ],
              "enumTitles": [
                "Apartment",
                "Condo",
                "Duplex",
                "House",
                "Townhouse"
              ]
            },
            "default": [
              "apartment",
              "condo",
              "duplex",
              "house",
              "townhouse"
            ]
          },
          "bedroom": {
            "title": "Select an Exact Bedroom Count",
            "enum": [
              "studio",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Choose a single bedroom count when you only want listings with that exact layout. Use Studio for studio apartments."
          },
          "min_bedroom": {
            "title": "Set Minimum Bedrooms",
            "enum": [
              "1+",
              "2+",
              "3+",
              "4+"
            ],
            "type": "string",
            "description": "Choose the fewest bedrooms a listing must have. When both bedroom fields are filled, this minimum bedroom filter takes priority over the exact bedroom count."
          },
          "min_bathroom": {
            "title": "Set Minimum Bathrooms",
            "enum": [
              "1+",
              "1.5+",
              "2+",
              "3+",
              "4+"
            ],
            "type": "string",
            "description": "Choose the fewest bathrooms a listing must have. Leave this empty to include listings across all available bathroom counts."
          },
          "min_area": {
            "title": "Set Minimum Square Footage",
            "enum": [
              "200",
              "400",
              "600",
              "800",
              "1000",
              "1200",
              "1400",
              "1600",
              "1800",
              "2000",
              "2200",
              "2400",
              "2600",
              "2800",
              "3000",
              "3200",
              "3400",
              "3600",
              "3799"
            ],
            "type": "string",
            "description": "Choose the smallest floor area a listing must have. Leave empty when there is no minimum size requirement."
          },
          "max_area": {
            "title": "Set Maximum Square Footage",
            "enum": [
              "3600",
              "3400",
              "3200",
              "3000",
              "2800",
              "2600",
              "2400",
              "2200",
              "2000",
              "1800",
              "1600",
              "1400",
              "1200",
              "1000",
              "800",
              "600",
              "400",
              "200",
              "1"
            ],
            "type": "string",
            "description": "Choose the largest floor area a listing may have. Leave empty when there is no maximum size requirement."
          },
          "amenities": {
            "title": "Choose Required Amenities",
            "uniqueItems": true,
            "type": "array",
            "description": "Select the amenities a listing must match, such as parking, laundry, air conditioning, or furnished availability. Leave empty to avoid narrowing by amenities.",
            "items": {
              "type": "string",
              "enum": [
                "in_unit_laundry",
                "shared_laundry",
                "ac",
                "heating",
                "parking",
                "gated_entry",
                "doorman",
                "gym",
                "pool",
                "dishwasher",
                "furnished"
              ],
              "enumTitles": [
                "In-unit laundry",
                "Shared laundry",
                "Air conditioning",
                "Heating",
                "Parking",
                "Gated entry",
                "Doorman",
                "Gym",
                "Pool",
                "Dishwasher",
                "Furnished"
              ]
            }
          },
          "pets": {
            "title": "Select Allowed Pets",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose one or more pet policies to require. Leaving this empty includes listings whether or not they advertise pet support.",
            "items": {
              "type": "string",
              "enum": [
                "dogs_allowed",
                "cats_allowed"
              ],
              "enumTitles": [
                "Dogs allowed",
                "Cats allowed"
              ]
            }
          },
          "publication_date": {
            "title": "Choose Listing Recency",
            "enum": [
              "1_hour",
              "24_hours",
              "7_days",
              "30_days"
            ],
            "type": "string",
            "description": "Select how recently listings must have been published. Leave empty to include listings regardless of publication age."
          },
          "keyword": {
            "title": "Search Listing Text",
            "type": "string",
            "description": "Enter one keyword or phrase to narrow the results by listing text. Leave empty for broader discovery."
          },
          "exclude_rental_type": {
            "title": "Exclude Rental Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Select rental types to leave out of the results, such as rooms for rent, sublets, or corporate housing. Leave empty to include all supported rental types.",
            "items": {
              "type": "string",
              "enum": [
                "regular",
                "rooms_for_rent",
                "sublet",
                "corporate"
              ],
              "enumTitles": [
                "Standard rentals",
                "Rooms for rent",
                "Sublets",
                "Corporate housing"
              ]
            }
          },
          "special_restriction": {
            "title": "Choose Housing Program Filter",
            "enum": [
              "income_restricted",
              "senior_housing",
              "student_housing",
              "military_housing",
              "no_restricted_housing"
            ],
            "type": "string",
            "description": "Choose one housing program filter to apply, or choose not to include restricted housing when those listings are outside your target dataset."
          },
          "with_photo": {
            "title": "Require Photos",
            "type": "boolean",
            "description": "Turn this on to include only listings that provide at least one photo.",
            "default": false
          },
          "with_price": {
            "title": "Require Listed Prices",
            "type": "boolean",
            "description": "Turn this on to include only listings that show clear pricing.",
            "default": false
          },
          "for_rent_by_owner": {
            "title": "Require Owner-Listed Rentals",
            "type": "boolean",
            "description": "Turn this on to include only rentals listed directly by the owner.",
            "default": false
          },
          "properties_with_offers": {
            "title": "Require Special Offers",
            "type": "boolean",
            "description": "Turn this on to include only listings that advertise special offers.",
            "default": false
          },
          "accepting_online_applications": {
            "title": "Require Online Applications",
            "type": "boolean",
            "description": "Turn this on to include only listings that accept online rental applications.",
            "default": false
          },
          "sort_by": {
            "title": "Sort Results By",
            "enum": [
              "default",
              "newest",
              "most_popular",
              "highest_price",
              "lowest_price"
            ],
            "type": "string",
            "description": "Choose how to order matching listings. The default option uses the standard HotPads relevance sort.",
            "default": "default"
          },
          "maximize_coverage": {
            "title": "Collect More Matching Listings",
            "type": "boolean",
            "description": "Keep this enabled for large searches that may exceed the visible-result limit. Turn it off for faster exploratory runs where the first visible set of matching listings is enough.",
            "default": true
          },
          "limit": {
            "title": "Set Maximum Results",
            "minimum": 1,
            "type": "integer",
            "description": "Enter the maximum number of listings to save. Leave empty to collect all available results that match the selected criteria."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}