{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow ZIP Code Scraper: For Sale, Rentals & Sold",
    "description": "Scrape Zillow by ZIP code: homes for sale (agent, FSBO, foreclosures), rentals and recently sold homes with sold date and price, in one run. Price, Zestimate, beds, baths, photos, agent contacts and 150+ facts. Export to CSV, Excel or JSON.",
    "version": "0.0",
    "x-build-id": "3I7xUa0lql8xRd7Kk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/epicscrapers~zillow-zip-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-epicscrapers-zillow-zip-search-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/epicscrapers~zillow-zip-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-epicscrapers-zillow-zip-search-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/epicscrapers~zillow-zip-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-epicscrapers-zillow-zip-search-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": {
          "zipCodes": {
            "title": "ZIP codes",
            "type": "array",
            "description": "US ZIP codes to search, 5 digits each (e.g. 78704, 02134). Add one per line, or paste a list separated by commas. Every ZIP code is searched separately and its results are clipped to the ZIP code's boundary. Invalid entries are skipped with a warning.",
            "items": {
              "type": "string"
            }
          },
          "statuses": {
            "title": "Listing statuses",
            "type": "array",
            "description": "Which listings to collect in every ZIP code. Select several to get them all in one run: each status is searched separately and every row says which status it came from (searchedStatus).",
            "items": {
              "type": "string",
              "enum": [
                "forSale",
                "forRent",
                "sold"
              ],
              "enumTitles": [
                "For sale",
                "For rent",
                "Recently sold"
              ]
            },
            "default": [
              "forSale"
            ]
          },
          "maxItemsPerZip": {
            "title": "Max results per ZIP code",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum homes saved for each ZIP code and status (with 3 statuses, a ZIP code can give up to 3× this number). Set to 0 for every matching home. ZIP codes with more than 1,000 homes are split automatically, so you are not capped at Zillow's 500 or 1,000.",
            "default": 200
          },
          "includeDetails": {
            "title": "Include full property details",
            "type": "boolean",
            "description": "Adds the full property page to every home: description, all photos, listing agent name, phone and email, broker, price history, tax history, schools with ratings, HOA fee, walk/transit scores, climate risk and 150+ facts (heating, parking, flooring, appliances, parcel number…). Charged as an extra event per home.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "newest",
              "priceLow",
              "priceHigh",
              "beds",
              "baths",
              "sqft",
              "lotSize",
              "yearBuilt"
            ],
            "type": "string",
            "description": "Order of results. Matters when Max results per ZIP code is lower than the number of matching homes. Newest gives the latest listings and, for sold homes, the most recent sales first.",
            "default": "newest"
          },
          "saleTypes": {
            "title": "Sale types (for sale only)",
            "type": "array",
            "description": "Which for-sale listings to include. Leave empty for Zillow's default (agent-listed, by owner, new construction, foreclosures, auctions, coming soon). Pre-foreclosures and foreclosed (bank-owned, off-market) must be selected explicitly.",
            "items": {
              "type": "string",
              "enum": [
                "agent",
                "owner",
                "newConstruction",
                "foreclosure",
                "auction",
                "comingSoon",
                "preForeclosure",
                "foreclosed"
              ],
              "enumTitles": [
                "Agent listed",
                "For sale by owner (FSBO)",
                "New construction",
                "Foreclosures",
                "Auctions",
                "Coming soon",
                "Pre-foreclosures (off-market)",
                "Foreclosed / bank-owned (off-market)"
              ]
            }
          },
          "priceMin": {
            "title": "Min price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum list price of homes for sale, or sale price of sold homes."
          },
          "priceMax": {
            "title": "Max price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum list price of homes for sale, or sale price of sold homes."
          },
          "rentMin": {
            "title": "Min rent ($/month)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum monthly rent (for rent only)."
          },
          "rentMax": {
            "title": "Max rent ($/month)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum monthly rent (for rent only)."
          },
          "bedsMin": {
            "title": "Min bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "bedsMax": {
            "title": "Max bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of bedrooms."
          },
          "bathsMin": {
            "title": "Min bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bathrooms."
          },
          "homeTypes": {
            "title": "Home types",
            "type": "array",
            "description": "Only these home types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "singleFamily",
                "townhome",
                "condo",
                "multiFamily",
                "apartment",
                "manufactured",
                "land"
              ],
              "enumTitles": [
                "Houses",
                "Townhomes",
                "Condos/co-ops",
                "Multi-family",
                "Apartments",
                "Manufactured",
                "Lots/land"
              ]
            }
          },
          "daysOnZillow": {
            "title": "Days on Zillow (for sale and rent)",
            "minimum": 0,
            "type": "integer",
            "description": "Only homes for sale or rent listed in the last N days (e.g. 1, 7, 30)."
          },
          "soldInLast": {
            "title": "Sold within (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Only homes sold in the last N days (e.g. 30, 90, 180, 365). Leave empty for all recent sales Zillow lists (about 3 years)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}