Zillow Deal Finder: AI Cap Rate, Cash Flow & Price-Cut Scoring avatar

Zillow Deal Finder: AI Cap Rate, Cash Flow & Price-Cut Scoring

Pricing

from $4.00 / 1,000 qualified deal (rules only)s

Go to Apify Store
Zillow Deal Finder: AI Cap Rate, Cash Flow & Price-Cut Scoring

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: pay only for 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

Rich Minds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

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)

One row per qualified Zillow deal — price, cash flow, cap rate, discount to Zestimate, deal score, motivated-seller signals and a one-line pitch

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 (on a plan that runs Store Actors): the first 25 qualified deals are free. → What a run costs · What the AI adds · Run it weekly

⚡ At a glance

What you getranked 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 providea city or ZIP ("Memphis, TN", "44109") — or a Zillow search URL
OutputJSON / CSV / Excel dataset, best deal first, plus OUTPUT with the funnel and a per-ZIP MARKET_REPORT
Typical run200 listings scanned → ≈ 30 qualified in ~3 minutes (estimate)
Cost of that run$0.58 math only (AI off: $0.46 source + 30 × $0.004) · ≈ $0.97 with the AI memo (30 × $0.015 + ≈ $0.06 tokens)
Free tierfirst 25 qualified deals per account
Keys / setupnone on paid plans; free plan: list / dataset mode and your own AI key (llmProvider: byok)
Works withSchedules, 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

listingGoal: 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 (below), else rentFallbackPct (0.8 = 0.8% of the price a month); rentSource says which rent was used.

🔨 Flip math — ARV, rehab and the 70% rule

arv (sold comps, else Zestimate, else ZIP $/sqft × sqft), rehabEstimate from the condition (turnkey $0, light-rehab $15, heavy-rehab $40, unknown $10 per sqft), maxAllowableOffer (ARV × 0.70 − rehab) and flipProfit after 3% closing and 8% selling costs — planning figures in the Flip math view.

🏘️ Rent comps and sold comps — numbers you can defend

rentComps: a listing without a rent Zestimate gets the median rent of its ZIP's rentals with the same bedroom count (zipRentComp, rentSource: zip_rent_comps). soldComps: arv from homes sold there in the last 6 months (soldCompPricePerSqft, arvSource: sold_comps). One capped search per ZIP on your account, ≈ $0.05 a ZIP, at most maxCompZips (5); list rows may carry their own zipRentComp / soldCompPricePerSqft.

🔎 Motivated seller leads and FSBO leads

motivatedSellerOnly, minPriceCutPct and minDaysOnZillow keep sellers likely to negotiate. contactRoute (e-mail → phone → Zillow's contact form) leads the Outreach view; fetchDetails adds the agent and real tax / HOA to the shortlist (maxDetailFetches), writeOfferNote an AI note to the agent or owner plus, on hot deals, a one-page letter of intent (PDF, offerLetterUrl) with blanks for your price — in the AI price.

👀 Watchlist — alerts on the listings you follow

sourceMode: watchlist + watchlist (zpids or listing URLs): each run re-checks them (≈ $0.0036 a listing) and charges only a price or status change (watchChange, previousPrice, previousStatus).

🚀 How to use it

  1. Click Try it — the free demo scores 6 sample Cleveland / Columbus listings; it works as is.
  2. Type your market into Cities or ZIP codes (Memphis, TN, 44109) — that switches the demo to the live search. Keep enableAi on — your first 25 deals show the memo free.
  3. Press Start — deals land best-first in the Shortlist, Deal math, Flip math, Motivated sellers and Outreach views.
  4. Make it your daily deal alert — the first live run's status offers it: Save as a new task → Schedule, with notifyEmail. OUTPUT.scheduleInput holds that run's exact input; only new deals and new price cuts are charged.

Outreach view — how to reach each seller, the broker, the seller's own words and the red flags to check before you call

📚 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
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 forevery row, rentals and duplicates tooevery row, even excluded propertiesonly deals that pass — junk costs $0
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 mathraw fieldscash-flow scenarioscap rate, cash flow, CoC, 1% rule, flip math, ZIP comps, price cuts
Repeat runssame listings againsame listings againonly 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-finderoptirefine/real-estate-deal-finderseibs.co/house-flipper-leadsThis 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 forevery foreclosure / auction rowevery listing returnedevery listing, more for good onesonly deals that pass your rules
Cash flow at your termsrent estimate onlynonoyes — cap rate, CoC, 1% rule
Flip mathcompsdistress score onlyARV, max offerARV (sold comps on request), 70% max offer, profit

💸 Cheaper than a PropStream seat — a PropStream alternative and DealCheck alternative

PropStreamDealCheckMashvisorThis 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 dealslist buildingno — you type each propertymarket datayes — 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.

EventWhen it is chargedPrice
free-tieryour first 25 qualified deals, any mode$0.00
qualified-deal-basicAI off — Zillow fields, deal and flip math, signals, rule score and memo$0.004
qualified-deal-aiAI 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.

One free tier, one AI reserve: when the AI is unavailable, rule-scored rows use your free deals down to 5 kept for the AI — the status says "N of your 25 free deals left, 5 kept for the AI".

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 through Apify's model access, or your own key) — 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, default model anthropic/claude-haiku-4.5, sample for the demo listing) against the brief "Cash-flowing 3+ bedroom single-family homes under $200k in Ohio; light rehab is fine, no condos with high HOA.":

{"fitScore": 88, "score": 92, "assessedBy": "ai", "condition": "light-rehab",
"scoreReasons": ["homeType SINGLE_FAMILY with 3 bedrooms at $89,900", "monthlyCashFlow +$428 at 25% down", "isFSBO true"],
"aiSummary": "3-bed single-family FSBO at $89,900, 14.0% below its $104,500 Zestimate, cash-flowing +$428/mo (cap rate 11.7%). On Zillow 96 days and marketed as-is for cash buyers — expect light rehab.",
"redFlags": ["Sold as-is, cash only — financing may not be accepted", "Only 9 photos on the listing"],
"upsides": ["20.4% cash-on-cash", "$/sqft 13.3% under the ZIP 44109 median", "Owner-listed: negotiate directly"],
"dealPitch": "FSBO 3-bed in Cleveland 44109 at $89,900, +$428/mo at 25% down — owner open to cash offers"}

The AI reads the listing like an analyst — the 10 minutes per listing you spend before calling.

⚙️ Input

Start with locations, minScore, listingGoal, your deal criteria, enableAi, maxDiscoveryChargeUsd and notifyEmail; everything else has a sensible default.

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/homedetails/2255-Demo-Rd-Cleveland-OH-44109/900000103_zpid/", "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

  1. Save as a new task → Schedule (daily or weekly) with notifyEmail — the first live run's status offers it and OUTPUT.scheduleInput holds its exact input; every run with new deals e-mails you the digest and the trend.
  2. Keep dedupeAcrossRuns and alertOnPriceCut on — the next run delivers only new deals and price drops (isNewPriceCut). The memory is kept per search (places, URLs, listingGoal): rewording investorGoal keeps it; a changed search starts a new one and the status says so. One dedupeStoreName per client keeps their lists apart.
  3. Add slackWebhookUrl, or push rows to Google Sheets / n8n / Make — docs/marketing/kit/integrations.md.

Weekly cost is the new deals only: 3 cities × 200 listings = $1.38 source + ≈ 20 new deals × $0.015 ≈ $1.68 a week.

🎯 Try it for your niche

NicheWhat it looks forStart
Buy-and-holdcash flow ≥ $150/mo, 3+ beds, Clevelandthe buy-and-hold input below
Wholesale / flip10%+ under Zestimate, motivated sellers, Akronthe wholesale / flip input below

🔌 Integrations, automation and API

  • Webhook — webhookUrl POSTs {"event": "deal.qualified", "deal": {…}, "runId": "…"} per deal, or with webhookBatchSize > 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.
  • 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 investorsee which listings cash-flow — an investment property finderlocations + minMonthlyCashFlow
Wholesaler / flipperfind motivated sellers and a max offer under the 70% rulelistingGoal: flip, motivatedSellerOnly
Investor-friendly agentsend clients a deal list and a ZIP market reporta schedule + notifyEmail, REPORT, MARKET_REPORT
Proptech / AI agentfeed typed, scored rows to a CRM or an agentthe 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. fitScore rates the listing against investorGoal; score blends it 40/60 with the rule score.
  • Model. anthropic/claude-haiku-4.5 through Apify's model access, or llmProvider: "byok"; only listings that passed every free filter reach it, and a failed call keeps the rule score (assessedBy: ai-fallback).

🔒 Data, compliance and limits

  • Only what Zillow publishes; broker and agent contacts as published. No login, no skip tracing.
  • The math is an estimate — not financial advice. ZIP medians need ≥ 3 listings of the ZIP.
  • Keep your use within Zillow's terms and applicable law (GDPR, CCPA).

❓ FAQ

How much will one run cost me? One city × 200 listings: $0.46 for Zillow Search Scraper on your account, then $0.015 per qualified deal with AI (≈ 30 → $0.45) plus ≈ $0.06 tokens — ≈ $0.97 ($0.58 with AI off); the first 25 deals are free.

What will my first real search cost? At most 200 listings × $0.0023 = $0.46, capped by maxDiscoveryChargeUsd ($0.50); the first 25 qualified deals are 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 to the provider's hint after a rate limit (aiPaceSecs); a used-up quota is detected within ≈ 20 s ("the key's quota looks used up") and the deals keep their rule score. Own-key throughput is not measured yet. Worst case ≈ 10 min per 100 deals — 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:

🆘 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.2 (2026-09-27) — Store card says "no start fee"; runs and prices unchanged.
  • 0.3.1 (2026-09-26) — rentComps (ZIP rent comps) and soldComps (sold-comp ARV); offer letter PDF (offerLetterUrl) on hot AI deals; memory kept per search, not per investorGoal wording; a used-up own key stops the AI within ≈ 20 s; the first live run offers a schedule (OUTPUT.scheduleInput); tidier status texts.
  • 0.2.1 (2026-09-26) — shorter AI-on status (cause in the status, the fix in nextSteps), own-key calls paced to the provider's retry hint, one free tier with a 5-deal AI reserve said as "N of your 25 free deals left", rows without a price named in the status.
  • 0.2 (2026-09-26) — city / ZIP input (locations), watchlist mode, flip math, contactRoute, rentFallbackPct, MARKET_REPORT; AI tier $0.015; breaking: dealScore → score, aiScore → fitScore (the twins are gone).
  • 0.1.1 (2026-09-26) — first public release with deal math, ZIP comps, motivated-seller signals and the AI deal memo.
  • 0.1 (2026-09-26) — initial release.