Zillow Deal Finder: AI Cap Rate, Cash Flow & Price-Cut Scoring
Pricing
from $4.00 / 1,000 qualified deal (rules only)s
Zillow Deal Finder: AI Cap Rate, Cash Flow & Price-Cut Scoring
First 25 deals free. No start fee. A Zillow deal finder for real estate investors: we bill only listings that cash-flow at your terms — cap rate, cash flow, reduced prices and FSBO leads, scored with an AI memo. Free demo on any plan; live search runs Zillow Search Scraper on your own Apify account.
Pricing
from $4.00 / 1,000 qualified deal (rules only)s
Rating
0.0
(0)
Developer
Rich Minds
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
New cash-flowing Zillow deals in your inbox every morning, scored 0–100 with AI memos.
⚡ First 25 deals free · 💵 $0.004 per qualified deal, no start fee · 🤖 $0.015 with the AI deal memo · 🔑 No API key on paid Apify plans — free plan: your own Gemini / Groq key · ⏱️ ~3 min for a 200-listing search (estimate)

Try it in 30 seconds. Click Try it — 6 sample listings, free. Type a city or ZIP into Cities or ZIP codes for a live search: the first 25 qualified deals are free. → What a run costs · What the AI adds · Run it weekly
⚡ At a glance
| What you get | ranked Zillow deals: cap rate, cash flow, 1% rule, discount to Zestimate, flip math, price-cut / FSBO signals, who to call, (AI) a deal memo |
| You provide | a city or ZIP ("Memphis, TN", "44109") — or a Zillow search URL |
| Output | a ranked sheet (Excel / CSV / Google Sheets), best deal first, plus an e-mail digest |
| Typical run | 200 listings scanned → ≈ 30 qualified in ~3 minutes (estimate) |
| Cost of that run | $0.58 math only ($0.46 Zillow scan + 30 × $0.004) · ≈ $0.97 with the AI memo |
| Which plan | Free demo and your own list (template): any plan · live search: a plan that runs Store Actors |
| Keys / setup | none where your plan includes model access; otherwise your own Gemini / Groq key |
| Works with | Schedules, e-mail, Slack, webhooks, Google Sheets, Make / n8n / Zapier, MCP & AI agents |
🎯 What this Actor does
For real estate investors: it runs Zillow Search Scraper (maxcopell/zillow-scraper) on your account, does the
investment math on every listing and delivers only the deals that pass your rules:
- The spreadsheet, already done — mortgage, expenses, cash flow, NOI, cap rate, cash-on-cash and the 1% rule at your terms.
- Below-market proof — discount to the Zestimate and $/sqft vs the ZIP median of every listing in the run.
- Motivated sellers flagged — price cuts, days on Zillow, FSBO, foreclosure, bank-owned, auction, "as-is" quoted.
- A deal score 0–100 and grade A/B/C for your strategy, with the reasons — and who to call on every row.
- AI deal memo — red flags, upsides, condition and a fit score against your brief, every number checked.
🏠 Real estate deal finder for rentals and flips
Rental weighs cap rate, cash flow and the 1% rule; flip weighs discount to Zestimate, $/sqft under the ZIP
median and motivation. No rent Zestimate? Rent comps, else rentFallbackPct (0.8 = 0.8% of the price a month).
🔨 Flip math — ARV, rehab and the 70% rule
ARV (sold comps, else Zestimate, else ZIP $/sqft), a rehab estimate from the condition, the max offer (ARV × 0.70 − rehab) and the profit after closing and selling costs — in the Flip math view.
🏘️ Rent comps and sold comps — numbers you can defend
rentComps: the median rent of the ZIP's rentals with the same bedrooms; soldComps: ARV from homes sold there in 6
months. ≈ $0.05 a ZIP on your account, at most 5 ZIPs.
🔎 Motivated seller leads and FSBO leads
motivatedSellerOnly, minPriceCutPct and minDaysOnZillow keep sellers likely to negotiate; the Outreach view
leads with who to contact. fetchDetails adds the agent and real tax / HOA to the top maxDetailFetches deals;
writeOfferNote an AI note to the agent and, on hot deals, a one-page letter of intent (PDF).
👀 Watchlist — alerts on the listings you follow
watchlist (zpids or listing URLs): each run re-checks them (≈ $0.0036 a listing) and charges only a price or status
change.
📂 Already scraping Zillow? Score your Zillow scraper data
Pass the dataset of your own Zillow Search Scraper run in datasetId (or the rows in itemsList): the math, the
signals and the memo run on it, no second scan — we charge only per qualified deal. Recipe: Integrations.
🚀 How to use it
- Click
Try it— the free demo scores 6 sample Ohio listings. - Type your market into Cities or ZIP codes (
Memphis, TN,44109) — that switches the demo to the live search. KeepenableAion — your first 25 deals show the memo free. - Press Start — deals land best-first in the Shortlist, Deal math, Flip math, Motivated sellers and Outreach views.
- Make it your daily deal alert — Save as a new task → Schedule, with
notifyEmail; only new deals and new price cuts are charged.

📚 Learn more: Step-by-step tutorial — how to find cash-flowing Zillow deals with this Actor
🆚 Why this instead of a Zillow Scraper?
Zillow Search Scraper (maxcopell/zillow-scraper) | Zillow Scraper — Cash Flow (trakk/zillow-scraper) | Zillow Deal Finder | |
|---|---|---|---|
| Your time per 100 deals | ≈ 17 h by hand (≈ 10 min a listing: rent, cap rate, comps) | ≈ 8 h (cash flow done, comps and seller signals yours) | 0 h — math, comps, signals and memo on every row |
| Price | $0.0023 per row · 633 users / 30 days | $0.003 per row + $0.003 per excluded property · 22 users | $0.004 per qualified deal ($0.015 AI), 25 free |
| What you pay for | every row, rentals and duplicates too | every row, even excluded properties | only deals that pass — junk costs $0 here |
| Same 100 deals, all in | ≈ 500 raw rows = $1.15, math still yours | ≈ $1.50 for 500 analysed rows, no memo | $1.55 math only (100 × $0.004 + $1.15 source) — trakk's price with more math · $2.65 with the AI memo |
| Deal math | raw fields | cash-flow scenarios | cap rate, cash flow, CoC, 1% rule, flip math, ZIP comps, price cuts |
| Repeat runs | same listings again | same listings again | only new deals, new price cuts, watchlist changes |
The deal finders next to it in the Store search for "zillow deal finder" (FREE-tier prices, Store, 2026-09-26 — that search's median is $0.00395 per result; $0.004 here sits on it):
sian.agency/distressed-deal-finder | optirefine/real-estate-deal-finder | seibs.co/house-flipper-leads | This Actor | |
|---|---|---|---|---|
| Price | $0.036 per row + $0.05 start | $0.10 per row + $0.02 start | $0.005 per row, + $0.005 detail, + $0.005 high score | $0.004 per qualified deal, no start fee |
| Charged for | every foreclosure / auction row | every listing returned | every listing, more for good ones | only deals that pass your rules |
| Cash flow at your terms | rent estimate only | no | no | yes — cap rate, CoC, 1% rule |
| Flip math | comps | distress score only | ARV, max offer | ARV (sold comps on request), 70% max offer, profit |
💸 Cheaper than a PropStream seat — a PropStream alternative and DealCheck alternative
| PropStream | DealCheck | Mashvisor | This Actor, weekly | |
|---|---|---|---|---|
| Monthly cost | $99 / seat (Essentials) | $20 / seat (Pro; Plus $10) | $49.99 / seat (billed yearly) | ≈ $2.70 (1 search × 200 listings a week, ≈ 10 new AI deals) |
| Finds the deals | list building | no — you type each property | market data | yes — every listing of your search, scored |
Seat prices: list prices on PropStream, DealCheck and Mashvisor, checked 2026-09-26.
💵 Pricing — what a run really costs
Pay per result: one event per qualified deal, nothing else.
| Event | When it is charged | Price |
|---|---|---|
free-tier | your first 25 qualified deals, any mode | $0.00 |
qualified-deal-basic | AI off — Zillow fields, deal and flip math, signals, rule score and memo | $0.004 |
qualified-deal-ai | AI on — plus AI memo, red flags, upsides, condition, seller phrases, fit score | $0.015 |
Never charged here: the Zillow search (billed by Zillow Search Scraper on your account), rentals, rows without a
price, deals under minScore or failing a filter, repeats without a price drop, unchanged watchlist listings.
How that compares — $0.004 is 1.48× one raw Zillow row (median $0.0027), but one qualified deal replaces 5 raw rows.
Worked example (estimate) — one Cleveland search, 200 listings: $0.46 source on your account → ≈ 30 qualified with AI: 30 × $0.015 + ≈ $0.06 tokens → ≈ $0.97 total, $0.032 per deal ($0.58 with AI off; ≈ $0.60 on your first run).
AI tier, all in: ≈ $0.017 per deal ($0.015 here + ≈ $0.002 tokens) — about 4× the basic price.
🤖 What the AI tier adds
The FSBO deal from the demo, AI off — the math, the signals and the rule memo:
{"address": "1207 Example St, Cleveland, OH 44109", "price": 89900, "monthlyCashFlow": 428, "capRatePct": 11.7,"discountToZestimatePct": 14.0, "score": 95, "dealGrade": "A", "motivationSignals": ["stale", "fsbo", "below_zestimate"],"aiSummary": "Cap rate 11.7%, cash flow +$428/mo at 25% down, cash-on-cash 20.4%, 14.0% below Zestimate. Estimate from the listing and your assumptions, not financial advice.","sellerPhrases": ["Investor special", "sold as-is", "cash only", "needs TLC"]}
AI on ($0.015) — the same listing from a real AI run (2026-10-17, an own free Gemini key) against the brief "Cash-flowing 3+ bedroom single-family homes under $200k in Ohio; light rehab is fine, no condos with high HOA.":
{"fitScore": 92, "score": 94, "assessedBy": "ai", "aiModel": "google:gemini-3.5-flash-lite", "condition": "heavy-rehab","aiSummary": "This 3-bedroom, 1-bathroom single-family home in Cleveland, OH is listed at $89,900, sitting 14% below the Zestimate. It meets the investor's criteria with a positive monthly cash flow of $428, an 11.7% cap rate, and an 18.02% gross rent yield. The listing is for sale by owner and has been on Zillow for 96 days. Note that the marketing tagline calls it an investor special requiring a handyman and cash only.","redFlags": ["daysOnZillow 96 indicates a stale listing", "heavy-rehab condition indicated by investor special and handyman needed tagline"],"upsides": ["bedrooms 3 meets the bedroom count requirement", "monthlyCashFlow 428 provides positive cash flow", "capRatePct 11.7 and cashOnCashPct 20.4 are robust return metrics", "discountToZestimatePct 14.0 and belowZipMedianPct 13.3 show attractive relative pricing"],"sellerPhrases": ["Investor special! Sold as-is, cash only, handyman needed - bring all offers"],"dealPitch": "3-bed single-family in Cleveland, OH at $89,900 with strong 11.7% cap rate and $428 monthly cash flow."}
On the platform the memo comes from anthropic/claude-haiku-4.5 (Apify's model access): same fields, its own wording.
⚙️ Input
Start with locations, minScore, listingGoal, your deal criteria, enableAi and notifyEmail; the rest has
defaults.
List-mode rows
sourceMode: list works on any plan and is the free API trial; a row in itemsList uses Zillow Search Scraper's format.
📤 Output
One dataset item per qualified deal — the demo's foreclosure duplex, shortened:
{"url": "https://www.zillow.com/homes/2255-Demo-Rd-Cleveland-OH-44109_rb/", "zpid": "900000103","contactRoute": "(216) 555-0178", "contactChannel": "phone", "price": 165000, "rentSource": "rentZestimate","monthlyCashFlow": 748, "capRatePct": 11.43, "arv": 188000, "maxAllowableOffer": 113100,"motivationSignals": ["foreclosure", "below_zestimate", "seller_language"], "score": 97, "dedupeKey": "zpid:900000103"}
Output fields
Upsert key for a CRM or Sheet: dedupeKey (zpid:<Zillow property id>) — one property is one row however many
runs find it; itemId is its short hash.
Next to OUTPUT (funnel, charges, aiCoverage, comps, errors): a DIGEST ("vs last run: qualified 41 → 55"),
a client-ready REPORT page (OUTPUT.reportUrl) and a per-ZIP MARKET_REPORT.
⭐ Found it useful? A review on the Store helps others find it — it takes a minute on the Actor's page.
🔁 Run it weekly
- Save as a new task → Schedule (daily or weekly) with
notifyEmail— the first live run's status offers it andOUTPUT.scheduleInputholds its exact input; every run with new deals e-mails you the digest and the trend. - Keep
dedupeAcrossRunsandalertOnPriceCuton — the next run delivers only new deals and price drops. The memory is kept per search; onededupeStoreNameper client keeps their lists apart. - Add
slackWebhookUrl, or push rows to Google Sheets / n8n / Make — integration recipes.
Weekly cost: 3 cities × 200 listings = $1.38 source + ≈ 20 new deals × $0.015 ≈ $1.68 a week.
🎯 Try it for your niche
| Niche | What it looks for | Start |
|---|---|---|
| Buy-and-hold | cash flow ≥ $150/mo, 3+ beds, Cleveland | the buy-and-hold input below |
| Wholesale / flip | 10%+ under Zestimate, motivated sellers, Akron | the wholesale / flip input below |
🔌 Integrations, automation and API
- Webhook —
webhookUrlPOSTs{"event": "deal.qualified", "deal": {…}, "runId": "…"}per deal, or withwebhookBatchSize> 1{"event": "deals.qualified", "deals": [{…}, …], "runId": "…"}; 429 / 5xx retried once, never fails the run. - Google Sheets / Slack / HubSpot — the Integrations tab; the Shortlist view maps onto a sheet (tracker header).
- After your own Zillow scraper run — an Integrations-tab webhook on
maxcopell/zillow-scraper"run succeeded" starts this Actor withdatasetId= that run'sresource.defaultDatasetIdandenableAi: false: rules only, no second scan. - AI agents / MCP — plain typed inputs. First call = the free trial:
{"sourceMode": "list", "itemsList": [...]}scores rows you send, no source run.
Use it from Claude, ChatGPT or any MCP client:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=rich_minds/zillow-deal-finder-ai"}}}
Then ask: "Run zillow-deal-finder-ai for Memphis, TN (maxDiscoveryChargeUsd 0.5) and list the A-grade deals."
Minimal agent input: {"locations": ["Memphis, TN"], "investorGoal": "…", "minScore": 60, "maxQualified": 25, "maxDiscoveryChargeUsd": 0.5}
Run outcomes — what your integration sees
👥 Who is it for?
| You are… | You run it to… | Start with |
|---|---|---|
| Buy-and-hold / BRRRR investor | see which listings cash-flow — an investment property finder | locations + minMonthlyCashFlow |
| Wholesaler / flipper | find motivated sellers and a max offer under the 70% rule | listingGoal: flip, motivatedSellerOnly |
| Investor-friendly agent | send clients a deal list and a ZIP market report | a schedule + notifyEmail, REPORT, MARKET_REPORT |
| Proptech / AI agent | feed typed, scored rows to a CRM or an agent | the API / MCP call, webhookUrl |
🧠 How the AI works
- Grounded. The model sees one listing, the math and your terms; a sentence with a number not in the row is dropped, seller phrases must be verbatim.
- Your brief.
fitScorerates the listing againstinvestorGoal;scoreblends it 40/60 with the rule score. - Model.
anthropic/claude-haiku-4.5through Apify's model access, or your own key; only listings that passed every free filter reach it, and a failed call keeps the rule score.
🔒 Data, compliance and limits
- Only what Zillow publishes, contacts as published. No login, no skip tracing.
- The math is an estimate — not financial advice. ZIP medians need ≥ 3 listings.
- Keep your use within Zillow's terms and applicable law (GDPR, CCPA).
❓ FAQ
How much will one run cost me? One city × 200 listings: at most $0.46 for the Zillow scan on your account (capped by
maxDiscoveryChargeUsd, $0.50), then ≈ 30 × $0.015 + ≈ $0.06 tokens — ≈ $0.97 ($0.58 with AI off); 25 deals free.
Can I get only Zillow price reduced listings? Yes — minPriceCutPct or targetFlags: ["price_cut"]; scheduled runs re-alert on a new cut.
How long does a run take? Demo: seconds. 200 listings: ~1–2 min of Zillow search, then ≈ 2–4 s per AI deal, 8 at a
time (estimate; OUTPUT.timing). Own key: paced after a rate limit, a used-up quota stops the AI within ≈ 20 s, at most 60 s of
waiting per run. Own-key throughput is not measured yet. Pass timeoutSecs 1800 per 100 deals.
Which Apify plan do I need? Any plan runs the demo. Live search, watchlist and built-in AI need a plan that runs Store Actors; free plan: dataset / list and llmProvider: "byok".
What happens if nothing matches my filters? The run succeeds with 0 rows and charges nothing.
Will I be charged for the same deal twice? Only if its price dropped since (alertOnPriceCut, isNewPriceCut).
Is the data public / is this legal? Public Zillow listing data only, no login; use it within Zillow's terms.
🧩 More Actors from the same developer
Not quite your use case? The same pay-per-qualified-result model, closest to this Actor's buyers first:
- Local Business Leads — find the contractors, inspectors and property managers in your new market, with contacts.
- Website Change Monitor — get told when a county auction or sheriff-sale page posts new properties.
- Email List Qualification AI — clean the agent and seller e-mails before your outreach goes out.
🆘 Support
Something missing or wrong? Open an issue on the Actor's page — requests from buyers are shipped first.
📝 Changelog
What changed in each build, newest first — pin one with build in the API call.
- 0.3.6 (2026-10-17) — On a plan without Apify's model access, the AI example now shows labelled sample deal memos cut from a real AI run, instead of no memo at all; An own AI key that keeps hitting its rate limit no longer holds the run for minutes: waiting stops after 60 seconds, and a few borderline deals still get their memo one at a time; If Zillow's scraper ever renames its fields, the run now fails with a clear reason and charges nothing, instead of quietly reporting "no deals"; the demo's sample links open a real Zillow search instead of an error page.
- 0.3.5 (2026-10-04) — Bring your own data: send rows in
itemsListor a dataset ID indatasetIdand the Actor picks the mode itself, starts no source Actor and charges only for the analysis. Fields it cannot read are listed in the run log instead of being dropped silently. - 0.3.4 (2026-10-03) — Location / URL searches read Zillow's search pages directly: no second scraper bill, no Store-Actor plan (switch with
ownSource). - 0.3.2 (2026-09-27) — Store card says "no start fee"; runs and prices unchanged.
- 0.3.1 (2026-09-26) — rent comps, sold-comp ARV, offer letter PDF; memory kept per search; schedule offer after the first live run.
- 0.2.1 (2026-09-26) — shorter AI-on status, own-key calls paced to the provider's hint, rows without a price named.
- 0.2 (2026-09-26) — city / ZIP input, watchlist, flip math,
MARKET_REPORT; breaking:dealScore→score,aiScore→fitScore. - 0.1.1 (2026-09-26) — first public release: deal math, ZIP comps, motivated-seller signals, AI deal memo.
- 0.1 (2026-09-26) — initial release.
