The main sweep
This is the big pull that lists every home for sale in San Antonio — the whole board is built from it. Five services were bake-off tested with real money; one won on cost, coverage, and the fact that it hands us the photos for free. How often we re-pull the whole list — versus just checking what changed — is the Delta question, not this one.
→On cadence, to be exact: the full "every home" sweep is an occasional job — in the plan it runs about weekly, and it isn't running on a schedule yet. The daily job is only the cheap change-check (what's new / dropped price / gone). We do not re-scrape every home every day.
igola Chosen
The numbers ruled it
igolaizola~zillow-scraper-ppe · ~$0.0009 per home
We pointed all five scrapers at San Antonio and compared. igola alone returned 13,536 of the 13,591 homes every scraper found combined — everything else added only ~55 homes between them. And it swept the entire metro for $11.61, photos included. Photos-included is the quiet winner: it means we never pay a second time to fetch pictures for the AI to look at.
Full metro sweep
12,416 homes
Coverage vs all sources
99.6%
→One catch to know: when you ask igola "what changed recently," it gives you an
order but no marker saying
what changed or
when. That's fine for the big daily sweep — it matters for the
Delta tab, where it's the whole debate.
Everything igola gives us — the whole board is built from these
40 usable fields per home, measured against the live 13,036-row board. Coverage = share of homes that actually carry a value.
Identity & location
Address ·100%
Street address (2,022 have none → "No address" badge)
ZIP ·100%
Territory / warehouse routing
Cover photo ·100%
The one photo shown per lead
All photos ·~99%
Full carousel — what vision reads
Listing URL ·100%
The Zillow link (the real drill-in)
Zillow ID / zpid ·100%
Stable identity for dedupe
The house itself
Price ·100%
Qualifies the staging tier + fee
Square feet ·99.7%
How much furniture it takes
Property type ·100%
Single-family 90% / condo / townhome / multi / mobile
Year built ·99.6%
Older stock often needs staging
Lot size ·73.1%
Acreage / lot area
Price & value signals
Zestimate ·70.8%
Zillow's value estimate
Price vs Zestimate % ·70.8%
Priced under market = motivated seller
Price / sqft ·~95%
Value density, cross-listing compare
Rent Zestimate ·89.4%
Investor-lens value
Tax assessed value ·55.9%
A second value anchor
Tax assessment year ·55.9%
Timing & freshness
Days on market ·100%
Stale = anxious seller = warmer lead
Listed date ·100%
Real list date (DOM computed live from it)
First seen ·100%
When we first captured it
Last seen ·100%
Most-recent capture — the "still there?" signal
Status ·100%
active (single-valued today)
Lead-lane flags (who's a special case)
FSBO ·88
Owner-listed, no agent — own lane
Open house ·199
A showing is scheduled — timing
New construction ·5,428
Broad new-build flag
Builder plan ·2,588
To-be-built render — hidden by default
Builder spec home ·2,749
Real new house — good lead, marked
Pre-foreclosure / auction ·31
Distress = motivated
Listing type ·98.5%
fsba / new_construction / fsbo / coming_soon
Vision class, confidence, the 0–100 score and the call/mail/drip/drop bucket also sit on every row — but those are things we compute from the photos and signals, not things igola hands us. They live in the Vision tab.
How we change this later
Swapping the main scraper is a CHEAP · config change — no part of the database depends on which service filled it, and a fresh full sweep is only ~$12. The one thing that would actually hurt: picking a source that doesn't include photos, which would push vision cost up because we'd pay to fetch images separately.
!Worth your eye: a seat wrote the recommendation and another seat signed it on 2026-07-02 — the numbers are genuinely strong, but you never actually ratified igola. This tab is your chance to.
clearpath Kept as backup
clearpath~zillow-bulk-search-unlimited-scraper · ~$0.0005 per run
Returns the same core fields as igola, plus two things igola lacks: a native "sold" mode (useful for spotting homes that left the market) and real signed price markers baked in — "−$10k on Jul 2" — instead of us working that out in code. Slight staleness in its cache. We kept it as the backup lane and the sold-detector; it also reappears as a live contender in the Delta debate.
RapidAPI "class-C" APIs Emergency net
us-property-market1 (600/mo) · zillow-real-estate-api (50/mo) · free within quota
Two free services with hard monthly call limits — so they physically cannot run away with your money. The quotas are small, so they're no good for daily breadth, but they're a structured safety net: if Apify goes down or a quota's exhausted, we can switch to these and still get listings. $0 as configured.
maxcopell as the main sweep Rejected here
maxcopell returns richer per-home data, but at roughly 4× the price for the breadth job — and igola's photos were already good enough for the AI to judge staging. Rejecting it for breadth saved $36–72 on a full backfill. (maxcopell isn't gone: it's the pick for the narrow Detail job on hot leads, where its one unique field earns its keep.)
MLS / RESO Bridge Never a dependency
You ruled it
The MLS is the industry's official listing feed — free if a broker sponsors us. It's a nice-to-have someday, but you ruled it clearly: "nice-to-have someday, never depend on it" (2026-06-30). So it's not in the plan, and nothing we build assumes it. This one's fully your call and it's on record.