Scrape Zillow agent profiles into rows
A Zillow agent profile spreads what it knows across several panels - who the agent is, which brokerage they work for, how to reach them, how they are rated and what they have sold. The Zillow Agents Scraper puts all of it on one row. The input is a zillow.com/profile/ URL, pasted one per line or uploaded as a CSV, XLSX, TXT or Parquet file, and each agent comes back as a record with the name and business name, phone and website, rating and review count, sales count and sale price range, location, licence number, screen name, photo and the canonical profile URL. Fourteen columns, one row per agent, each tagged with the URL it came from.
It is worth being clear about how this differs from our Zillow Transactions Scraper, because the two take the same input. This one returns one row per agent - the profile summary. That one returns one row per transaction listed on the same profile. Run one list of URLs through both and join on the profile URL, and you get an agent's own headline figures sitting next to the deals behind them. Note also that the contact details live here rather than there: this export carries a phone and a website, and the transactions export carries neither.
One thing needs saying before you plan a run. Zillow blocks datacenter IPs, and a run without a residential proxy returns nothing. Worse, it does not tell you: the job finishes successfully and hands you the fourteen-column header row with no data under it, which looks exactly like a profile URL that does not resolve. Every export we hold for this service is in that state, as is every one for our other two Zillow profile scrapers, across runs spread over several months - which is why the requirement is stated at the top of this page rather than in a footnote.
That has an honest consequence for what this page claims. The column names are confirmed and the cell contents are not. The fourteen names and their order are corroborated by two independent sources - the identical header row of twenty-eight separate runs and the published column array - so you can build a schema around them with confidence. But we will not tell you what format phone, license or sale_price_range arrive in, whether location is a city or a region, or how screen_name differs from name, because we have never seen one populated. What is verifiable from the header alone is that there is no max_rating column, so the rating's scale cannot be recovered from the file and needs confirming against a real run. On the legal side: the profiles are public, but Zillow's terms restrict automated access, and this export holds a named person's phone, photo and licence number - treat it as personal data. Start free: your first 500 rows cost nothing and need no credit card, and after that it is $0.002 per row, flat, with the residential proxy as a separate cost.