Zillow Property Scraper
Pricing
Pay per usage
Zillow Property Scraper
Scrapes Zillow property listings across all US states — FSBO, recently sold, and agent listings. Extracts prices, addresses, lot sizes, agent contacts, images, and property history. Filter by state, property type, lot size, and days on market.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
ScrapySpider
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Zillow Property Scraper
Scrapes Zillow property listings in bulk across all US states — FSBO, recently sold, and agent listings — and returns structured JSON with prices, addresses, agent contacts, lot sizes, images, and full property history. No Zillow account or cookies required.
- No Zillow account or cookies needed
- Three scrape modes: FSBO, Recently Sold, and For Sale By Agent
- All 50 US states + territories supported with county-level targeting
- Extracts 60+ fields per property including agent contact info
- Filter by property type, lot size, days on market, and keywords
- Outputs clean JSON ready for download as CSV, Excel, or JSON
What data does it extract?
Each result contains:
Property info: Zillow ID (zpid), address (street, city, state, ZIP, county), latitude, longitude, property type, status, description
Pricing: listing price, Zestimate, rent Zestimate, last sold price, last sold date, price history
Details: bedrooms, bathrooms, living area (sqft), lot size, year built, days on Zillow, home type
Agent/broker info: agency name, agent name, agent email, agent phone, broker phone
Media: up to 10 property images
Historical data: complete price history, sold events with dates and prices
Use cases
- Real estate investing: Find FSBO properties and off-market deals before they hit the MLS
- Seller outreach: Identify recently sold properties for expired listing campaigns and agent prospecting
- Land investment: Target large land parcels in specific states with lot size filters
- Market research: Analyze property prices, days on market, and inventory across regions
- Lead generation: Build targeted property owner lists for direct mail or cold outreach campaigns
- Portfolio analysis: Monitor property values and Zestimates across multiple states
How to use
- Click Try for free above
- In the Input tab, select your scrape mode (FSBO, Recently Sold, or For Sale By Agent)
- Choose one or more US states to search
- Optionally set property type, lot size, and days on market filters
- Click Start and wait for the run to complete
- Download your results as JSON, CSV, or Excel from the Dataset tab
Input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
runConfig | Array of strings | Yes | Scrape mode(s): FSBO (For Sale By Owner), AgentSold (Recently Sold), FSBA (For Sale By Agent). You can select multiple. |
stateCodes | Array of strings | Yes | US state codes to search. Example: ["ca", "tx", "fl"] |
propertyType | Array of strings | No | Property types to include: sf (Houses), land (Lots), mf (Multi-family), con (Condos), tow (Townhomes), apa (Apartments), manu (Manufactured). Default: ["sf"] |
daysOnZillow | String | No | Max days listed. Values: any, 1, 7, 14, 30, 90, 6m, 12m, 24m, 36m. Default: any |
daysOnZillowMin | String | No | Min days listed. Same values as above. Default: 0 (any) |
lotSizeMin | String | No | Min lot size in sqft. Example: 43560 = 1 acre. Default: no minimum |
lotSizeMax | String | No | Max lot size in sqft. Example: 4356000 = 100 acres. Default: no maximum |
keywordSearch | String | No | Keyword to search in property descriptions. Example: waterfront, motivated, pool |
soldYearsAgo | Integer | No | For AgentSold mode: only include properties where previous sale was at least this many years ago. 0 = disabled. Default: 0 |
Output example
{"SCRAPE_TYPE": "FSBO","DETAIL_URL": "https://www.zillow.com/homedetails/123-Main-St-Austin-TX-78701/12345678_zpid/","STATE_CODE": "tx","REGION_NAME": "travis-county","zpid": 12345678,"statusType": "FOR_SALE","statusText": "For Sale by Owner","address": {"streetAddress": "123 Main St","city": "Austin","state": "TX","zipcode": "78701","county": "Travis County"},"price": 450000,"zestimate": 465000,"bedrooms": 3,"bathrooms": 2,"livingArea": 1850,"lotAreaValue": 8712,"lotAreaString": "0.2 acres","yearBuilt": 2005,"daysOnZillow": 14,"homeType": "SINGLE_FAMILY","description": "Beautiful 3-bed, 2-bath home in the heart of Austin...","latitude": 30.2672,"longitude": -97.7431,"images": ["https://photos.zillowstatic.com/fp/abc123.jpg","https://photos.zillowstatic.com/fp/def456.jpg"]}
Pricing
This Actor is free to use — you only pay for Apify platform compute time and proxy usage.
A typical run scraping 1 state (FSBO mode) costs approximately $0.10–$0.50 in Apify platform credits depending on the number of listings found.
New Apify accounts receive $5 in free credits — enough for dozens of scraping runs.
Note: This Actor requires Apify Residential proxies for reliable operation.
Technical notes
- No account needed: This Actor does not require a Zillow login or cookies
- Residential proxies required: Uses Apify's residential proxy pool for best success rates. Without residential proxies, requests will likely be blocked.
- Anti-detection: Built-in TLS fingerprinting mimics Chrome 145 on Windows for stealth
- Rate limits: Zillow limits results to 20 pages per region (800 properties). Use more specific filters if you need more coverage.
- Pagination: Automatically handles multi-page results (up to 20 pages per region)
- Deduplication: Tracks previously scraped property IDs across runs to avoid duplicates
- Concurrency: Runs with 2 concurrent requests for stability against blocking
- Data freshness: All data is scraped live — no cached or stale data
- Technology: BasicCrawler with Cheerio + Impit (no browser required — 10x faster than browser-based scrapers)
Integrations
Outputs are compatible with:
- Make (formerly Integromat): Use the Apify module to trigger runs and send data to Google Sheets or Airtable
- Zapier: Connect Actor runs to 5,000+ apps via the Apify Zapier app
- Google Sheets: Export dataset directly as CSV and import
- REST API: Run the Actor programmatically and poll results via the Apify API
- Python / Node.js: Use the Apify Client to integrate into your applications
Support
Have questions or found a bug? Reach out:
- Email: ScrapySpider@protonmail.com
- Website: ScrapySpider.com
- Apify: Open an issue on this Actor's page
- Response time: Within 24–48 hours on weekdays