How One Operator Turned Zillow + Claude Into a $10,237/m AI Agency. No Cold Calls. No Ads. No Face

Eight months ago he had a laptop, a $20 Claude sub, and a Zillow tab open at 2am.
No real-estate license, no team, no paid traffic, no fancy CRM, no warm intros.
Last month he cleared $10,237 from one product: AI-generated property intel reports for solo agents and small investors. Most of his clients have never seen his face. A few do not even know he is one person.
The whole thing is 6 steps. Claude does the heavy lifting on 5 of them. Zillow does the rest.
Here is the exact build, with the prompts he actually pastes, the prices he actually charges, and the mistakes that nearly killed it twice.
AUTHORITY FRAME: he is the wrong person to be telling you this
He is not a realtor. He never sold a house. He spent 4 years inside SaaS analytics tools, watching how operators turn raw data into a decision. Real-estate agents do not have that layer. They have Zillow, a phone, and 19 tabs.
That gap is the entire business. He does not sell data. He sells the decision — pre-chewed, dated, delivered at 6:45am. You do not need a real-estate background. You need a niche, one scraper, and Claude.
THE MONEY MATH (do this before you build anything)
Solo real-estate agents pay $97-$297/month for "deal flow" services that are 80% spam.
Small investors pay $500-$2,000 per market study from boutique consultants who take 3 weeks to deliver.
He sits in the middle. He sells AI-generated property and neighborhood intel at $149/mo per agent and $499 one-off per investor. Faster than the consultants, cheaper than the SaaS, more specific than both.
His numbers last month:
- 47 agent subscriptions × $149 = $7,003
- 6 investor one-offs × $499 = $2,994
- 1 brokerage white-label seat = $240
- Total: $10,237
Stack cost: $74/mo. Margin: 99.3%. The arbitrage is between human-grade analyst output and machine-grade speed, and the machine half is now nearly free.
STEP 1 - Pick the niche before writing a single line of code
Most people start with the tool. Wrong move.
Start with the buyer. Solo agents in mid-size US metros (population 200k-800k) are the sweet spot:
- They cannot afford a full data team.
- They are drowning in Zillow tabs every morning.
- Their commission cheques are $6k-$18k a pop, so $149/mo is a rounding error to them.
- They will pay to have the work done before their coffee.
Avoid: top-10 metros (saturated, agents already pay for MLS-grade Compass and CoStar tools), rural areas (low transaction volume kills the math), luxury (different sales cycle, agents there have personal data analysts).
The fastest way to validate is to let Claude do the ranking:
Promt:
You are a real-estate market analyst.
I am picking a US metro to launch an AI-driven property intel service for solo agents. Score these metros from 1-10 on:
- agent density vs population
- median days-on-market (lower = hotter)
- price band the average agent works in
- existing competition from MLS-paid toolsMetros: Boise ID, Greenville SC, Knoxville TN, Tucson AZ, Des Moines IA, Spokane WA.
Return a table with score, one-line reasoning, and the single best metro to start.
He started with Greenville SC. First 5 customers in 11 days. The model picked it because of high agent density, sub-30-day DOM, and zero local AI competition. Boutique consultants up there were quoting $1,400 for what Claude does for $0.18 of tokens.
STEP 2 - Build the Zillow scraper that does not get blocked
You do not need a paid API. You do not need Selenium. You need a polite scraper that pulls 30-80 listings per day per ZIP, not 10,000. Zillow's anti-bot tolerates this level easily because it looks like a human flipping through search results before bed.
Stack: Playwright + Python on a $6 DigitalOcean droplet + rotating residential proxies ($12/mo on IPRoyal). Claude writes the whole thing in one prompt:
Promt:
Write a Python script using Playwright that:
- accepts a list of Zillow search URLs (one per ZIP code)
- opens each URL with a real Chromium browser, viewport 1366x768, en-US locale
- waits for cards to render, scrolls 3 times with 800ms human-style pauses
- extracts: address, price, beds, baths, sqft, days on Zillow, price-cut flag, lot size, year built, agent name, listing URL
- writes results to a single CSV with a scrape_date column
- uses a proxy env var ZS_PROXY and a random user agent from a pool of 6
- retries each URL up to 2 times on failure with 15s backoff
- caps the run at 80 listings per ZIPMake it modular: scraper.py for the extraction, runner.py for the orchestration.
Include a clear error log written to scraper.log.
What the script gives him: a daily CSV with every new listing and every price cut in his target ZIPs. This is the raw material he sells. The first version Claude wrote ran for 8 months without a single block. He rebuilt it twice not because Zillow caught him, but because he wanted cleaner schemas.
STEP 3 - Turn raw rows into a $149 report Claude writes for him
This is the magic step. Zillow gives him data. Claude gives him opinion. Agents pay for opinion. They do not buy a spreadsheet, they buy a decision they can text to a buyer at 7:02am with no thinking required.
Every morning the scraper drops a CSV. He feeds it to Claude with this exact prompt:
Promt:
You are a senior real-estate analyst writing a daily Deal Intel Brief for a solo agent working ZIP codes [LIST].
The brief goes out at 7am local time.
Input: a CSV of yesterday's Zillow activity (attached).
Produce a 1-page brief with these sections:
1. Top 5 new listings worth a same-day showing (with one-line reason each)
2. Top 3 price cuts that signal a motivated seller (with cut % and how to pitch)
3. Stale listings over 60 DOM ripe for a "let's talk to the seller" call
4. One neighborhood trend the agent can text their buyer pool today
5. Three first-message scripts (text, email, voicemail) the agent can copy-pasteTone: confident, specific, no fluff. Use exact addresses and dollar amounts.
Sign it "Generated by [Brand] - your unfair advantage before 7am."
Output is a clean Markdown file. He converts it to PDF with pandoc and emails it to the agent at 6:45am via a $0 SMTP service. He tested this on 3 agents for free for 7 days. All 3 paid the $149 on day 8. One of them messaged him three months later: "I do not even open Zillow before noon any more, your brief is my morning."
That sentence is what the $7,003/mo line is built on. Replace "checking Zillow" with "reading the brief" and the agent will never churn.
STEP 4 - Add the investor product (one-off $499 deep dives)
Investors do not want a daily brief. They want a 12-page market thesis on a specific ZIP or sub-market they are about to commit $400k+ to. He builds it on top of the same scraped data, just with a wider lens (90 days of history instead of 1).
Promt:
You are a real-estate investment analyst writing a $499 market thesis for a small investor evaluating ZIP [XXXXX] for buy-and-hold single-family rentals.
Use the attached 90-day Zillow dataset. Produce a 12-page report with:
- Executive summary (1 page, 4 bullet conclusions)
- Price trend with monthly medians and the inflection points
- Inventory & DOM trend (is it tightening or loosening, by how much)
- Price-cut frequency as a leading indicator
- Top 10 likely-undervalued listings with comp-based estimated fair value
- Rent comp ranges from public rental data sources (cite them)
- Cap-rate scenarios at 8%, 9%, 10% on the top 10
- Risk section (school ratings shift, zoning, permitting backlog, climate)
- A 3-sentence "would I buy here today" verdictFormat every page so it can drop into a Word template without re-flow.
Tone: institutional, but readable. No emojis. No exclamation marks.
He sells 5-8 of these a month at $499. Six in May = $2,994. The conversion trick: attach a 1-page free preview (executive summary only) to the cold email. About 35% of the people who open the preview pay for the full 12 pages within 48 hours. $174 EPC on a single email.
WHY THIS IS WORKING NOW (the macro window)
For ten years the moat in real-estate data was MLS access. Brokerages paid five-figure annual fees, outsiders were locked out. Three things just collapsed that moat in parallel:
- Zillow's public data is fresh enough for 90% of decisions.
- A $20/mo model reads a 1,500-row CSV and produces institutional-grade opinion in 40 seconds.
- Solo agents finally know what AI is and are stuck between curiosity and not knowing where to start.
The next 12 months are the window. Once Compass ships their own version (rumored Q3), agents still pay him because his is faster and not built by a company that competes with them for leads. After 24 months, the price drops to $49 and margins compress. Capture the audience now while the price is still $149.
STEP 5 - Get the first 10 clients without ads
He did not need ads. He needed to be the first useful thing in an agent's inbox.
Run the scraper on the target metro for one week. Generate a free sample brief for 30 named agents using their actual ZIPs (he finds their ZIPs from their Zillow profile or Realtor.com page in under 2 minutes per agent). Send it cold via a script:
Promt:
Write a cold outreach email I can send to a solo real-estate agent in [METRO].
Context: I have already generated a real Deal Intel Brief for their specific ZIPs using yesterday's Zillow data. The brief is attached as a PDF.
Constraints:
- Under 90 words
- Subject line under 7 words, not clickbait
- First sentence references one specific listing from their ZIP by address
- No "I hope this email finds you well"
- No "circle back"
- End with one yes/no question, not a meeting ask
- Sign-off: just my first nameWrite 5 variations I can A/B.
Reply rate on his first batch: 22%. Conversion to paid trial: 6 of 30. Conversion to paid after trial: 4 of 6. That is a 13% cold-to-paid rate on a list of 30. Nobody in B2B SaaS gets those numbers. The reason is brutal: the email arrives with proof of value already attached. The agent does not have to imagine it.
He does this once a week in a new metro. The funnel compounds. By month 4 agents started referring other agents in the same office, which is the cheapest customer acquisition channel ever invented.
STEP 6 - Productize and white-label to brokerages
Once he had 30+ agent subscribers, brokerages started to notice. The managing broker sees three of his agents quoting "the morning brief" in Slack and wants it for the whole office, branded as theirs.
He sells it as a $240-$600/mo white-label seat per brokerage (1-30 agents). Same product, their logo, their tone. Claude handles the rebrand:
Promt:
Rewrite the standard Deal Intel Brief template so it reads as if it was produced in-house by [BROKERAGE NAME]. Specifically:
- Replace my brand voice with theirs (sample: [paste 2 of their listings descriptions])
- Insert their managing broker's name as the sign-off
- Add a 2-sentence "from the broker's desk" intro that references the local market
- Keep all numbers and conclusions identical
- Output as a clean Markdown template with placeholder tokens like {{BROKER_NAME}}Then write a 60-word pitch I can send to the managing broker.
One brokerage in month 6. Two more pending for months 8-9. This is where he crosses $20k/mo without adding a single direct subscriber. Brokerages do not negotiate hard at $240. They are used to spending that on a single Google ad clickthrough.
WHAT IT COSTS
- Claude Pro: $20/mo
- Playwright + Python on a $6 DigitalOcean droplet: $6/mo
- IPRoyal residential proxies (10GB): $12/mo
- Postmark email service: $15/mo
- Domain + Google Workspace: $15/mo
- Stripe (no monthly): $0
- Miscellaneous (Notion, GitHub, etc.): $6/mo
- Total: $74/mo
Margin on $10,237 last month: $10,163. That is 99.3%. There is no other service business with that margin profile other than software, and he did not write the software.
WHERE IT BREAKS (5 mistakes that almost killed it)
Mistake 1: Scraping too aggressively. His first build pulled 5,000 listings a day across 12 metros. He was blocked in 48 hours and lost a week debugging proxies. Keep it under 80 per ZIP per day. Zillow does not mind. Their lawyers mind.
Mistake 2: Selling to top-10 metros first. He spent month 2 chasing Austin and Miami agents. Both markets are saturated with paid tools and the agents have ad fatigue. Pivoting to mid-size metros doubled his reply rate in 11 days.
Mistake 3: Writing the brief himself "just at the start." He did this for 21 days. He burned out, missed deliveries, and almost lost two customers. From day 1, Claude must write every brief. Your job is the client, not the prose.
Mistake 4: Pricing too low. He started at $49/mo and got tire-kickers who emailed him daily asking for tweaks. Raised to $149 in month 3 and the new customers were calmer, more professional, and stayed longer. Counter-intuitive but absolutely true.
Mistake 5: No fixed daily delivery time. The brief must hit the inbox between 6:30 and 7:00 local. Late by an hour and the morning-showings angle is gone. The first time his cron job slipped by 90 minutes, two agents emailed within the day to cancel. Lock the time. Send even if it is rough.
THE REAL INSIGHT
For ten years the moat in real-estate data was access. That moat is gone.
The new moat is interpretation delivered before the agent finishes their first coffee.
Zillow is the raw material. Claude is the labor. He is the brand and the speed.
$74 a month against $10,000. The arbitrage will not last forever, but it will last long enough.
Found this useful? Hit follow.
Stay a step ahead. I'll help you get there.
Yours,@0xAIGOATexe






