Zillow Agents Scraper: Agent Leads, Sales, Reviews avatar

Zillow Agents Scraper: Agent Leads, Sales, Reviews

Pricing

from $1.14 / 1,000 agents

Go to Apify Store
Zillow Agents Scraper: Agent Leads, Sales, Reviews

Zillow Agents Scraper: Agent Leads, Sales, Reviews

Scrape Zillow real estate agents by city, ZIP code or whole state, or by profile link: name, brokerage, team, Top Agent badge, rating, reviews, sales and price range. Add the profile, licences, every review, past sale and listing. Zillow's filters are checked; misses are free. JSON, CSV, API.

Pricing

from $1.14 / 1,000 agents

Rating

0.0

(0)

Developer

Automation Craft

Automation Craft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Zillow Agents Scraper: Agent Leads, Sales, Reviews

Zillow agents scraper: search Zillow's real estate agent directory by city, neighborhood, ZIP code or a whole state, or look agents up by profile link, screen name or Zillow id, and get one row per agent or team: name, brokerage, team or individual, Top Agent badge, rating, number of reviews, sales in the last 12 months, sales in the searched place, price range, photo and profile link. Add Agent details for the agent's Zillow profile (brokerage address and phone, licences with expiry, bio, years in business, specialties, languages, service areas, sales statistics, team members, recent sales, listings and reviews), and Reviews, Past sales and Listings for every review, every home sold and every home listed today, each up to the number you set. Zillow's own filters (specialties, languages, sale price, buyer's and listing agents, Top Agents, name) are sent and checked on every page. No login, no Zillow API key, no browser. A place Zillow does not search, an agent it does not have, or an agent your filters leave out is a free row, never a charge.

Quick start

  1. Put one or more places in Locations: a city with its state (Austin, TX), a neighborhood with its city and state (Hyde Park, Austin, TX), a ZIP code (78704) or a state (TX).
  2. Set Agents per search (100 when left empty; Zillow shows at most 375 agents for one search, see "More than 375 agents" below).
  3. Optional: turn on Agent details, Reviews, Past sales or Listings, and the filters you need.
  4. Run. Each agent is one row; each search also gets a free coverage row saying how many of Zillow's agents were read.

To look agents up directly, put profile links (https://www.zillow.com/profile/ericbramlett), screen names (ericbramlett) or Zillow agent ids (X1-ZU...) in Agents to look up: each comes with its profile (Agent details).

What you get

One row per agent or team (type: "agent"), read from Zillow's agent finder. Fill measured on 507 agents of 78 directory pages (Austin, Dayton, Twin Bridges MT, Boise, Miami, Seattle, Houston, Washington DC, ZIP 78704; 2026-10-29):

FieldWhat it holdsFilled
name, screenName, encodedZuid (id), profileUrlthe agent or team as Zillow names it; its Zillow id and profile100 percent
businessNamethe brokerage or team on the card100 percent
photoUrlthe profile photo100 percent
isTeam, isTopAgent, tagsZillow's TEAM tag (30 percent of agents) and Top Agent badge (14 percent)100 percent
reviewCount, ratingreviews on Zillow, average rating 0 to 5100, 98 percent
salesLast12Monthssales in the last 12 months as Zillow shows them (0 when Zillow says none; a team card shows the team's)94 percent (57 with sales)
salesInSearchedPlacesales in the searched city, neighborhood or ZIP code87 percent
priceRangeText, priceRangeLow, priceRangeHighthe sale price range Zillow shows ("$97K - $9.5M") and its numbers as shown72 percent
search, rank, pagethe search that found the agent (your input's label, the place, the filters, the walk) and its place in Zillow's orderalways

Agent details (add-on)

The agent's profile page, in details. Fill measured on 37 profiles of 10 places (2026-10-29):

FieldFilled
brokerage name and address (details.brokerage)37 of 37
sales statistics: last 12 months, total, average price, price range (text and numbers)37 of 37
specialties, service areas, member since37, 36, 37 of 37
bio, title, years in business36, 30, 28 of 37
licences with number, state, status and expiry (details.licenses)31 of 37
other licences (with their descriptions), MLS ids22, 23 of 37
website, Facebook, video33, 25, 9 of 37
brokerage or office phone, where Zillow shows one29 of 37 (84 of 300 Chicago profiles)
team members with their ratings (team leads), the team lead (members)15 of 37 leads
AI summary of reviews and sales20 of 37
languages besides English12 of 37
listings for sale and for rent (counts, 5 each), past sales (total, 5), 10 recent reviews, review breakdown by kind, review keywords37 of 37
nearby cities, neighborhoods and ZIP codes; the centre of the agent's sales map37 of 37
the agent's own cell and business phone and e-mail, with includePersonalData37 of 37 (cell), 29 of 37 (business)

Reviews, past sales and listings (add-ons)

  • Reviews (reviews): every review of the agent, up to the number you set (50 when left empty, 5,000 at most): rating, date, author's display name, text, the deal it was about, the four sub ratings and the agent's reply. Sorted newest first or by rating, filtered by Zillow's own kinds (helped me buy, sell, both, did not work out, renting, never responded).
  • Past sales (pastSales): every home the agent sold or helped buy, newest first, up to the number you set (100 when left empty, 10,000 at most): address, Zillow link and zpid, date, side (buyer, seller), price where the state discloses it (Texas does not), beds, baths, living area.
  • Listings (listings): the homes the agent lists today, for sale and/or for rent, up to the number you set per kind (50 when left empty): address, link, price, status, beds, baths, living area, and Zillow's card labels (badges: "Showcase", "3D Tour", open house times).

For a team lead, Zillow's lists include the team's reviews, sales and listings.

More than 375 agents in a city

Zillow's agent finder shows at most 375 agents for one search (25 pages of 15), whatever its count says (Austin: 17,228). The coverage row says how many of the count were read. Turn on Read past Zillow's 375 agents a search (splitPastCap) to read on through the city's ZIP codes (Census 2020) and/or Zillow's sale price bands, each again up to 375 agents; an agent found in several of them is delivered and charged once. Measured on Austin: the city's own 375 agents, plus six of its ZIP codes, gave 989 different agents; plus six price bands 912; all thirteen walks 1,280.

Whole states

A state (TX or Texas) is read as its cities, largest first (Census 2024 estimates of incorporated places), each a city search; an agent found in several cities is delivered once; Agents per search counts the state as one search. Zillow's agent finder has no state search of its own: given a state's name it answers its largest city, so this Actor never sends one. "New York" and "Washington" are both a state and a large city: write New York, NY for the city and NY for the state.

Neighborhoods

Zillow's agent finder also searches a neighborhood (Hyde Park, Austin, TX, or its link https://www.zillow.com/professionals/real-estate-agent-reviews/hyde-park-austin-tx/), up to 375 agents like a city, in Zillow's own order for that neighborhood: of the first 15 agents of three Austin neighborhoods, 7 to 10 were among Austin's own first 15 (2026-10-29). Each page is checked to be that neighborhood; one Zillow does not know is a free row.

Looking up agents

A profile link or a screen name reads the agent's profile. A Zillow agent id (X1-ZU...) has no page of its own: the Actor finds the profile through the agent's reviews (and its team) and delivers it only when that profile carries the same id; otherwise the id is a free row. A looked up agent always comes with Agent details. Search filters apply to searches only.

The coverage row

One free row per search (type: "search"): Zillow's count (agentsFound), the agents read (agentsReached) and delivered, those already delivered by an earlier search of the run, those your filters left out, pages read and failed, and complete with the reason when it is not (max_agents_per_search, directory_reach_375, no_matches_in_five_pages, place_not_served ...).

Market report (free)

With Market report, the run saves REPORT (HTML) in its key-value store: the brokerages with the most agents, licence states, the median sales in the last 12 months, the Top Agent and Premier Agent shares, and the 25 agents with the most sales.

How much does it cost to scrape Zillow agents?

You pay per event, with Apify's store discounts by plan:

EventFree planBronzeSilverGold
Agent (one agent or team)$1.59 per 1,000$1.45 per 1,000$1.32 per 1,000$1.14 per 1,000
Agent details (add-on, per agent whose profile is in the row)$1.30 per 1,000$1.28 per 1,000$1.16 per 1,000$1.00 per 1,000
Review (add-on, per review delivered)$0.42 per 1,000$0.38 per 1,000$0.35 per 1,000$0.30 per 1,000
Past sale (add-on, per sale delivered)$0.42 per 1,000$0.38 per 1,000$0.35 per 1,000$0.30 per 1,000
Listing (add-on, per listing delivered)$0.42 per 1,000$0.38 per 1,000$0.35 per 1,000$0.30 per 1,000
Actor start (once per run, charged on every run)$0.0075$0.0075$0.0075$0.0075

Platinum and Diamond plans pay the Gold price.

The Store pricing card shows these same prices per 1,000 events: "$1.14 / 1,000" on the Agent row means one agent costs USD 0.00114.

  • Never billed: places Zillow does not search or does not know, agents it does not have, ids that cannot be tied to a profile, an agent met twice in one run (another search, a ZIP code, a price band, a city of a state, a lookup), agents your filters leave out, agents past your caps or the run's maximum cost, add-on lists that could not be read, coverage rows, status rows, the summary and the market report. The Actor start event is charged on every run, whatever it delivers: an input with nothing usable delivers nothing, and only the run's start fee is charged.
  • The run obeys the maximum cost you set for it: an agent whose Agent event (and Agent details, when on) the limit cannot pay is not read or delivered, and neither is any agent after it; reviews, sales and listings that do not fit are cut from the row (its status says cut_by_charge_limit).
  • Example on the Gold plan: 1,000 agents cost $0.0075 (start) + $1.14 = about $1.15; with Agent details add $1.00: about $2.15. One agent costs $0.0075 + $0.00114 = about $0.0086. 20 agents with details, 100 reviews, 100 sales and 50 listings each: $0.0075 + 20 x ($0.00114 + $0.001) + 5,000 items x $0.0003 = about $1.55.
  • The same 1,000 agents on the Free plan: $0.0075 + $1.59 = about $1.60; with Agent details about $2.90.

Input

SettingWhat it does
locationsCities with their state, neighborhoods with their city and state, 5 digit ZIP codes, or states. Up to 1,000.
searchUrlsZillow agent directory links (https://www.zillow.com/professionals/real-estate-agent-reviews/austin-tx/?specialties=luxury-homes), their filters and page kept. A filter you set replaces the link's own (false, or the whole price slider, clears it); one sale price bound keeps the link's other bound (a bound that meets or crosses it leaves the link unread, free).
agentsProfile links, screen names or Zillow agent ids. Up to 10,000.
startUrlsDirectory links and profile links in one list.
agentName, topAgentsOnly, helpsBuyers, helpsSellers, specialties, languages, minSalePrice, maxSalePriceZillow's own filters, sent and checked on every page. Two specialties or two languages combine with AND (Zillow's rule). Sale prices are values of Zillow's slider (0, 50000 ... 1000000, 1250000 ... 5000000, 6000000 ... 18000000, 500000000).
agentType, minRating, minReviews, minSalesLast12Months, maxSalesLast12Months, brokerageContainsChecked on each agent's card.
requirePhone (the agent's own cell or business phone), requireCellPhone, requireEmail, minYearsInBusiness, maxYearsInBusiness, minTotalSales, maxTotalSales (the profile's total sales), soldWithinDays, premierAgentsOnly, minAveragePrice, maxAveragePriceChecked on each agent's profile: they need Agent details.
maxAgentsPerSearch, maxItems, splitPastCap, startPage, countOnlyHow much to read. countOnly reads page 1 of each search and returns its count only (free but for the start fee). A search started past page 1 is not split.
includeDetails, includeReviews (maxReviewsPerAgent, reviewSort, reviewFilter), includePastSales (maxPastSalesPerAgent), includeListings (listingTypes, maxListingsPerAgent)The add-ons.
includePersonalDataSee "Personal data".
outputFormat, omitEmptyFields, buildReportNested, flat (spreadsheet columns) or compact rows (core fields for AI agents; the add-on lists you asked for stay whole); leave out empty fields; the free market report.
maxConcurrency, requestGapSeconds, proxyConfigurationParallel requests (1 to 4, each on its own exit), the wait between two requests on one exit (5 to 60 s; 4.5 s when left empty), proxy.

A filter nobody passes ends its search after five pages in a row without a match, so it costs at most five pages.

Speed

Measured on the platform (256 MB, 3 parallel requests): 375 agents of one search in 74 s; 100 agents with Agent details in 347 s (about 17 profiles a minute); 20 agents with details, 1,957 reviews, 2,000 past sales and 260 listings in 224 s. Each exit waits 4.5 s between two requests: the pace Zillow accepts.

Personal data

includePersonalData is off by default. Off, the agent's own cell and business phone numbers and e-mail address, and reviewers' Zillow screen names and ids, are empty. The brokerage's name, address and phone, the agent's name, photo, licences and profile link, and review texts with their authors' display names are always delivered. Texts are delivered exactly as Zillow serves them (HTML entities such as & included). Turn the switch on only for a lawful use: you are responsible for how you use personal data (GDPR, CAN-SPAM, the TCPA and the like).

When Zillow fails

A page Zillow refuses or does not answer after retries is not read and not charged; the search's coverage row says it is not complete, and the run's status message names Zillow as the failing side, with how many calls failed and what could not be read. Run it again later.

API examples

curl -X POST "https://api.apify.com/v2/acts/automation_craft~zillow-agents-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"locations":["Austin, TX"],"maxAgentsPerSearch":50,"includeDetails":true}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('automation_craft/zillow-agents-scraper').call({ locations: ['78704'], specialties: ['luxury-homes'], includeReviews: true });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((r) => r.type === 'agent').length);
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("automation_craft/zillow-agents-scraper").call(run_input={"agents": ["https://www.zillow.com/profile/ericbramlett"], "includePastSales": True})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row["type"] == "agent":
print(row["name"], row["businessName"], len(row.get("pastSales") or []))

What this Actor does not do

  • No stored copy of the directory: every row is read from Zillow at run time.
  • No mortgage lenders and no property managers (agents only).
  • No e-mails, phones or social links from the agent's own website (Zillow's profile only).
  • No monitoring, no "new agents only" mode, no alerts: run it on a schedule and compare in your own sheet.
  • No Notion or other app export of its own: the dataset goes anywhere through Apify's integrations (Make, Zapier, n8n, webhooks).
  • No market trends or mortgage rates.
  • No "commercial" specialty: Zillow's agent finder has none and ignores it.
  • No brokerage licence field of its own: the licences the profile shows are delivered in licenses and otherLicenses.
  • No more than 4 parallel requests: Zillow refuses faster reading.
  • No counties or boroughs as places: Zillow's agent finder searches cities, neighborhoods and ZIP codes (a whole state is read through its cities).

FAQ

How do I get a list of real estate agents in a ZIP code from Zillow?

Put the ZIP code in Locations (78704). Zillow's agent finder lists the agents serving it, up to 375 for one search; turn on the price band split to read further.

How do I get Zillow agents' phone numbers and e-mails?

Turn on Agent details and includePersonalData: each agent's profile gives the cell phone (37 of 37 profiles read), the business phone and the e-mail address. The brokerage's address, and its phone where Zillow shows one, come with Agent details whatever the switch.

Does Zillow have a public API for agent data?

No public agent API is open for this today. This Actor reads Zillow's own agent finder and profile pages, with no login and no key.

How many agents can I get for one city?

Zillow shows 375 agents for one search. With splitPastCap the Actor reads on through the city's ZIP codes and price bands (Austin: 1,280 different agents from 13 walks); with a whole state, through its cities. The coverage row says how many of Zillow's count were reached.

Can I get only individual agents, or only teams?

Yes: set Teams or individual agents (agentType) to individuals or teams (Zillow's TEAM tag; a team row is the team lead's profile).

Why does this Actor run with limited permissions?

It needs nothing beyond its own run storage (its dataset and key-value store), so it asks for nothing more: least privilege keeps your account safe.

Changelog

  • 0.1 (2026-10-30): first version.

More data tools by Automation Craft