{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow ZIP Code Scraper | Listings & Market Trends",
    "description": "Scrape Zillow sale, rental and sold listings by US ZIP code. Export prices, addresses, home facts, Zestimates and photo URLs. Add optional property details with price and tax histories, schools and scores, plus monthly ZIP market trends with inventory, sale metrics and market temperature.",
    "version": "0.5",
    "x-build-id": "npbPDomUv0pFnfBZx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datascraperes~zillow-zip-code-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datascraperes-zillow-zip-code-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/datascraperes~zillow-zip-code-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datascraperes-zillow-zip-code-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/datascraperes~zillow-zip-code-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datascraperes-zillow-zip-code-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": [
          "zipCodes"
        ],
        "properties": {
          "zipCodes": {
            "title": "US ZIP codes",
            "minItems": 1,
            "type": "array",
            "description": "Five-digit US ZIP codes. Preserve leading zeros. Duplicate ZIPs are searched once.",
            "items": {
              "type": "string",
              "pattern": "^[0-9]{5}$"
            }
          },
          "statuses": {
            "title": "Listing statuses",
            "minItems": 1,
            "maxItems": 3,
            "uniqueItems": true,
            "type": "array",
            "description": "Optional legacy status selection. When set, it takes precedence over the sale/rent/sold checkboxes.",
            "items": {
              "type": "string",
              "enum": [
                "FOR_SALE",
                "FOR_RENT",
                "SOLD"
              ],
              "enumTitles": [
                "For sale",
                "For rent",
                "Sold"
              ]
            },
            "default": null
          },
          "maxResultsPerZipStatus": {
            "title": "Results per ZIP and status",
            "minimum": 1,
            "type": "integer",
            "description": "Optional legacy per-ZIP/status ceiling. Null collects all matching properties, subject to the other requested limits.",
            "default": null
          },
          "maxTotalResults": {
            "title": "Total property limit",
            "minimum": 1,
            "type": "integer",
            "description": "Run-wide property cap. ZIP market records do not count toward it. ZIPs and statuses are processed in input order.",
            "default": null
          },
          "includePropertyDetails": {
            "title": "Include property details",
            "type": "boolean",
            "description": "Enrich the first properties with available facts, price/tax history, schools, scores and valuation history.",
            "default": false
          },
          "maxPropertyDetails": {
            "title": "Property detail limit",
            "minimum": 1,
            "type": "integer",
            "description": "Run-wide maximum detail lookups when enabled. Null enriches every returned property. Other listings are retained with detailsStatus=limit_reached.",
            "default": 5
          },
          "includeMarketTrends": {
            "title": "Include ZIP market trends",
            "type": "boolean",
            "description": "Add one marketTrends Dataset record per ZIP with monthly inventory, sale metrics, temperature and available forecast.",
            "default": false
          },
          "marketHistoryMonths": {
            "title": "Months of market history",
            "minimum": 1,
            "maximum": 120,
            "type": "integer",
            "description": "Maximum latest monthly points per history series. Actual Zillow coverage can be shorter.",
            "default": 12
          },
          "minPrice": {
            "title": "Minimum price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional bound. Leave empty for no bound."
          },
          "maxPrice": {
            "title": "Maximum price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional bound. Leave empty for no bound."
          },
          "minBedrooms": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Optional bound. Leave empty for no bound."
          },
          "maxBedrooms": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Optional bound. Leave empty for no bound."
          },
          "minBathrooms": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "type": "number",
            "description": "Optional bound. Leave empty for no bound."
          },
          "maxBathrooms": {
            "title": "Maximum bathrooms",
            "minimum": 0,
            "type": "number",
            "description": "Optional bound. Leave empty for no bound."
          },
          "minLivingArea": {
            "title": "Minimum living area (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional bound. Leave empty for no bound."
          },
          "maxLivingArea": {
            "title": "Maximum living area (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional bound. Leave empty for no bound."
          },
          "minYearBuilt": {
            "title": "Minimum year built",
            "minimum": 0,
            "type": "integer",
            "description": "Optional bound. Leave empty for no bound."
          },
          "maxYearBuilt": {
            "title": "Maximum year built",
            "minimum": 0,
            "type": "integer",
            "description": "Optional bound. Leave empty for no bound."
          },
          "homeTypes": {
            "title": "Home types",
            "maxItems": 8,
            "uniqueItems": true,
            "type": "array",
            "description": "Leave empty to include all property types.",
            "items": {
              "type": "string",
              "enum": [
                "APARTMENT",
                "CONDO",
                "LAND",
                "MANUFACTURED",
                "MULTI_FAMILY",
                "SINGLE_FAMILY",
                "TOWNHOME",
                "UNKNOWN"
              ]
            },
            "default": []
          },
          "openHousesOnly": {
            "title": "Open houses only",
            "type": "boolean",
            "description": "Enabled returns listings with an open house. Disabled applies no open-house filter.",
            "default": false
          },
          "showcaseOnly": {
            "title": "Showcase listings only",
            "type": "boolean",
            "description": "Enabled returns Showcase listings. Disabled applies no Showcase filter.",
            "default": false
          },
          "sortOrder": {
            "title": "Price order",
            "enum": [
              "DEFAULT",
              "PRICE_ASC",
              "PRICE_DESC"
            ],
            "type": "string",
            "description": "Use Zillow default ranking or ascending/descending listing price.",
            "default": "DEFAULT"
          },
          "resultsLimit": {
            "title": "Results per ZIP",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum unique properties per ZIP across selected statuses. Null collects all available matches. Smaller legacy or run-wide limits still apply.",
            "default": null
          },
          "priceMin": {
            "title": "Minimum price (compatible input)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional price bound in USD, monthly for rentals. Alias of minPrice; both must agree if supplied.",
            "default": null
          },
          "priceMax": {
            "title": "Maximum price (compatible input)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional price bound in USD, monthly for rentals. Alias of maxPrice; both must agree if supplied.",
            "default": null
          },
          "daysOnZillow": {
            "title": "Listing or sale age",
            "enum": [
              "",
              "1",
              "7",
              "14",
              "30",
              "90",
              "6m",
              "12m",
              "24m",
              "36m"
            ],
            "type": "string",
            "description": "Maximum age of the listing; for sold searches, maximum days since sale. Month choices use 30 days per month.",
            "default": ""
          },
          "forSaleByAgent": {
            "title": "For sale by agent",
            "type": "boolean",
            "description": "Select this listing category. Optional legacy statuses take precedence for choosing contexts.",
            "default": true
          },
          "forSaleByOwner": {
            "title": "For sale by owner",
            "type": "boolean",
            "description": "Select this listing category. Optional legacy statuses take precedence for choosing contexts.",
            "default": false
          },
          "forRent": {
            "title": "For rent",
            "type": "boolean",
            "description": "Select this listing category. Optional legacy statuses take precedence for choosing contexts.",
            "default": false
          },
          "sold": {
            "title": "Recently sold",
            "type": "boolean",
            "description": "Select this listing category. Optional legacy statuses take precedence for choosing contexts.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}