Zillow Property Scraper | Prices & Zestimates | $5/1K avatar

Zillow Property Scraper | Prices & Zestimates | $5/1K

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Zillow Property Scraper | Prices & Zestimates | $5/1K

Zillow Property Scraper | Prices & Zestimates | $5/1K

Extract available Zillow listing details: price, Zestimate, beds, baths, sqft, status, agent, brokerage, property type, and images. Includes validated URLs, normalized numeric fields, JSON/CSV export, and a hard result cap. $5/1K successful properties plus $0.00005/run start.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Apivault Labs

Apivault Labs

Maintained by Community

Actor stats

1

Bookmarked

8

Total users

2

Monthly active users

6 days ago

Last modified

Share

Zillow Property Scraper — Prices, Zestimates & Listing Data

Zillow Property Scraper hero

Convert direct Zillow property URLs into structured records for listing research, property comparison, monitoring, spreadsheet workflows, and internal real-estate analysis.

Price: $5 per 1,000 successful properties ($0.005 per paid Dataset row), plus the configured $0.00005 run-start event. Invalid URLs, duplicates, failed extraction, summaries, and diagnostics do not create paid Dataset-result events.

Available property fields

  • Address and listing price
  • Bedrooms, bathrooms, square footage, year built, and property type
  • Displayed Zestimate, lot size, price per square foot, and HOA fee
  • Public listing description, status, main image URL, agent, and brokerage
  • Normalized numeric versions of common price and property-size fields
  • ZPID, collection timestamp, available-field count, and completeness percentage

Field availability varies by listing and source response. Price, status, Zestimate, agent, brokerage, and other listing details are point-in-time values that may change after collection.

Quick start

{
"propertyUrls": [
"https://www.zillow.com/homedetails/Example-Property/12345678_zpid/"
],
"maxResults": 25
}

The URL above is illustrative. Replace it with a real Zillow /homedetails/ URL containing a numeric _zpid identifier.

URLs are canonicalized and deduplicated by ZPID before processing. maxResults is a hard run-level cap from 1 to 100. The input form contains no paid prefilled listing.

Main inputs

FieldDefaultPurpose
propertyUrls[]Direct Zillow property-detail URLs
maxResults25Hard cap on unique inputs and successful Dataset rows
extractPricetrueDisplayed listing price
extractZestimatetrueDisplayed Zestimate when available
extractBedrooms / extractBathroomstrueAvailable room counts
extractSqft / extractLotSizetrueAvailable building and lot size
extractAgent / extractBrokeragetrueAvailable public listing attribution
extractStatustrueAvailable displayed listing status
writeSummarytrueFree summary and failure diagnostics in the key-value store

Every field group is optional. If all field selectors are disabled, the Actor still requests the address so it can verify that a substantive property was returned.

Example output

This shortened example uses a fictional property and illustrative values:

{
"success": true,
"inputUrl": "https://www.zillow.com/homedetails/Orion-Residence/12345678_zpid/",
"zpid": "12345678",
"address": "Example address",
"price": "$485,000",
"priceValue": 485000,
"bedrooms": "3",
"bedroomsValue": 3,
"bathrooms": "2",
"bathroomsValue": 2,
"sqft": "1,842",
"sqftValue": 1842,
"zestimate": "$472,000",
"zestimateValue": 472000,
"status": "For sale",
"fieldCount": 11,
"dataCompletenessPct": 68.8,
"sourceMode": "property_page",
"collectedAt": "2026-08-27T12:00:00+00:00"
}

The example does not represent a real listing, current market value, appraisal, or guaranteed field coverage.

Outputs and billing behavior

  • Dataset — only records with a validated ZPID and at least two substantive core property fields.
  • SUMMARY — requested, validated, delivered, failed, invalid, duplicate, and limited counts.
  • FAILED_PROPERTIES — invalid URLs and inputs that did not return enough usable property data.

Empty input completes successfully with Dataset 0 and SUMMARY.reason=no_input_urls. The run-start event still applies. Unsupported domains, duplicate ZPIDs, empty responses, and failed property lookups do not produce paid Dataset rows.

API example

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("apivault_labs/zillow-scraper").call(run_input={
"propertyUrls": [
"https://www.zillow.com/homedetails/Your-Property/12345678_zpid/"
],
"maxResults": 1,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Reliability and responsible use

Public listing pages can change, omit fields, block requests, or become unavailable. A successful Actor run means processing completed; it does not guarantee a Dataset record for every requested URL. Reconcile results through SUMMARY and FAILED_PROPERTIES.

Verify time-sensitive facts against the original listing before making decisions. A Zestimate is an estimate, not an appraisal. Do not treat scraped or estimated property data as legal, lending, insurance, tax, title, ownership, or investment advice.

Collect and use data only when permitted by applicable laws, contracts, privacy requirements, and platform terms. Avoid profiling residents or inferring sensitive personal information from property records.

Zillow and Zestimate are trademarks of Zillow, Inc. This independent Actor is not affiliated with, endorsed by, or sponsored by Zillow.