Zillow ZIP Code Search Scraper Pro avatar
Zillow ZIP Code Search Scraper Pro

Pricing

$29.00/month + usage

Go to Apify Store
Zillow ZIP Code Search Scraper Pro

Zillow ZIP Code Search Scraper Pro

Developed by

ClearPath

ClearPath

Maintained by Community

Extract Zillow property listings in seconds. Search rentals, sales & sold properties by zip code or city with 15+ filters: price ranges, home types, days on market, foreclosures & more. Process 1000 listings in <10 seconds. $29/month unlimited usage. No Zillow account needed.

0.0 (0)

Pricing

$29.00/month + usage

0

1

0

Last modified

a day ago

🏡 Zillow ZIP Code Search Scraper Pro | Lightning-Fast Property Data Extraction (2025)

The most advanced Zillow ZIP Search property scraper - Extract rental, sale, and sold listings with 15+ advanced filters in under 10 seconds.

Process 1000 listings in less than 10 seconds with batch location support, advanced property filters, and unlimited monthly usage. Search by zip code or city name across rentals, sales, and recently sold properties with precision filtering for price ranges, home types, listing status, and time on market.

⚡ Blazing Fast | 📉 Price Drop Tracking | 🎯 15+ Filters | 💰 $29/Month

Zillow ZIP Code Scraper Pro screenshot showing property extraction interface

💰 Rental Pricing - Simple & Predictable

$29 per month - Unlimited locations, unlimited results, unlimited runs, no hidden fees.

  • Unlimited listings per month - No per-result charges
  • Unlimited runs - Schedule as often as needed
  • All premium features - 15+ filters, batch processing, proxy support
  • All property types - Rentals, sales, sold properties
  • Cancel anytime - No long-term contracts

Perfect for real estate investors, data analysts, property managers, and market researchers who need reliable, high-volume property data without breaking the bank.


⚡ Key Features

Lightning-Fast Performance

  • Sub-10-second extraction - Process 1000 listings in under 10 seconds
  • Batch location processing - Scrape multiple zip codes or cities in a single run
  • Parallel execution - Concurrent location processing for maximum speed
  • Smart pagination - Efficiently handle large result sets (up to 1000 per location)
  • Reliable proxy support - Built-in Apify proxy integration for consistent access

📊 Complete Data Extraction

  • Three property types - For Rent, For Sale, Recently Sold
  • Raw API responses - Complete property data with all available fields
  • Metadata enrichment - Timestamps, location tracking, pagination info
  • Full listing details - Addresses, prices, features, photos, agent info
  • Market statistics - Total available listings, result counts per location

🎯 Advanced Filtering System

  • Price ranges - Min/max monthly rent or sale prices
  • Home types - Houses, condos, apartments, townhomes, multi-family, manufactured, land
  • Property features - Living area (sqft), bedrooms (min/max)
  • Listing types - Agent listed, FSBO, new construction, foreclosures, auctions
  • Time-based filters - Days on Zillow (1 day to 36 months)
  • Status filters - Price reductions, pending/under contract, backup offers
  • Space preferences - Entire places vs. room rentals (for rentals)
  • Flexible sorting - Recommended (priority score), recently changed, newest, price, bedrooms, bathrooms

🔄 Smart Location Handling

  • Multiple format support - Zip codes ("77494") or city names ("New York NY")
  • Automatic resolution - Converts locations to geographic boundaries
  • Batch processing - Process dozens of locations efficiently
  • Error tolerance - Continues processing if individual locations fail
  • Result tracking - Detailed success/failure reporting per location

📉 Price Change Tracking

  • Instant deal finder - Filter exclusively for price reductions with showOnlyPriceReductions
  • Price drop alerts - Every listing includes exact reduction amount and date changed
  • Motivated seller identification - Find properties with recent price cuts
  • Market trend analysis - Track pricing adjustments across neighborhoods
  • Competitive intelligence - Monitor when competitors adjust pricing

🚀 Quick Start

Note: If you don't specify propertyType, the actor defaults to forRent (rental listings).

Basic - Rental Search by Zip Code

{
"locations": ["77494", "90210"],
"propertyType": "forRent"
}

🎯 Use Cases

For Real Estate Investors

  • Price drop opportunities - Use showOnlyPriceReductions to instantly find motivated sellers and negotiate better deals
  • Identify investment opportunities - Find undervalued properties with price reduction filters
  • Market trend analysis - Compare prices across multiple zip codes and neighborhoods
  • Foreclosure tracking - Monitor foreclosures, auctions, and pre-foreclosures
  • New construction discovery - Track new developments and coming-soon listings
  • ROI calculations - Analyze sold properties to estimate potential returns
  • Portfolio expansion - Scout new markets with comprehensive location searches

For Data Analysts & Researchers

  • Market research - Extract bulk property data for statistical analysis
  • Price trend analysis - Analyze price change patterns, frequency of reductions, and market elasticity
  • Price modeling - Build predictive models with historical sold data
  • Trend identification - Track market movements across time periods
  • Competitive analysis - Compare inventory and pricing across regions
  • Custom dashboards - Export data to BI tools for visualization
  • Academic research - Gather datasets for housing market studies

For Property Managers & Real Estate Professionals

  • Rental market insights - Monitor rental prices and availability by neighborhood
  • Competitor pricing intelligence - Track when competing properties reduce prices to optimize your pricing strategy
  • Competitive positioning - Track competitor listings and pricing strategies
  • Client prospecting - Identify sellers and buyers in target markets
  • Market reports - Generate comprehensive property reports for clients
  • Inventory tracking - Monitor days on market and listing status changes
  • Neighborhood analysis - Compare property features across zip codes

Advanced Searches

{
"locations": ["Miami FL", "Orlando FL"],
"propertyType": "forSale",
"listingTypes": ["foreclosure", "foreclosed", "auction"],
"minPrice": 100000,
"maxPrice": 300000,
"homeTypes": ["singleFamily"],
"daysOnZillow": "1_week",
"sortBy": "price_low"
}

Complete - Targeted Rental Analysis

{
"locations": ["New York NY", "Brooklyn NY", "Queens NY"],
"propertyType": "forRent",
"homeTypes": ["singleFamily", "townhome"],
"minPrice": 2500,
"maxPrice": 4000,
"minBedrooms": 3,
"maxBedrooms": 4,
"minLivingAreaSqft": 1500,
"maxLivingAreaSqft": 2500,
"includeRoomForRent": false,
"daysOnZillow": "1_month",
"sortBy": "price_low"
}

📝 Input Parameters

ParameterTypeDescriptionDefault
locationsarrayZip codes (e.g., "77494") or city names with state (e.g., "New York NY")Required
propertyTypestringType of listings: forRent, forSale, or soldforRent
homeTypesarrayProperty types to include: singleFamily, condo, apartment, townhome, multiFamily, manufactured, land. Leave empty for "Any".Optional
listingTypesarrayFor Sale only: fsba (Agent Listed), fsbo (Owner/FSBO), newConstruction, comingSoon, auction, foreclosure, foreclosed, preforeclosureOptional
minPriceintegerMinimum price (monthly rent for rentals, total price for sales/sold)Optional
maxPriceintegerMaximum price (monthly rent for rentals, total price for sales/sold)Optional
minBedroomsintegerMinimum number of bedroomsOptional
maxBedroomsintegerMaximum number of bedroomsOptional
minLivingAreaSqftintegerMinimum living area in square feetOptional
maxLivingAreaSqftintegerMaximum living area in square feetOptional
daysOnZillowstringTime filter: 1_day, 1_week, 2_weeks, 1_month, 3_months, 6_months, 12_months, 24_months, 36_monthsOptional
sortBystringSort order: rentalPriorityScore (Recommended), recentlyChanged, newest, price_high, price_low, bedrooms, bathroomsrentalPriorityScore
showOnlyPriceReductionsbooleanFor Sale only: Show only listings with price dropsfalse
includePendingAndUnderContractbooleanInclude pending or under contract listingsfalse
includeAcceptingBackupOffersbooleanInclude listings accepting backup offersfalse
includeRoomForRentbooleanRentals only: Include room-for-rent listings (false = entire places only)false
maxResultsPerLocationintegerMaximum results to scrape per location (1-1000)1000

Home Types by Property Type

For Rentals (4 types available):

  • Houses (singleFamily)
  • Condos/Co-ops (condo)
  • Apartments (apartment)
  • Townhomes (townhome)

For Sales & Sold (7 types available):

  • Houses (singleFamily)
  • Multi-family (multiFamily)
  • Manufactured (manufactured)
  • Lots/Land (land)
  • Condos/Co-ops (condo)
  • Apartments (apartment)
  • Townhomes (townhome)

Note: Invalid home types for the selected property type are automatically filtered.

Sort Order Options

The actor supports multiple sorting options with Recommended (Priority Score) as the default:

  • rentalPriorityScore (Recommended) - Zillow's algorithm for optimal listing relevance based on multiple quality signals
  • recentlyChanged - Listings with recent updates (price changes, status updates)
  • newest - Most recently listed properties first
  • price_high / price_low - Sort by price (descending/ascending)
  • bedrooms / bathrooms - Sort by number of rooms (most to least)

Tip: Use the default rentalPriorityScore for balanced results, or switch to price_low/price_high for budget-focused searches.


📊 Understanding the Data Structure

Each scraped item follows this structure:

item
├── rawData
│ ├── property ← All property details here
│ │ ├── zpid ← Zillow Property ID
│ │ ├── location ← {latitude, longitude}
│ │ ├── address ← {streetAddress, city, state, zipcode}
│ │ ├── media ← Photos, videos, VR tours
│ │ ├── rental ← Rental-specific info
│ │ ├── price ← {value, pricePerSquareFoot}
│ │ ├── listing ← {listingStatus, marketingStatus}
│ │ ├── estimates ← {zestimate, rentZestimate}
│ │ └── ... 40+ more fields
│ └── resultType ← "property" or "propertyGroup"
├── scrapedAt ← ISO timestamp
└── location ← Search location

Quick Access Examples:

// Access property details
const zpid = item.rawData.property.zpid;
const address = item.rawData.property.address.streetAddress;
const price = item.rawData.property.price.value;
// Check if it's an apartment complex
const isComplex = item.rawData.resultType === "propertyGroup";
// Get metadata
const scrapedTime = item.scrapedAt;
const searchLocation = item.location;

📤 Output

Zillow ZIP Code Search Scraper Pro returns complete, unmodified API responses with all available property data. Each result includes:

Top-Level Structure

  • rawData - Complete API response containing all property information
  • scrapedAt - ISO 8601 timestamp of when the data was extracted
  • location - The search location (zip code or city)
  • resultType - Either "property" (individual listing) or "propertyGroup" (apartment complex)

Property Data (within rawData.property)

All data is nested under rawData.property and includes:

  • Identification: zpid (Zillow Property ID), ssid, providerListingID
  • Location: location object (latitude/longitude), address object (street, city, state, zipcode, optional buildingId)
  • Pricing:
    • Individual properties: price.value, price.pricePerSquareFoot
    • Apartment complexes: minPrice, maxPrice, minBaseRent, maxBaseRent, unitsGroup array
  • Property Details: bedrooms, bathrooms, livingArea, propertyType, factsAndFeatures
  • Media: Complete media object with propertyPhotoLinks, allPropertyPhotos (high-resolution URLs), thirdPartyPhotoLinks (Street View, satellite), VR/video flags
  • Rental Info: rental object with areApplicationsAccepted, isRoomForRent, isBuildToRent, baseRent, marketingTreatments
  • Listing Status: listing object with listingStatus, marketingStatus, listingSubType
  • Time Info: listingDateTimeOnZillow, daysOnZillow, bestGuessTimeZone
  • Estimates: estimates object with zestimate, rentZestimate (Zillow's automated valuations)
  • Tax Info: taxAssessment object with taxAssessedValue, taxAssessmentYear
  • Display Info: hdpView, propertyDisplayRules, listCardRecommendation, personalizedResult
  • Flags: isFeatured, isShowcaseListing, isUnmappable, isPreforeclosureAuction, hasFloorPlan
  • Additional: currency, country, region, zillowOwnedProperty

Apartment Complexes (resultType: "propertyGroup") include additional fields:

  • title - Complex name
  • groupType - "apartmentComplex"
  • matchingHomeCount - Number of available units
  • unitsGroup - Array of unit configurations with bedrooms and price ranges

Output Example - Rental Property (Single Family Home)

{
"rawData": {
"property": {
"zpid": 117506944,
"location": {
"latitude": 29.735218,
"longitude": -95.79938
},
"address": {
"streetAddress": "4530 Ferndale Meadows Dr",
"zipcode": "77494",
"city": "Katy",
"state": "TX"
},
"media": {
"propertyPhotoLinks": {
"highResolutionLink": "https://photos.zillowstatic.com/fp/63c087a2f63d388fe431ea21526fbdbc-p_f.jpg"
},
"thirdPartyPhotoLinks": {
"streetViewLink": "https://maps.googleapis.com/maps/api/streetview?size=1440x448&location=...",
"satelliteLink": "https://maps.googleapis.com/maps/api/staticmap?...",
"streetViewMetadataLink": "https://maps.googleapis.com/maps/api/streetview/metadata?..."
},
"hasVRModel": false,
"hasVideos": false,
"hasIMX": false,
"hasApprovedThirdPartyVirtualTour": false,
"allPropertyPhotos": {
"highResolution": [
"https://photos.zillowstatic.com/fp/63c087a2f63d388fe431ea21526fbdbc-p_f.jpg",
"https://photos.zillowstatic.com/fp/6d0e2ebd8b0528dc247c754687c694ce-p_f.jpg",
"https://photos.zillowstatic.com/fp/62c5e4112544eda2e3c7feed5c464bc8-p_f.jpg"
]
}
},
"isFeatured": true,
"isShowcaseListing": false,
"rental": {
"areApplicationsAccepted": true,
"isRoomForRent": false,
"isBuildToRent": false,
"isRentByBed": false,
"marketingTreatments": [
"paid",
"zillowRentalManager"
],
"baseRent": 2290.0,
"hasVirtualTour": false
},
"currency": "usd",
"country": "usa",
"listingDateTimeOnZillow": 1759972785555,
"bestGuessTimeZone": "America/Chicago",
"isUnmappable": false,
"listCardRecommendation": {
"flexFieldRecommendations": [
{
"displayString": "Apply instantly",
"flexFieldType": "unknown",
"contentType": "frZillowApplication"
},
{
"displayString": "28 days ago",
"flexFieldType": "unknown",
"contentType": "timeOnInfo"
}
]
},
"bathrooms": 2.0,
"factsAndFeatures": {
"fullBathroomCount": 2
},
"bedrooms": 3,
"livingArea": 2253,
"propertyType": "singleFamily",
"listing": {
"listingStatus": "forRent",
"marketingStatus": "active",
"palsId": "100066001_a8be5a8f9646e36ebf645c0856841e3a92f092c8052869854262d7a38742dc33",
"providerListingID": "4ux8tfwuxmywg",
"listingSubType": {}
},
"daysOnZillow": 28,
"isPreforeclosureAuction": false,
"price": {
"value": 2290,
"pricePerSquareFoot": 1
},
"estimates": {
"zestimate": 390800,
"rentZestimate": 2284
},
"zillowOwnedProperty": {
"isZillowOwned": false
},
"taxAssessment": {
"taxAssessedValue": 417269,
"taxAssessmentYear": "2025"
},
"hdpView": {
"listingStatus": "forRent",
"price": 2290,
"hdpUrl": "/homedetail/MobileAppHDPShopperPlatformServicePage.htm?fromApp=true&p=android&variant=FOR_RENT#zpid=117506944"
},
"region": {},
"personalizedResult": {
"isViewed": false,
"userRecommendation": {
"isRecommendedForYou": false,
"homeInsight": "Formal dining room"
}
},
"propertyDisplayRules": {
"canShowAddress": true,
"canShowOnMap": true,
"agent": {},
"mls": {},
"builder": {},
"soldByOffice": {},
"listingCategory": "category2"
},
"ssid": 100066,
"hasFloorPlan": false
},
"resultType": "property"
},
"scrapedAt": "2025-11-06T11:13:30.918003+00:00",
"location": "77494"
}

Output Example - Rental Property (Apartment Complex)

{
"rawData": {
"property": {
"zpid": 344571164,
"location": {
"latitude": 29.761017,
"longitude": -95.88191
},
"address": {
"streetAddress": "2011 Texas Heritage Pkwy",
"zipcode": "77494",
"city": "Katy",
"state": "TX",
"buildingId": 2747705420
},
"media": {
"propertyPhotoLinks": {
"highResolutionLink": "https://photos.zillowstatic.com/fp/80ed47c4da42c813fe0e43391e8ac485-p_f.jpg"
},
"hasVRModel": false,
"hasVideos": false,
"hasIMX": false,
"hasApprovedThirdPartyVirtualTour": false,
"allPropertyPhotos": {
"highResolution": [
"https://photos.zillowstatic.com/fp/80ed47c4da42c813fe0e43391e8ac485-p_f.jpg",
"https://photos.zillowstatic.com/fp/fef34c2667fb8643014fd2935c8fb87f-p_f.jpg"
]
}
},
"title": "The Vic at Jordan Ranch",
"isFeatured": true,
"isShowcaseListing": false,
"rental": {
"areApplicationsAccepted": false,
"isRoomForRent": false,
"isBuildToRent": false,
"marketingTreatments": [
"trustedListing",
"paid",
"multiFamilySalesListing",
"paidMultifamily",
"multifamilyPremium"
]
},
"currency": "usd",
"country": "usa",
"groupType": "apartmentComplex",
"listingDateTimeOnZillow": 1762363709562,
"bestGuessTimeZone": "America/Chicago",
"isUnmappable": false,
"listCardRecommendation": {
"flexFieldRecommendations": [
{
"displayString": "22 available units",
"flexFieldType": "unknown",
"contentType": "frUnitsAvailable"
}
]
},
"matchingHomeCount": 22,
"listingStatus": "forRent",
"providerListingID": "3bbwshytbu75j",
"minPrice": 1246.0,
"maxPrice": 2294.0,
"unitsGroup": [
{
"bedrooms": 0,
"minPrice": 1246,
"isRoomForRent": false
},
{
"bedrooms": 1,
"minPrice": 1299,
"isRoomForRent": false
},
{
"bedrooms": 2,
"minPrice": 1902,
"isRoomForRent": false
}
],
"minBaseRent": 1246.0,
"maxBaseRent": 2294.0
},
"resultType": "propertyGroup"
},
"scrapedAt": "2025-11-06T11:13:30.918003+00:00",
"location": "77494"
}

Note: Apartment complexes return resultType: "propertyGroup" with multiple units, while individual properties return resultType: "property". The structure differs slightly - property groups have minPrice/maxPrice and unitsGroup arrays instead of single price values.

Output Example - For Sale Property

{
"rawData": {
"property": {
"zpid": 245008087,
"location": {
"latitude": 40.68856,
"longitude": -73.99047
},
"address": {
"streetAddress": "251 Pacific St APT 17",
"zipcode": "11201",
"city": "Brooklyn",
"state": "NY",
"buildingId": 135520
},
"media": {
"propertyPhotoLinks": {
"highResolutionLink": "https://photos.zillowstatic.com/fp/7639f4703e7be99316f1ec99684f843d-p_f.jpg"
},
"thirdPartyPhotoLinks": {
"streetViewLink": "https://maps.googleapis.com/maps/api/streetview?size=1440x448&location=...",
"satelliteLink": "https://maps.googleapis.com/maps/api/staticmap?...",
"streetViewMetadataLink": "https://maps.googleapis.com/maps/api/streetview/metadata?..."
},
"hasVRModel": false,
"hasVideos": false,
"hasIMX": false,
"hasApprovedThirdPartyVirtualTour": false,
"allPropertyPhotos": {
"highResolution": [
"https://photos.zillowstatic.com/fp/7639f4703e7be99316f1ec99684f843d-p_f.jpg",
"https://photos.zillowstatic.com/fp/baafda5dd67d9a248d5844da17990d6b-p_f.jpg",
"https://photos.zillowstatic.com/fp/802dc45863f191b35f2a264718046700-p_f.jpg"
]
}
},
"isFeatured": false,
"isShowcaseListing": false,
"rental": {
"areApplicationsAccepted": false,
"hasVirtualTour": false
},
"currency": "usd",
"country": "usa",
"listingDateTimeOnZillow": 1756771200000,
"bestGuessTimeZone": "America/New_York",
"isUnmappable": false,
"listCardRecommendation": {
"flexFieldRecommendations": [
{
"displayString": "Open: Sun 2:30-3:30pm (11/9)",
"flexFieldType": "openHouse",
"contentType": "openHouse"
},
{
"displayString": "Price cut: $26,000 (11/4)",
"flexFieldType": "priceCut",
"contentType": "priceCut"
},
{
"displayString": "Modern fixtures",
"flexFieldType": "homeInsight",
"contentType": "homeInsight"
}
]
},
"bathrooms": 1.0,
"factsAndFeatures": {
"halfBathroomCount": 0,
"fullBathroomCount": 1
},
"bedrooms": 1,
"livingArea": 0,
"yearBuilt": 1914,
"propertyType": "condo",
"listing": {
"listingStatus": "forSale",
"marketingStatus": "active",
"palsId": "6955001_S1787428",
"listingSubType": {
"isOpenHouse": true,
"isFSBA": true
}
},
"daysOnZillow": 65,
"isPreforeclosureAuction": false,
"openHouseShowingList": [
{
"startTime": 1762716600000,
"endTime": 1762720200000
}
],
"price": {
"value": 899000,
"changedDate": 1762232400000,
"priceChange": -26000
},
"estimates": {
"rentZestimate": 4210
},
"zillowOwnedProperty": {
"isZillowOwned": false
},
"taxAssessment": {
"taxAssessedValue": 2406000,
"taxAssessmentYear": "2018"
},
"hdpView": {
"listingStatus": "forSale",
"price": 899000,
"hdpUrl": "/homedetail/MobileAppHDPShopperPlatformServicePage.htm?fromApp=true&p=android&variant=FOR_SALE#zpid=245008087"
},
"region": {},
"personalizedResult": {
"isViewed": false
},
"propertyDisplayRules": {
"canShowAddress": true,
"canShowOnMap": true,
"agent": {},
"mls": {
"brokerName": "Listing by: Corcoran",
"mustDisplayBrokerName": true
},
"builder": {},
"soldByOffice": {},
"listingCategory": "category1"
},
"ssid": 6955,
"hasFloorPlan": false
},
"resultType": "property"
},
"scrapedAt": "2025-11-06T11:27:16.812270+00:00",
"location": "New York NY"
}

Output Example - Sold Property

Note: Sold properties have similar structure to For Sale properties, with additional fields like dateSold, listPrice, and priceChange showing the sales history.

{
"rawData": {
"property": {
"zpid": 456789123,
"location": {
"latitude": 25.7907,
"longitude": -80.1300
},
"address": {
"streetAddress": "321 Ocean Boulevard",
"city": "Miami Beach",
"state": "FL",
"zipcode": "33139"
},
"media": {
"propertyPhotoLinks": {
"highResolutionLink": "https://photos.zillowstatic.com/fp/example-photo.jpg"
},
"hasVRModel": false,
"hasVideos": false,
"allPropertyPhotos": {
"highResolution": [
"https://photos.zillowstatic.com/fp/example-photo-1.jpg",
"https://photos.zillowstatic.com/fp/example-photo-2.jpg"
]
}
},
"bedrooms": 3,
"bathrooms": 3.0,
"livingArea": 2200,
"yearBuilt": 2018,
"propertyType": "condo",
"listing": {
"listingStatus": "sold",
"marketingStatus": "sold"
},
"daysOnZillow": 67,
"price": {
"value": 1250000,
"listPrice": 1395000,
"priceChange": -145000,
"dateSold": 1733961600000
},
"estimates": {
"zestimate": 1265000
},
"hdpView": {
"listingStatus": "sold",
"price": 1250000,
"hdpUrl": "/homedetail/MobileAppHDPShopperPlatformServicePage.htm?fromApp=true&p=android&variant=SOLD#zpid=456789123"
},
"propertyDisplayRules": {
"canShowAddress": true,
"canShowOnMap": true
}
},
"resultType": "property"
},
"scrapedAt": "2025-11-06T11:27:16.812270+00:00",
"location": "Miami FL"
}

💡 Advanced Usage

Price Drop Monitoring for Investment Opportunities

Track properties with recent price reductions to identify motivated sellers:

{
"locations": ["Los Angeles CA", "San Diego CA", "San Francisco CA"],
"propertyType": "forSale",
"showOnlyPriceReductions": true,
"minLivingAreaSqft": 1500,
"maxPrice": 800000,
"daysOnZillow": "3_months",
"sortBy": "recentlyChanged"
}

Foreclosure & Auction Discovery

Find distressed properties for investment:

{
"locations": ["Phoenix AZ", "Las Vegas NV", "Tucson AZ"],
"propertyType": "forSale",
"listingTypes": ["foreclosure", "foreclosed", "auction", "preforeclosure"],
"homeTypes": ["singleFamily", "multiFamily"],
"maxPrice": 350000,
"sortBy": "price_low"
}

Luxury Rental Market Analysis

Research high-end rental inventory:

{
"locations": ["90210", "90211", "90077"],
"propertyType": "forRent",
"homeTypes": ["singleFamily"],
"minPrice": 10000,
"minBedrooms": 4,
"minLivingAreaSqft": 4000,
"includeRoomForRent": false,
"sortBy": "price_high",
"maxResultsPerLocation": 500
}

Recently Sold Comparative Market Analysis

Analyze recent sales for pricing insights:

{
"locations": ["Seattle WA", "Bellevue WA"],
"propertyType": "sold",
"homeTypes": ["singleFamily", "townhome"],
"minBedrooms": 3,
"maxBedrooms": 5,
"daysOnZillow": "6_months",
"sortBy": "price_low"
}

New Construction Tracker

Monitor new developments and coming-soon listings:

{
"locations": ["Austin TX", "Round Rock TX", "Cedar Park TX"],
"propertyType": "forSale",
"listingTypes": ["newConstruction", "comingSoon"],
"minBedrooms": 3,
"sortBy": "newest"
}

🔌 API Integration

Python

from apify_client import ApifyClient
# Initialize the Apify client
client = ApifyClient("your_apify_token")
# Prepare actor input
run_input = {
"locations": ["77494", "90210", "Miami FL"],
"propertyType": "forRent",
"homeTypes": ["singleFamily", "townhome"],
"minPrice": 2000,
"maxPrice": 4000,
"minBedrooms": 3,
"sortBy": "price_low"
}
# Run the actor
print("Starting Zillow scraper...")
run = client.actor("your-actor-id").call(run_input=run_input)
# Fetch results from the dataset
print("Fetching results...")
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
prop = item["rawData"]["property"]
# Handle both individual properties and apartment complexes
if item["rawData"].get("resultType") == "propertyGroup":
print(f"Complex: {prop.get('title', 'N/A')}")
print(f"Address: {prop['address']['streetAddress']}")
print(f"Price Range: ${prop['minPrice']} - ${prop['maxPrice']}")
print(f"Available Units: {prop['matchingHomeCount']}")
else:
print(f"Address: {prop['address']['streetAddress']}")
print(f"Price: ${prop['price']['value']}")
print(f"Beds/Baths: {prop['bedrooms']}/{prop['bathrooms']}")
print(f"Sqft: {prop.get('livingArea', 'N/A')}")
print(f"Days on Zillow: {prop['daysOnZillow']}")
print(f"Location: {prop['address']['city']}, {prop['address']['state']}")
print(f"Scraped: {item['scrapedAt']}")
print("-" * 50)

JavaScript/TypeScript

import { ApifyClient } from 'apify-client';
// Initialize the Apify client
const client = new ApifyClient({
token: 'your_apify_token',
});
// Prepare actor input
const input = {
locations: ['77494', '90210', 'Miami FL'],
propertyType: 'forSale',
listingTypes: ['foreclosure', 'auction'],
maxPrice: 300000,
homeTypes: ['singleFamily'],
daysOnZillow: '1_week',
sortBy: 'price_low'
};
// Run the actor
console.log('Starting Zillow scraper...');
const run = await client.actor('your-actor-id').call(input);
// Fetch results from the dataset
console.log('Fetching results...');
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
const prop = item.rawData.property;
// Handle both individual properties and apartment complexes
if (item.rawData.resultType === "propertyGroup") {
console.log(`Complex: ${prop.title || 'N/A'}`);
console.log(`Address: ${prop.address.streetAddress}`);
console.log(`Price Range: $${prop.minPrice} - $${prop.maxPrice}`);
console.log(`Available Units: ${prop.matchingHomeCount}`);
} else {
console.log(`Address: ${prop.address.streetAddress}`);
console.log(`Price: $${prop.price.value}`);
console.log(`Beds/Baths: ${prop.bedrooms}/${prop.bathrooms}`);
console.log(`Sqft: ${prop.livingArea || 'N/A'}`);
console.log(`Days on Zillow: ${prop.daysOnZillow}`);
}
console.log(`Location: ${prop.address.city}, ${prop.address.state}`);
console.log(`Scraped: ${item.scrapedAt}`);
console.log('-'.repeat(50));
});

Node.js with Scheduled Runs

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'your_apify_token' });
// Create a scheduled run (daily at 9 AM)
const schedule = await client.schedules().create({
name: 'Daily Zillow Market Monitor',
actorId: 'your-actor-id',
cronExpression: '0 9 * * *', // Daily at 9 AM
timezone: 'America/New_York',
input: {
locations: ['New York NY', 'Brooklyn NY'],
propertyType: 'forRent',
minPrice: 2500,
maxPrice: 5000,
sortBy: 'recentlyChanged'
}
});
console.log(`Schedule created: ${schedule.id}`);

📊 Data Export

Export your scraped property data in multiple formats:

  • JSON - Perfect for programmatic analysis, API integration, and data pipelines
  • CSV - Import directly into spreadsheets for sorting, filtering, and reporting
  • Excel - Create professional reports with formatting and formulas
  • RSS - Set up real-time feeds for monitoring new listings

🤖 Automation

Scheduled Runs

Set up automated scraping on your schedule:

  • Daily monitoring - Track new listings and price changes every morning
  • Weekly reports - Generate comprehensive market reports every Monday
  • Monthly analysis - Deep-dive market trends on the 1st of each month

Webhooks

Receive real-time notifications when scraping completes:

  • Integration endpoints - Send data directly to your business intelligence tools
  • Slack notifications - Get alerts in your team channels
  • Email reports - Automated delivery of scraped data

API Access

Build custom workflows and integrations:

  • Pipeline integration - Feed data into your analytics platforms
  • CRM sync - Automatically update your customer relationship management system
  • Dashboard updates - Power real-time property market dashboards

🎯 Best Practices

Performance Optimization

  • Use specific zip codes instead of broad city names for more specific results
  • Batch similar locations together in a single run for efficiency
  • Use time-based filters (daysOnZillow) to focus on recent listings

Real Estate Investment

  • Combine showOnlyPriceReductions with daysOnZillow filters to find motivated sellers
  • Track foreclosures and auctions with listingTypes filters
  • Use sold property type to analyze recent comparables for valuation
  • Monitor multiple zip codes in target investment areas
  • Set up scheduled runs to catch new opportunities immediately

Market Research & Analysis

  • Scrape both forRent and forSale to understand market dynamics
  • Use bedroom and sqft filters to segment property classes
  • Export data to CSV/Excel for statistical analysis
  • Compare multiple cities or neighborhoods in parallel
  • Track price changes over time with scheduled runs

Rental Property Management

  • Filter for entire places only with includeRoomForRent: false
  • Use price ranges to find properties in your target demographic
  • Monitor competitor listings with recentlyChanged sort order
  • Track days on market to identify pricing issues
  • Set up alerts for new listings in your service area

❓ FAQ

Q: What data does the Zillow ZIP Code Search Scraper Pro extract? A: The actor extracts complete property information including zpid, address, price, bedrooms, bathrooms, square footage, lot size, property type, listing status, days on Zillow, photos, agent details, and much more.

Q: How many properties can I scrape? A: You can scrape up to 1000 properties per location. With unlimited monthly runs at $29/month, you can extract millions of listings without additional costs.

Q: Do I need a Zillow account? A: No Zillow account or login is required. The actor extracts publicly available listing data.

Q: What's the cost? A: The Zillow ZIP Code Search Scraper Pro uses a simple rental pricing model: $29 per month for unlimited locations, unlimited listings, and unlimited runs. No hidden fees or per-result charges.

Q: How current is the data? A: Data is extracted in real-time from Zillow's live listings. Properties reflect the current state at the time of scraping.

Q: Are there rate limits? A: The actor includes built-in rate limit handling with automatic retries and proxy support to ensure reliable extraction without manual intervention.

Q: Can I filter by specific criteria? A: Yes! The actor supports 15+ filter parameters including price ranges, home types, bedrooms, square footage, listing types, days on market, and more. See the Input Parameters section for complete details.

Q: What's the difference between home types for rentals vs. sales? A: Rentals support 4 home types (Houses, Condos, Apartments, Townhomes), while For Sale and Sold properties support all 7 types (adds Multi-family, Manufactured, Lots/Land). Invalid types are automatically filtered based on your property type selection.

Q: Can I search multiple locations at once? A: Absolutely! The locations parameter accepts arrays of zip codes and city names. The actor processes them in parallel for maximum efficiency.

Q: How long does scraping take? A: The actor usually processes 1000 listings in under 10 seconds.

Q: Can I track price reductions? A: Yes! Use the showOnlyPriceReductions parameter (For Sale only) to filter exclusively for listings with recent price drops - perfect for finding motivated sellers.

Q: What formats can I export data in? A: You can export in JSON, CSV, Excel, and RSS formats directly from the Apify platform.

Q: Can I schedule automated runs? A: Yes! Set up scheduled runs (daily, weekly, monthly) through the Apify platform to automatically monitor markets and track changes over time.

Q: Is proxy support included? A: Yes, the actor includes built-in Apify proxy support for reliable access.

Q: How do I access the property data from the results? A: All property data is nested under rawData.property. Here's how to access common fields:

// JavaScript/TypeScript
const property = item.rawData.property;
const address = property.address.streetAddress;
const price = property.price.value;
const zpid = property.zpid;
# Python
property_data = item["rawData"]["property"]
address = property_data["address"]["streetAddress"]
price = property_data["price"]["value"]
zpid = property_data["zpid"]

See the "Understanding the Data Structure" section above for a complete overview.


🚀 Getting Started

1. Account Setup

  1. Sign up for Apify (free tier available, no credit card required)
  2. Subscribe to Zillow Scraper Pro for $29/month
  3. Get your API token from account settings

2. Configure Your First Run

  1. Add locations - Enter zip codes or city names (e.g., "77494", "New York NY")
  2. Select property type - Choose For Rent, For Sale, or Recently Sold
  3. Apply filters - Set price ranges, home types, bedrooms, square footage, etc.
  4. Set limits - Define maxResultsPerLocation (default: 1000)

3. Run & Monitor

  1. Click "Start" to begin extraction
  2. Monitor progress in real-time through the run log
  3. Download results in your preferred format (JSON, CSV, Excel)
  4. Review data quality and adjust filters as needed

4. Integrate & Automate

  1. Use the Apify API to integrate with your applications
  2. Set up webhooks for real-time notifications
  3. Create scheduled runs for automated monitoring
  4. Build custom dashboards with exported data
  5. Scale to multiple locations and property types

📧 Support

  • Email: max@mapa.slmail.me
  • Issues: GitHub Issues tab
  • Feature Requests: Email or submit via issues
  • Response Time: Typically within 24 hours

This actor extracts publicly available property listing data from Zillow. Users are responsible for complying with Zillow's Terms of Service and applicable data protection regulations (GDPR in the EU, CCPA in the US).

Responsible Use: This tool is intended for legitimate real estate research, market analysis, and investment purposes. Do not use scraped data for spam, harassment, or any activities that violate privacy laws or platform terms of service.


🚀 Start Extracting Zillow Property Data Now


Unlock powerful real estate insights with the most advanced Zillow ZIP Code Search scraper - process 1000 listings in under 10 seconds, leverage 15+ advanced filters, and enjoy unlimited monthly usage for one predictable price.