Zillow Property Detail Scraper
Pricing
from $1.25 / 1,000 results
Zillow Property Detail Scraper
Collect full Zillow property detail by URL or ZPID - facts, status, coordinates.
Pricing
from $1.25 / 1,000 results
Rating
0.0
(0)
Developer
String
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Zillow Property Scraper — full detail by ZPID or URL
This Actor scrapes Zillow property detail pages. Give it a ZPID or a Zillow /homedetails/ URL and
it returns that home's own record: numeric price, beds, baths, living area, lot size in square
feet, year built, home type, listing status, exact coordinates and the full listing description.
No Zillow account, login or cookies are used — this reads what a logged-out visitor sees. One Zillow request per property, up to 200 properties per run.
What it returns
| Field | Type | Notes |
|---|---|---|
zpid | string | Zillow's own property ID — stable across runs, use it to de-duplicate |
address | string | One line: street, city, state and ZIP |
city, state, zipcode | string | Split out as well |
price | number | 675000, not "$675,000" |
beds, baths | number | |
areaSqft | number | Living area |
lotSizeSqft | number | Always square feet — an acre-quoted lot is converted |
yearBuilt | number | |
homeType | string | e.g. SINGLE_FAMILY, CONDO, TOWNHOUSE |
homeStatus | string | e.g. FOR_SALE, FOR_RENT, SOLD, PENDING |
latitude, longitude | number | Exact coordinates, ready to map |
description | string | The listing's own description text |
sourceUrl, collectedAt | string | Provenance for every row |
Input
{"properties": ["29502073", "https://www.zillow.com/homedetails/6310-Needham-Ln-Austin-TX-78739/29502073_zpid/"],"concurrency": 5}
| Field | Description |
|---|---|
properties | Bare ZPIDs or Zillow /homedetails/ URLs. Required, 1–200. |
maxItems | Cap on dataset items. Default 1000. Free plans stop at 250 requests and 250 results — see below. |
concurrency | Properties fetched in parallel. Default 5, maximum 10. |
A ZPID and the full detail URL for the same home resolve to one Zillow request, so a mixed list is never billed twice.
Use cases
- Comparable-sales and valuation work that needs lot size, year built and living area together
- Enriching a portfolio or CRM of addresses with current price, status and property facts
- Training and back-testing an automated valuation model on real property records
- Following the listings a search Actor found, to get facts the search page does not carry
- Watching status changes —
FOR_SALEtoPENDINGtoSOLD— by re-running on a schedule
Reliability
The Zillow Property Scraper reads each property from Zillow's own page data rather than from
rendered text, so a value is either present and exact or null — prices and areas never arrive as
display strings to clean up.
A detail page that loads but carries no property facts — a building shell, or an interstitial served
under the detail route — is recorded as a failed target rather than emitted as an all-null row.
Failures are listed in the run's SUMMARY under failures, and a run where every property failed
exits with an error.
There are no retries by design: the String Unblocker owns proxy rotation and anti-bot solver selection, so a retry loop here would only re-roll the same block.
Frequently asked questions
Do I need a Zillow account, API key or cookies? No. The Zillow Property Scraper reads the public detail page a logged-out visitor sees, and never signs in.
What input does the Zillow Property Scraper accept? A bare ZPID such as 29502073, or a Zillow
/homedetails/ URL whose final segment is the _zpid part. URLs that address something other than a
property record — a building page under /apartments/ — are reported under failures.
Does it return the listing description? Yes. The description field carries the listing's own
description text, with HTML entities decoded.
Is lot size in acres or square feet? Always square feet, in lotSizeSqft. A listing quoted in
acres is converted, so a rural and a suburban lot compare directly.
How many properties can one run collect? Up to 200, the maximum length of the properties input.
Each property costs one Zillow request.
Does it include photos, price history, tax history or the Zestimate? No. Those are out of scope; this Actor returns the property fact set listed in the table above.
Limitations
One detail page per property, and only zillow.com — US properties only. Photos, price and tax
history, Zestimate detail, schools, and agent or broker contact details are not collected. Search and
discovery are out of scope: you supply the ZPIDs, and the Zillow Property Listings Scraper is the
Actor that finds them by city.
Free plan limit
Runs started from an Apify free plan stop at 250 requests and 250 results, and the run
reports that it reached the limit. Any paid plan runs the full input and maxItems you set.
The limit exists because this Actor fetches through our own infrastructure, which Apify does not cover for free-plan runs. It binds on requests as well as results so that a large input list cannot spend those fetches for rows the run will not return.