Zillow Property Detail Scraper avatar

Zillow Property Detail Scraper

Pricing

from $1.50 / 1,000 property scrapeds

Go to Apify Store
Zillow Property Detail Scraper

Zillow Property Detail Scraper

Get the full Zillow property record from a listing link, street address or Zillow ID: price, Zestimate, rent estimate, beds, baths, sqft, year built, HOA, tax rate, MLS ID, listing agent and phone, brokerage and every photo. Works for apartment buildings and new-build communities too.

Pricing

from $1.50 / 1,000 property scrapeds

Rating

0.0

(0)

Developer

Kamil Ertekin

Kamil Ertekin

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

13

Monthly active users

15 hours ago

Last modified

Share

Paste a Zillow link, a street address or a Zillow ID and get the full property record in one row: price, Zestimate, rent estimate, beds, baths, size, year built, HOA, tax rate, MLS ID, listing agent and phone, brokerage and every photo URL. It also handles apartment buildings and new-build communities. Agents, investors and analysts use it for comps, lead lists and watchlists. It costs $2.40 per 1,000 properties with no start fee.

What you get

72 fields per home. The ones people use most:

FieldExampleNotes
zpid · url8134236 · listing URLZillow's property ID and page
homeStatus · homeType"FOR_SALE" · "SINGLE_FAMILY"OTHER means the home isn't listed right now
price749000Asking price, or monthly rent on rentals. Empty for homes that aren't listed
zestimate · rentZestimate730300 · 4137Zillow's estimates, when published
lastSoldPrice · dateSold410000 · "2017-11-14"Last recorded sale
priceChange · priceChangeDate-50000 · "2026-06-24"Most recent price cut or raise
propertyTaxRate · monthlyHoaFee · totalMonthlyCost0.41 · 51 · 4514Tax rate in %, HOA per month, Zillow's monthly cost estimate
pricePerSqft · taxAssessedValue502 · 473270Asking price per sq ft of living area, and the county's assessed value where Zillow shows it (mostly on homes that aren't listed)
bedrooms · bathrooms · bathroomsFull · bathroomsHalf5 · 3 · 3 · 0
livingArea · lotSize2839 · 8594Both in sq ft
lotAreaValue · lotAreaUnits0.2607 · "Acres"Lot size in the unit Zillow shows (Acres or Square Feet)
yearBuilt · parkingCapacity1993 · 3
garageCapacity · hasGarage · parkingFeatures2 · true · ["Garage Door Opener", "Detached"]Garage spaces and Zillow's parking notes
streetAddress · city · state · zipcode · county"16210 S 14TH Drive" · "Phoenix" · "AZ" · "85045" · county name
latitude · longitude33.29913 · -112.09028
daysOnZillow · datePosted4 · listing dateEmpty for homes that aren't listed. All dates are YYYY-MM-DD
mlsId · mlsName"7071822" · "ARMLS"
agentName · agentPhone · brokerName"Kevin Houston" · "602-370-8106" · "West USA Realty"Listing agent and brokerage
isForSaleByOwner · isNewConstruction · isComingSoon · isForAuction · isBankOwned · isPreforeclosure · isForeclosure · isPending · isOpenHousefalseListing flags
pageViewCount · favoriteCount299 · 36Zillow views and saves
photoCount · photos43 · list of URLsEvery photo, at the width you choose
virtualTourUrltour linkThe listing's 3D or video tour, when it has one
highlights["Woodburning fireplace", "Stainless appliances"]Zillow's short feature tags for the home, when it shows them
descriptionlisting textFull listing description
isPartial · partialReasontrue · "showcase-listing"Zillow's page for a Showcase listing leaves out the agent, agent phone, days on Zillow and listing date. Those rows are marked and not charged. About one home in seven

How often each field is filled

Measured on 745 properties in Austin, Chicago, Denver, Greenville, Miami and Phoenix:

Filled onFields
100%address, zpid, url, price, homeStatus, homeType, currency, photoCount
99%coordinates, description, beds, baths, living area, at least one photo
95-96%mlsId, mlsName
81-88%lot size, agent phone, broker, days on Zillow, last sold price, tax rate, agent name
70-79%year built, parking, date sold
36%monthly HOA fee
28%price change and its date
21%rentZestimate
19%zestimate

county was filled on only 4% of that sample. Since October 2026 it's also read from another part of Zillow's page, and it was filled on all three homes in our latest test.

The 745 homes had 26,519 photo URLs between them, 36 per home on average.

Columns added in October 2026 haven't been measured at that scale yet. On our three test homes: garage and parking details on all three, highlights and virtualTourUrl on one, taxAssessedValue on the one that isn't listed.

Buildings and communities

  • Apartment building (/apartments/…): one row with building name, unit count, rent and bedroom ranges, leasing phone and photos. Turn on Expand buildings into individual units to get one row per unit instead. One tested building gave 24 unit rows with rents from $810 to $1,200.
  • Builder community (/community/…): builder name and phone, price range, spec homes and floor plans, photos.

A row's pageType (property, building or community) tells you which shape it is.

How to use it

  1. Add your homes: paste Zillow links, type street addresses or Zillow IDs, or pick the dataset from a Zillow Search Scraper run.
  2. Set Maximum properties as your spend cap.
  3. Click Start, then download the results as CSV, JSON or Excel, or read them through the API.

Minimal input that works as-is:

{
"startUrls": [
{ "url": "https://www.zillow.com/homedetails/2114-S-Trumbull-Ave-Chicago-IL-60623/2146999031_zpid/" }
],
"addresses": ["21386 Sunnyside Rd, Los Gatos, CA 95033", "24996529"],
"maxItems": 10
}

Search first, then details

The cheapest way to cover an area. Run Zillow Search Scraper with your filters, then pick its dataset in Search results dataset here. Every home the search found gets its full record. A Phoenix search of 445 homes came back in full here in about two minutes.

{
"searchResultsDatasetId": "aBcD1234EfGh5678",
"maxItems": 500,
"photoMaxWidth": "768"
}

Watch a list of homes for changes

Turn on Only new or changed properties, keep the same Memory store name and schedule the run daily. Each run returns only homes that are new or whose price, Zestimate, rent estimate, status or description changed. Changed rows carry changeDetected: true. Unchanged homes are skipped and not charged.

Input reference

FieldWhat it does
Property URLsZillow /homedetails/, /apartments/ or /community/ links
Street addresses or Zillow IDsFor example 21386 Sunnyside Rd, Los Gatos, CA 95033 or 24996529
Search results datasetA finished Zillow Search Scraper run. Every home in it is scraped
Maximum propertiesYour spend cap. 0 means no cap. API callers can send limit or maxResults instead
Photo width192 to 1536 px. Changes the photo URLs, not the price
Expand buildings into individual unitsOne row per unit instead of one per building. Each unit is a charged row
Merge re-listed propertiesRe-listed homes get a new Zillow ID. On by default, so the same house isn't returned (or charged) twice
Only new or changed properties and Memory store nameMonitoring, see above

Output example

A real row from a Phoenix run, with the photo list and description shortened:

{
"pageType": "property",
"zpid": 8134236,
"url": "https://www.zillow.com/homedetails/16210-S-14th-Dr-Phoenix-AZ-85045/8134236_zpid/",
"homeStatus": "FOR_SALE",
"homeType": "SINGLE_FAMILY",
"price": 749000,
"zestimate": 730300,
"rentZestimate": 4137,
"lastSoldPrice": 410000,
"dateSold": "2017-11-14",
"propertyTaxRate": 0.41,
"monthlyHoaFee": 51,
"totalMonthlyCost": 4514,
"bedrooms": 5,
"bathrooms": 3,
"livingArea": 2839,
"lotSize": 8594,
"yearBuilt": 1993,
"parkingCapacity": 3,
"streetAddress": "16210 S 14TH Drive",
"city": "Phoenix",
"state": "AZ",
"zipcode": "85045",
"latitude": 33.29913,
"longitude": -112.09028,
"daysOnZillow": 4,
"mlsId": "7071822",
"mlsName": "ARMLS",
"pageViewCount": 299,
"favoriteCount": 36,
"agentName": "Kevin Houston",
"agentPhone": "602-370-8106",
"brokerName": "West USA Realty",
"photoCount": 43,
"photos": [
"https://photos.zillowstatic.com/fp/8ff578e47e35892a7842ea9fc38ec734-cc_ft_1536.jpg",
"https://photos.zillowstatic.com/fp/0d9f91d5e83ea8bc9b39def2c1d42a00-cc_ft_1536.jpg",
"... 41 more"
],
"hasVirtualTour": false,
"description": "Gorgeous 5 bed, 3 bath in Club West located on a very quiet, low traffic street! ..."
}

Photos come back as a list on the same row. CSV and Excel exports turn it into numbered columns (photos/0, photos/1, …).

Pricing

You pay per property, building or community delivered to your dataset. There's no start fee, platform usage is included, and every field (photos too) comes in that one price. Rows marked isPartial (Showcase listings without agent details) are delivered free.

Your Apify planPrice per propertyPer 1,000 properties
Free$0.0024$2.40
Starter (Bronze)$0.0020$2.00
Scale (Silver)$0.0016$1.60
Business (Gold and above)$0.0015$1.50

You're not charged for retries, links that no longer exist, addresses that can't be matched, merged re-listings, or homes skipped as unchanged in monitoring mode.

Worked example. Search 5,000 Phoenix listings with Zillow Search Scraper ($7.50 on Free), keep the 500 that fit your criteria and get full records here: 500 × $0.0024 = $1.20. That's $8.70 in total. A daily watchlist of 200 homes where 15 change costs $0.036 a day.

With Expand buildings into individual units on, each unit is its own row, so a 200-unit building costs the same as 200 homes. Use Maximum properties to cap it.

FAQ

Why is the Zestimate empty on most rows?

Zillow only publishes a Zestimate on about one home in five (19% across our 745-home sample). The value is passed through as Zillow shows it. Nothing is estimated on our side.

It's listed in the run log and not charged. An address that can't be matched to a Zillow home is also logged and skipped, and the rest of the run carries on.

How do off-market homes look?

homeStatus is OTHER, price and daysOnZillow are empty, and there's no listing agent, MLS ID or photos. zestimate still carries Zillow's estimate, and lastSoldPrice the last recorded sale.

Can I get one row per photo?

Photos come as a list on the property row. CSV and Excel exports spread them into numbered columns. You don't pay extra for photos.

Can I schedule it or connect it to other tools?

Yes. Use Apify Schedules with monitoring on for a daily watchlist, and send results to Google Sheets, Airtable, HubSpot, Slack, Zapier, Make, n8n or a webhook. You can also call it from the Apify API or MCP server.

Does it return agent email?

No. Zillow doesn't show agent email on property pages. You get the listing agent's name and phone (on about 84% of listings) and the brokerage.

Limits

  • US homes on Zillow only.
  • On homes sold in the last few weeks, Zillow's page gives no sale date, only how many days ago the sale was. dateSold is worked out from that and can be a day off; daysOnZillow is empty on those homes. Zillow Search Scraper on recently sold homes gives the exact date.
  • No price history, tax history, school ratings or the longer fact list (heating, cooling, flooring, roof, parcel number) yet.
  • Off-market homes have no asking price, and some have a lastSoldPrice without a dateSold because Zillow doesn't publish the date.
  • lotSize is always in sq ft. lotAreaValue follows lotAreaUnits.
  • /b/… building pages return very little data and aren't recommended.

Missing a field? Open an issue on the Issues tab. If Zillow publishes it, it can usually be added.

Related: Zillow Search Scraper to find homes by area, and Zillow Agent Scraper for the real estate agents working an area.