Exhaustively sweep a Redfin map area
redfin_sweep_areaEnumerate every for-sale Redfin listing in a bounding box or ZIP list without truncation, recursively splitting capped map tiles and applying your filters locally.
Instructions
Enumerate EVERY for-sale Redfin listing inside a bounding box without silent truncation. Redfin's gis API returns at most 350 homes per call and ignores server-side filters, so this tool searches drawn-map polygons, recursively quarters any tile that hits the cap, dedupes by property_id and re-applies the caller's filters locally. Homes outside the box and tiles where Redfin drifted to another region are left out. Alternatively pass zips (ZIP mode) to sweep a list of ZIP regions instead of map tiles, when Redfin ignores drawn-map polygons. Returns a completeness summary (requests, tiles or ZIPs, unique listings, tiles/ZIPs still at the cap, drift warnings) plus the listings inline by default; pass the optional output_path to write them to a new JSON file instead, for large areas. Sequential requests with a delay. Read-only against Redfin; the only write is the optional local output file.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| zips | No | ZIP mode: sweep these ZIP regions instead of map tiles (fallback when Redfin ignores drawn-map polygons). Each ZIP is checked by the homes' own ZIPs; a ZIP that returns the 350-home cap is reported as capped. | |
| bounds | No | Box to sweep (lat/lng). Required unless `zips` is given. | |
| beds_min | No | ||
| delay_ms | No | Pause between requests (default 1200). | |
| location | No | Optional city (e.g. "San Jose, CA") whose region lets the polygon probe try region-pinned request shapes. | |
| 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; a relative path or an existing file is refused rather than 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 120). |