Zillow Property & Agent Data Scraper avatar
Zillow Property & Agent Data Scraper

Pricing

Pay per event

Go to Apify Store
Zillow Property & Agent Data Scraper

Zillow Property & Agent Data Scraper

Extract Zillow property listings with agent contacts (emails, phones), price history, and 70+ data fields. Three search modes: ZIP codes, ZPID list, or any Zillow URL. 40+ filters including tri-state controls for auctions, foreclosures, and new construction. Volume discounts - save up to 37.5%!

Pricing

Pay per event

Rating

5.0

(1)

Developer

Andrey Afanasenko

Andrey Afanasenko

Maintained by Community

Actor stats

3

Bookmarked

61

Total users

14

Monthly active users

0.74 hours

Issues response

7 days ago

Last modified

Share

What does Zillow Property & Agent Data Scraper do?

Zillow Property & Agent Data Scraper extracts comprehensive property listings and real estate agent contact information from Zillow. This Actor provides one of the most complete Zillow datasets available, with 70+ data fields including property details, agent contacts (emails, phones), price history, Walk/Transit scores, and school information. You can search by ZIP codes, process specific ZPID lists, or use any Zillow search URL with 40+ filters for precise targeting.

Key Features

  • Three Search Modes: ZIP code discovery, ZPID enrichment, or Zillow URL search
  • 70+ Data Fields: Comprehensive property, agent, financial, and location data
  • 40+ Filters: Price, beds/baths, home type, amenities, views, rental-specific filters, and more
  • Tri-State Controls: Fine-tune auctions, foreclosures, and new construction (Any/Only/Exclude)
  • Agent Contacts: Extract real agent names, emails, phone numbers, and broker details
  • Enrichment Options: Optional Walk/Transit/Bike scores and full photo galleries
  • Platform Advantages: Built-in monitoring, API access, scheduling, and integrations

Operation Modes

This Actor supports three distinct operation modes, each optimized for different use cases:

ModeInputFiltersEnrichmentBest For
ZIP CodesList of ZIP codesAll 40+ filters applyWalk Score + Photos availableDiscovering new properties in specific areas
ZPID ListList of Zillow Property IDsIgnoredDisabledEnriching known properties with full details
Zillow URLZillow search results URLEmbedded in URLDisabledUsing Zillow's UI to configure filters, then scraping results

Important Notes:

  • In ZPID List and Zillow URL modes, search filters and enrichment options configured in the input are ignored
  • Filters are embedded directly in the Zillow URL for URL mode
  • Enrichment (Walk Score, Photos) is only available in ZIP code mode

How to scrape Zillow data

Step-by-Step Tutorial

  1. Choose your operation mode (ZIP codes, ZPID list, or Zillow URL)
  2. Configure your search:
    • For ZIP mode: Enter ZIP codes and set filters
    • For ZPID mode: Paste Zillow Property IDs
    • For URL mode: Copy a Zillow search URL from your browser
  3. Set enrichment options (ZIP mode only): Enable Walk Score and/or Photos if needed
  4. Run the Actor and wait for results
  5. Download your data in JSON, CSV, Excel, or XML format from the Apify Console

Quick Start Examples

Example 1: Search by ZIP Code (ForSale, exclude auctions)

{
"mode": "zip",
"zipCodes": ["90210"],
"status_type": "ForSale",
"maxPropertiesPerZip": 50,
"isAuction": "exclude",
"hasPool": true
}

Example 2: Rental Search with Pet Filters

{
"mode": "zip",
"zipCodes": ["10001"],
"status_type": "ForRent",
"rentMinPrice": 2000,
"rentMaxPrice": 5000,
"beds_min": 2,
"largeDogsAllowed": true,
"inUnitLaundry": true
}

Example 3: Search by Zillow URL

{
"mode": "url",
"zillowUrl": "https://www.zillow.com/.../rentals/?searchQueryState=..."
}

Example 4: Process ZPID List

{
"mode": "zpid",
"zpids": ["20521978", "95547747"]
}

Input Reference

Operation Mode

  • mode (required): Choose "zip", "zpid", or "url"

ZIP Code Mode Inputs

  • zipCodes: Array of ZIP codes to search (e.g., ["90210", "10001"])
  • maxPropertiesPerZip: Maximum properties to process per ZIP code (0 = unlimited)

Search Filters (ZIP Mode Only)

  • status_type: "ForSale", "ForRent", or "RecentlySold"
  • price_min, price_max: Price range for ForSale/RecentlySold properties
  • rentMinPrice, rentMaxPrice: Rent range for ForRent properties
  • beds_min, beds_max: Bedroom count range
  • baths_min, baths_max: Bathroom count range
  • doz: Days on Zillow / Sold in Last - "any", "1", "7", "14", "30", "90", "6m", "12m"
  • sort: "Homes_for_You", "Price_High_Low", "Price_Low_High", "Newest"
  • keywords: Search keywords (e.g., "pool, ocean view")

Home Type Filters

  • isSingleFamily: Include houses (default: true)
  • isTownhouse: Include townhomes (default: true)
  • isMultiFamily: Include multi-family properties (default: false)
  • isCondo: Include condos/co-ops (default: true)
  • isLotLand: Include lots/land (default: false)
  • isManufactured: Include manufactured homes (default: false)
  • isApartment: Include apartments (default: true)

Listing Type & Status

  • isForSaleByOwner: Include FSBO listings (default: false)
  • isForSaleByAgent: Include agent-listed properties (default: true)
  • isNewConstruction: Tri-state - "any" (default), "only", or "exclude"
  • isAuction: Tri-state - "any" (default), "only", or "exclude"
  • isForSaleForeclosure: Tri-state - "any" (default), "only", or "exclude"
  • includeForeclosed: Add foreclosed properties (excluded by default)
  • includePreForeclosure: Add pre-foreclosure properties (excluded by default)
  • isPendingUnderContract: Only pending/under contract properties
  • isAcceptingBackupOffers: Only properties accepting backup offers

Tri-State Filter Behavior:

  • "any": Show all properties (no filter applied)
  • "only": Show ONLY matching properties
  • "exclude": Hide all matching properties

Property Features

  • sqft_min, sqft_max: Square footage range
  • lotSize_min, lotSize_max: Lot size (e.g., "1/4 acre/10,890 sqft")
  • built_min, built_max: Year built range
  • parkingSpots_min: Minimum parking spots
  • hasGarage: Must have garage
  • hasPool: Must have pool
  • hasAirConditioning: Must have A/C
  • isWaterfront: Waterfront properties only
  • isBasementFinished: Finished basement only
  • isBasementUnfinished: Unfinished basement only
  • hoa_max: Maximum HOA fee per month

View Filters

  • isCityView: City view properties
  • isMountainView: Mountain view properties
  • isParkView: Park view properties
  • isWaterView: Water view properties

Tour Filters

  • isOpenHousesOnly: Properties with scheduled open houses
  • is3dHome: Properties with 3D tour

Rental-Only Filters (ForRent Status)

Pet Policies:

  • largeDogsAllowed: Allows large dogs
  • smallDogsAllowed: Allows small dogs
  • catsAllowed: Allows cats
  • noPets: No pets allowed

Amenities:

  • inUnitLaundry: In-unit laundry
  • parkingAvailable: On-site parking
  • furnished: Furnished rentals
  • hardwoodFloor: Hardwood floors
  • utilitiesIncluded: Utilities included
  • disabledAccess: Disabled access
  • shortTermLease: Short-term lease available
  • outdoorSpace: Outdoor space
  • controlledAccess: Controlled access building
  • highSpeedInternet: High-speed internet
  • elevator: Has elevator
  • acceptsApplications: Accepts Zillow applications
  • incomeRestricted: Income-restricted rentals

School Filters

  • schools: School types (comma-separated: "elementary, middle, high, public, private, charter")
  • schoolsRating: Minimum school rating (1-10)
  • includeUnratedSchools: Include schools with no rating (default: true)

ZPID Mode Inputs

  • zpids: Array of Zillow Property IDs (e.g., ["20521978", "95547747"])

Note: Search filters and enrichment options are ignored in ZPID mode.

URL Mode Inputs

  • zillowUrl: Full Zillow search results URL (copy from your browser after configuring filters on Zillow)

Note: All filters are embedded in the URL. Search filters and enrichment options configured in the input are ignored.

Enrichment Options (ZIP Mode Only)

  • enrichWalkScore: Fetch Walk, Transit, and Bike scores for each property
  • enrichPhotos: Fetch complete photo gallery (default: only main photo included)

What data can Zillow Property & Agent Data Scraper extract?

This Actor extracts 70+ data fields organized into the following categories:

Core Property Information

FieldTypeDescription
zpidStringUnique Zillow Property ID
hdpUrlStringLink to property on Zillow
priceNumberCurrent listing price
statusStringProperty status (ForSale, ForRent, etc.)
propertyDescriptionStringProperty description
homeTypeStringProperty type (SINGLE_FAMILY, CONDO, etc.)

Location Data

FieldTypeDescription
streetAddressStringFull street address
cityStringCity name
stateStringState code
zipcodeStringZIP code
countyStringCounty name
neighborhoodStringNeighborhood name
latitudeNumberLatitude coordinate
longitudeNumberLongitude coordinate

Agent & Broker Information

FieldTypeDescription
agentNameStringListing agent name
agentEmailStringAgent email address
agentEmailSourceStringEmail source (property_details, agent_profile_direct, etc.)
cellPhoneStringAgent phone number
coAgentNameStringCo-agent name
coAgentNumberStringCo-agent phone
agentLicenseNumberStringAgent license number
brokerNameStringBrokerage name
brokerPhoneNumberStringBroker phone number

Financial Data

FieldTypeDescription
zestimateNumberZillow's estimated market value
rentZestimateNumberZillow's estimated rent
pricePerSqftNumberPrice per square foot
hoaFeeNumberMonthly HOA fee
propertyTaxNumberAnnual property tax
priceChangeNumberRecent price change amount
datePriceChangedStringDate of last price change

Property Specifications

FieldTypeDescription
bedroomsNumberNumber of bedrooms
bathroomsNumberTotal bathrooms
bathroomsFullNumberFull bathrooms
bathroomsHalfNumberHalf bathrooms
livingAreaNumberLiving area in square feet
lotSizeStringLot size
yearBuiltNumberYear built
storiesNumberNumber of stories
architecturalStyleStringArchitectural style
parcelNumberStringParcel number

Lot Information

FieldTypeDescription
lotAreaValueNumberLot area value
lotAreaUnitStringLot area unit (sqft, acres, etc.)

Property Features

FieldTypeDescription
hasPoolBooleanHas pool
hasGarageBooleanHas garage
garageSpacesNumberNumber of garage spaces
parkingStringParking information
hasBasementBooleanHas basement
viewStringProperty views
heatingStringHeating type
coolingStringCooling type
appliancesStringAppliances included
flooringStringFlooring type
roofTypeStringRoof type
laundryFeaturesStringLaundry features
fireplaceFeaturesStringFireplace features
communityFeaturesStringCommunity amenities

Media & Engagement

FieldTypeDescription
mainPhotoStringMain property photo URL
photosArrayFull photo gallery (when enrichPhotos enabled)
has3DModelBooleanHas 3D model
hasVideoBooleanHas video
pageViewCountNumberPage views
favoriteCountNumberFavorites count
daysOnZillowNumberDays on Zillow

History & Activity

FieldTypeDescription
lastSoldDateStringLast sold date
lastSoldPriceNumberLast sold price
lastTaxPaidNumberLast tax paid
lastTaxAssessedValueNumberLast tax assessed value
priceHistoryArrayComplete price history (sales, listings, price changes)
openHouseScheduleStringOpen house schedule

Scores (When enrichWalkScore Enabled)

FieldTypeDescription
walkScoreNumberWalk Score (0-100)
transitScoreNumberTransit Score (0-100)
bikeScoreNumberBike Score (0-100)

Additional Data

FieldTypeDescription
schoolsArrayNearby schools information
listingTypeStringListing type (FSBA, FSBO, Foreclosure, etc.)

Sample Output (JSON)

{
"zpid": "20533889",
"streetAddress": "123 Palm Dr",
"city": "Beverly Hills",
"state": "CA",
"zipcode": "90210",
"price": 5500000,
"status": "ForSale",
"homeType": "SINGLE_FAMILY",
"bedrooms": 5,
"bathrooms": 4,
"livingArea": 3500,
"yearBuilt": 2010,
"agentName": "Jane Doe",
"agentEmail": "jane@example.com",
"agentEmailSource": "property_details",
"cellPhone": "310-555-0199",
"brokerName": "Luxury Real Estate Inc.",
"zestimate": 5600000,
"hoaFee": 500,
"hasPool": true,
"hasGarage": true,
"walkScore": 45,
"transitScore": 60,
"hdpUrl": "https://www.zillow.com/.../20533889_zpid/",
"mainPhoto": "https://photos.zillowstatic.com/...",
"photos": ["https://photos.zillowstatic.com/...", "https://photos.zillowstatic.com/..."],
"priceHistory": [
{
"date": "2024-01-15",
"price": 5500000,
"event": "Listed",
"pricePerSquareFoot": 1571
}
]
}

How much does it cost to scrape Zillow?

This Actor uses Apify's consumption-based pricing model. You pay only for the Compute Units (CUs) consumed during the run. The cost depends on:

  • Number of properties processed: Each property enrichment consumes resources
  • Enrichment options: Walk Score and Photos require additional API calls
  • Search complexity: Multiple ZIP codes and filters may increase processing time

Free Plan: Get started with free CUs to test the Actor
Paid Plans: Scale up with volume discounts - save up to 37.5% on larger plans

The Actor automatically handles rate limiting and budget management to ensure efficient and compliant data extraction. You can set a maximum budget limit per run to control costs.


Tips for Best Results

  1. Use specific filters: Narrow down results with precise filters to reduce processing time and costs
  2. Limit properties per ZIP: Set maxPropertiesPerZip to control the number of results
  3. Choose the right mode: Use ZIP mode for discovery, ZPID mode for enrichment, URL mode for Zillow-configured searches
  4. Enable enrichment selectively: Only enable Walk Score and Photos when needed, as they require additional API calls

Understanding Tri-State Filters

The tri-state filters (isNewConstruction, isAuction, isForSaleForeclosure) provide precise control:

  • "any": No filtering (default)
  • "only": Show ONLY matching properties
  • "exclude": Hide all matching properties

Example: Set "isAuction": "exclude" to hide all auction properties from your results.

Mode-Specific Behavior

  • ZIP Mode: All filters apply, enrichment available
  • ZPID Mode: Filters ignored, enrichment disabled (properties are enriched with basic data)
  • URL Mode: Filters embedded in URL, enrichment disabled

FAQ

Our scrapers are ethical and extract only publicly available property listing data. We do not extract private user data. However, you should be aware that results may contain personal information (agent contacts). Personal data is protected by GDPR in the European Union and other regulations worldwide. You should not scrape personal data unless you have a legitimate reason. If unsure, consult legal counsel.

What's the difference between ZIP, ZPID, and URL modes?

  • ZIP Mode: Search by location with full filter control - best for discovering new properties
  • ZPID Mode: Process specific properties by ID - best for enriching known listings
  • URL Mode: Use Zillow's search interface, then scrape results - best when you want to use Zillow's UI for filtering

Can I get agent emails and phone numbers?

Yes! The Actor extracts agent contact information including names, emails, and phone numbers when available. The agentEmailSource field indicates how the email was obtained.

How do I get a Zillow URL for URL mode?

  1. Go to Zillow.com and configure your search filters
  2. Copy the full URL from your browser's address bar
  3. Paste it into the zillowUrl input field

Why are some fields null?

Some properties may not have complete data available. Fields like agentEmail, walkScore, or photos may be null if:

  • The data isn't available on Zillow
  • Enrichment options weren't enabled (for Walk Score/Photos)
  • The property listing is incomplete

Can I schedule runs?

Yes! Use Apify's scheduling feature to run the Actor automatically at set intervals. This is perfect for monitoring new listings or tracking price changes.

How do I access the data via API?

All data is available through Apify's REST API. See the API tab in the Actor detail page for endpoints and examples.


Support

If you encounter any issues or have feature requests:

  • Issues Tab: Report bugs or request features in the Actor's Issues tab
  • Contact: Reach out directly for custom solutions or enterprise needs

Looking for more real estate data? Check out other Actors in the Apify Store for complementary data sources and tools.