- A partially-served agent page is now retried instead of being delivered as a record with
empty fields. Previously such a page could reach the dataset as an all-but-empty row —
most visibly a missing agent name — and was counted as a successful fetch.
- A run that returns nothing now says why: whether the location genuinely has no agents,
whether your own rating/sales/review filters removed every match (with the number found),
or whether the agents' details could not be read. Previously all three printed the same
"check the location or filters" line, which pointed at your query even when the query
was fine.
- Internal diagnostics only; no change to output.
- Fixed a fault that caused most agent detail pages to be rejected, so runs were delivering
only a small fraction of the agents they had already found. A location that returned a
couple of records now returns the full requested set.
- Large locations now continue past the point where a scan was previously interrupted,
instead of starting the location over and stopping at the same place. A single location
can now return substantially more agents, and a run no longer re-reads pages it has
already processed.
- Runs no longer fetch more agent profiles than they can return. A run asking for a small
number of results previously kept a full window of fetches in flight and threw the surplus
away, which made small runs slower and more expensive than they needed to be. Same records
out, less work done.
- Incremental runs now stop collecting as soon as
maxResults is reached. Previously an
incremental run kept scanning the whole location even when only a handful of records were
requested, so a small maxResults could take minutes instead of seconds. Output is
unchanged — the same records are delivered, just far faster.
- Full-coverage scanning is still performed when
emitExpired is on, since detecting removed
agents requires seeing the complete set.
- A response that stalls midway is now retried on a fresh connection instead of ending the run.
Previously a single stalled read could fail an otherwise healthy run and discard its results.
Initial release. Scrape US real estate agent & team leads from zillow.com — name,
business/team, phone, email, rating, review count, sales history, and active listings per
agent.
- Search by location (
agentLocations) or paste zillow.com agent profile URLs / an
agent-directory URL (startUrls) directly.
- Lead-quality filters:
minRating, minSales, minReviews.
- Incremental mode tracks new/changed/expired agents across runs, keyed on rating, total
sales, active listings, and review count.
- Notifications (Telegram, Slack, Discord, WhatsApp Cloud API, generic webhook) and MCP
connector export.