Exhaustively sweep a Zillow search area
zillow_sweep_areaEnumerate every Zillow listing in a location or bounding box without silent truncation by splitting the area into map tiles, recursively quartering crowded tiles, and deduping results.
Instructions
Enumerate EVERY Zillow listing matching the filters inside a location (resolved like zillow_search_properties) or an explicit bounding box, without silent truncation. Splits the area into map tiles and recursively quarters any tile whose Zillow-reported total exceeds what one query can return, dedupes by zpid and re-applies the numeric filters (drift guard). Returns a completeness summary (requests, tiles, unique listings, tiles still truncated at max depth, drift warnings such as Zillow ignoring the price filter or the viewport) plus the listings, or writes the listings to output_path as JSON for large areas. Sequential requests with a delay. Read-only against Zillow; the only write is the optional local output file.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bounds | No | Optional box to sweep; defaults to the resolved region's map bounds. | |
| status | No | ||
| beds_min | No | ||
| delay_ms | No | Pause before every Zillow request, including each page within a tile (default 1200). | |
| location | Yes | City / ZIP / county used to resolve the region (e.g. "King County, WA"). | |
| tile_cap | No | Treat a tile as complete only if its total is at most this (default 400). | |
| baths_min | No | ||
| max_depth | No | Max quarterings per tile (default 6). | |
| price_max | No | ||
| price_min | No | ||
| home_types | No | ||
| output_path | No | Optional absolute path of a NEW .json file to write the full results (and per-tile counts) to; an existing file is never overwritten. Omit to get the results inline; use a file for large areas so the listings stay out of the conversation. | |
| max_requests | No | Hard request budget (default 150), counting the resolve call and every page; the sweep stops mid-tile rather than exceed it. |