🏠 Zillow Agents Finder
Pricing
from $2.99 / 1,000 results
🏠 Zillow Agents Finder
Extract real estate agents and mortgage lenders from Zillow at scale — by URL, screen name, or location-based directory search.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
ScrapAPI
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
7 days ago
Last modified
Categories
Share
🏠 Zillow Agents & Lenders Finder
Extract real estate agents and mortgage lenders from Zillow at scale — by URL, screen name, or location-based directory search. Built with a smart 3-tier proxy fallback ladder that automatically routes around blocks without you lifting a finger.
🤔 Why Choose Us?
- 🪜 Smart proxy ladder — starts direct, escalates to Apify Datacenter → Residential only when Zillow pushes back. No wasted proxy spend on requests that work.
- 🧾 Two output shapes — flip Full Agent Detail on for sales stats / licenses / phones / service areas, or keep it off for a slim card-style dataset.
- 💰 Lenders too — same directory + profile pipeline, with a
lender_fieldsallowlist to trim the payload. - 🔍 Bulk inputs — paste 1 or 10 000 profile URLs, screen names, or agent names — all in one field.
- 🌍 Filters that matter — specialty, language, top-agent, buying/selling, lender sort order.
- 📊 Live dataset push — every scraped profile lands in the dataset as soon as it's parsed, so a crash never costs you the run.
- 📋 Three pre-built views — Overview, Agent Detail, Lenders — switch in the Console without writing a query.
✨ Key Features
- ✅ Search agents or lenders by city / state
- ✅ Fetch profiles directly by URL or
@ScreenName - ✅ Profile sub-tabs —
sales,rentals,sold,reviews - ✅ Specialty filter — 12 Zillow specialties (luxury, foreclosure, military, …)
- ✅ Language filter — 24 languages
- ✅ Top Agent / Buying / Selling flags
- ✅ Sort lenders by relevance, location, or rating
- ✅ Pulls real rating from the HTML (not the cached JSON average)
- ✅ Live partial results — push happens per-profile, mid-run crashes never lose data
🔗 Input
| Field | Type | Required | Description |
|---|---|---|---|
urls | array<string> | ⚪ | Bulk URLs / @screenNames / agent names. Empty = pure directory crawl. |
operation | string | ⚪ | agents (default) or lenders |
location | string | ⚪* | City / state geo seed. *Required unless every urls item is a direct URL or @name. |
limit | integer | ⚪ | Max records (0 = unlimited). Default 20. |
agent_detail_info | boolean | ⚪ | true → full profile; false → compact card |
specialty | string | ⚪ | One of 12 Zillow specialty slugs |
language | string | ⚪ | One of 24 languages |
is_top_agent / is_buying / is_selling | boolean | ⚪ | Agent filters |
sort_lenders | string | ⚪ | relevance / location / rating |
lender_fields | array<string> | ⚪ | Multi-select allowlist of lender fields (dropdown: aboutMe, address, cellPhone, companyName, confirmedReviews, contactLenderFormDisclaimer, employerMemberFDIC, employerScreenName, equalHousingLogo, faxPhone, hideCellPhone, individualName, languagesSpoken, memberFDIC, nmlsType, officePhone, rating, recentReviews, stateLicenses, stateSponsorships, title, totalReviews) |
proxyConfiguration | object | ⚪ | Optional override. Default = no proxy + auto-escalation. |
💡 Example input
{"operation": "agents","location": "New York","limit": 20,"agent_detail_info": false,"urls": []}
{"operation": "agents","urls": ["https://www.zillow.com/profile/REMAX EDGE","@Teresa Stephenson","Matthew Bizzarro"],"location": "New York","agent_detail_info": true}
📤 Output
Compact agent record (agent_detail_info: false)
{"avatar": "https://photos.zillowstatic.com/fp/.../h_l.jpg","business": "RE/MAX EDGE","id": "X1-ZUytouqbzgwsnd_75224","location": "Brooklyn, NY","name": "REMAX EDGE","phone": "(718) 612-3088","rating": 5.0,"reviews": { "count": 2640 },"screenName": "REMAX EDGE","url": "https://www.zillow.com/profile/REMAX EDGE"}
Full agent record (agent_detail_info: true)
{"id": "...","name": "Matthew Bizzarro","screenName": "Matthew Bizzarro","url": "https://www.zillow.com/profile/Matthew Bizzarro","avatar": "...","business": "The Bizzarro Agency","rating": 5.0,"yearsOfExperience": 17,"reviews": { "count": 911 },"serviceAreas": [{ "name": "Manhattan, NY", "url": "/homes/Manhattan-NY/" }],"email": "agent@example.com","phone": "(917) 473-8368","phones": { "cell": "...", "brokerage": "...", "business": "..." },"address": { "line1": "...", "city": "New York", "state": "NY", "postalCode": "10001", "full": "..." },"licenses": {"Real estate licenses": [{ "License No.": "10301...", "issued by": "NY", "status": "Active", "expiration": "2026-...-..." }],"otherLicenses": []},"salesStats": {"countAllTime": 234, "countLastYear": 45,"priceRangeThreeYearMin": 350000, "priceRangeThreeYearMax": 12500000,"averageValueThreeYear": 1850000,"statsIncludeTeam": true, "pastSalesTotal": 234}}
Lender record (no allowlist)
{"id": "...","name": "Jane Banker","screenName": "janebanker","url": "https://www.zillow.com/lender-profile/janebanker","avatar": "...","business": "First Republic","nmlsLicense": "1234567","phone": "(212) 555-0100","email": "jane@example.com","address": { "line1": "...", "city": "New York", "state": "NY", "postalCode": "10001" },"rating": 4.9,"reviews": { "count": 87 },"languages": ["English", "Spanish"],"specialties": ["First-time home buyers"]}
🪜 How the smart proxy ladder works
┌──────────┐ blocked? ┌──────────────┐ blocked? ┌──────────────┐│ 🌐 Direct │ ─────────────▶ │ 🏢 Datacenter │ ─────────────▶ │ 🏠 Residential│ × 3 retries└──────────┘ └──────────────┘ └──────────────┘
- Default — every request goes out direct (no proxy spend).
- On HTTP
403/429/captcha/empty-body, the actor switches to Apify Datacenter. - If datacenter also gets blocked, it switches to Apify Residential with 3 retries.
- Once escalated, the actor stays on the new tier for the rest of the run.
- You can override the starting tier in
proxyConfiguration— explicit choices are respected.
Every escalation is logged with a clear ⛔ → 🏠 message.
🚀 How to Use (Apify Console)
- Log in at console.apify.com → Actors.
- Open 🏠 Zillow Agents & Lenders Finder.
- Pick Operation =
agentsorlenders. - Set a Location (e.g.
New York) and/or paste profile URLs/@names. - Tune filters (specialty, language, top-agent, …) if you want.
- Click Start ▶️.
- Watch the live log — every scraped profile prints with name / rating / location.
- Open the Output tab → switch between Overview, Agent Detail, Lenders views.
- Export as JSON / CSV / XLSX from the Output tab.
🤖 Use via API
curl -X POST "https://api.apify.com/v2/acts/<USER>~zillow-agents-finder/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"operation": "agents","location": "New York","limit": 10,"agent_detail_info": false}'
💼 Best Use Cases
- 🎯 Lead generation for real estate SaaS
- 📈 Market intelligence on top agents per metro
- 🏘️ Building an agent directory for a real-estate portal
- 💰 Comparing lender NMLS coverage by language / specialty
- 📊 Tracking agent sales-volume trends across markets
💵 Pricing
This actor uses Apify's Pay-Per-Event model. You're billed per successfully scraped profile (result-item) plus the standard platform startup. Limits are respected: if your spend limit is reached mid-run, the actor exits cleanly with whatever was already pushed to the dataset.
❓ FAQ
Q: Does it work without a proxy? A: Yes — that's the default. It only spends proxy budget if Zillow blocks the direct request.
Q: What if Zillow rate-limits my run? A: The actor escalates automatically (Direct → Datacenter → Residential, 3 retries) and stays on the highest tier reached. You'll see ⛔ → 🏠 messages in the log.
Q: Can I get just the screen names without the full profile?
A: Not currently — the actor always fetches the profile page to pull phone / rating / business. Toggle agent_detail_info: false to keep the dataset slim.
Q: Can I search a sub-tab like reviews or sold?
A: Yes — prefix the screen name with @ and append the sub-tab, e.g. @Matthew Bizzarro/reviews, or pass the full URL with the sub-tab path.
Q: What languages and specialties are supported? A: 24 languages and 12 specialties — pick from the dropdowns in the input form, or pass the slug directly.
Q: How do I narrow lender output?
A: Pick the field names you want from the Lender Field Allowlist dropdown (e.g. ["companyName","officePhone","nmlsType","rating","totalReviews"]). Empty = every field.
📣 Support & Feedback
Found a bug or want a new filter? Open an issue on the actor's Issues tab in the Apify Console.
⚠️ Cautions / Legal
- Data is collected only from publicly available profile pages on Zillow.
- This actor does not access private or authenticated content.
- You are responsible for legal compliance (GDPR, CCPA, anti-spam laws, Zillow ToS).
- Honor reasonable rate limits — being a good citizen reduces blocks too.
