Zillow ZIP Code Scraper: For Sale, Rentals & Sold avatar

Zillow ZIP Code Scraper: For Sale, Rentals & Sold

Pricing

from $1.00 / 1,000 home saveds

Go to Apify Store
Zillow ZIP Code Scraper: For Sale, Rentals & Sold

Zillow ZIP Code Scraper: For Sale, Rentals & Sold

Scrape Zillow by ZIP code: homes for sale (agent, FSBO, foreclosures), rentals and recently sold homes with sold date and price, in one run. Price, Zestimate, beds, baths, photos, agent contacts and 150+ facts. Export to CSV, Excel or JSON.

Pricing

from $1.00 / 1,000 home saveds

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Zillow ZIP Code Scraper: homes for sale, rentals and sold homes by ZIP code

Zillow ZIP Code Scraper turns a list of ZIP codes into a spreadsheet of every home Zillow has there. Pick the statuses you want (for sale, for rent and recently sold) and get them all in one run, one row per home, each row tagged with the ZIP code and status it came from. Switch on full property details to add the description, every photo, the listing agent's name, phone and email, price and tax history, schools, climate risk and 150+ facts.

It is built for real estate investors, wholesalers, agents and brokers, lenders, direct-mail marketers and researchers who work ZIP code by ZIP code.

  • All statuses in one run. For sale (agent-listed, by owner, new construction, foreclosures, auctions, coming soon), for rent and recently sold, for every ZIP code you add. Zillow only lets you search one status at a time; this scraper runs each one for you and puts everything in one dataset.
  • Sold homes with their sale date. Every sold row has lastSoldDate, and lastSoldPrice in states that disclose sale prices. Filter by Sold within (30, 90, 365 days…) and get the most recent sales first.
  • Every home in the ZIP code. Results are clipped to the ZIP code's boundary, and ZIP codes with more than 1,000 homes are split into map tiles automatically. Seattle 98103 returned all 1,434 sales of the last 600 days in 8 seconds.
  • Your spending limit is respected. The run checks your maximum cost before saving each batch and before loading details, and stops before it would charge more. You are never charged past it.
  • Bad input never wastes a run. Invalid or unknown ZIP codes are skipped with a clear message, and the rest are scraped.
  • Search and details in one Actor. No need to feed a second Actor with zpids: switch on details and every row is complete.
  • No Zillow account, API key or proxy setup. Export to JSON, CSV, Excel or Google Sheets, or call it through the Apify API.

What can you do with it?

GoalHow
Get the whole market of a ZIP codeSelect all three Listing statuses and set Max results per ZIP code to 0.
Pull sold compsSelect Recently sold, set Sold within to 180, and filter by beds and home type.
Find motivated sellersSelect For sale and Sale types: For sale by owner, Pre-foreclosures, Foreclosed, Auctions.
Build an agent lead list by ZIP codeTurn on Include full property details and use listingAgent, coListingAgent and broker.
Estimate rental yieldSelect For sale and For rent for the same ZIP codes, and compare price with rentZestimate and actual rents.
Track new listings every daySchedule a run with Days on Zillow 1 and Sort by: Newest.
Farm a territory for direct mailAdd all ZIP codes of the territory and export the addresses with searchedZipCode to group them.

Quick start

  1. Click Try for free and sign in to Apify.
  2. Add one or more ZIP codes, such as 78704 and 02134.
  3. Choose the Listing statuses: for sale, for rent, recently sold, or all three.
  4. For a first run, keep Max results per ZIP code at 200.
  5. Click Start. When the run finishes, open the Output tab and export the data.
{
"zipCodes": ["78704", "02134"],
"statuses": ["forSale", "forRent", "sold"],
"maxItemsPerZip": 200
}

Sold comps of the last 90 days with full details:

{
"zipCodes": ["98103", "98117"],
"statuses": ["sold"],
"soldInLast": 90,
"bedsMin": 3,
"maxItemsPerZip": 0,
"includeDetails": true
}

Distressed and by-owner listings, plus rentals between $1,500 and $2,500:

{
"zipCodes": ["33012", "30318"],
"statuses": ["forSale", "forRent"],
"saleTypes": ["owner", "preForeclosure", "foreclosed", "auction"],
"rentMin": 1500,
"rentMax": 2500,
"maxItemsPerZip": 0
}

Input

FieldWhat it does
ZIP codes5-digit US ZIP codes, one per line or pasted as a comma-separated list. Invalid entries are skipped with a warning.
Listing statusesFor sale, For rent, Recently sold. Each selected status is searched in every ZIP code.
Max results per ZIP codeHomes saved per ZIP code and status. 0 saves every match.
Include full property detailsAdds the full property page to each home (see Output). Charged per home.
Sort byNewest first by default: the latest listings, and the most recent sales for sold homes.
Sale typesFor sale only: agent-listed, by owner (FSBO), new construction, foreclosures, auctions, coming soon, pre-foreclosures, foreclosed.
Price, rent, beds, bathsPrice applies to homes for sale and sold prices; rent applies to rentals.
Home typesHouses, townhomes, condos, multi-family, apartments, manufactured, land.
Days on Zillow / Sold withinOnly listings from the last N days, and only homes sold in the last N days.

Pending and under-contract homes are left out of for-sale results, as on Zillow.

Output

Every row starts with the search it came from, followed by the home:

FieldExample
searchedZipCode, searchedStatus02134, sold (also forSale, forRent)
zpid, url59087031, https://www.zillow.com/homedetails/59087031_zpid/
status, saleTypeforSale, forSaleByAgent (also forSaleByOwner, newConstruction, auction, foreclosure, bankOwned, comingSoon)
price, pricePerSqft, priceChange, priceChangedAt929000
lastSoldDate, lastSoldPrice2026-10-05, 615000
address, streetAddress, city, state, zipcode, latitude, longitude74 Ashford St, Allston, MA 02134
homeType, bedrooms, bathrooms, livingArea, lotSize, lotSizeUnit, yearBuiltcondo, 2, 1, 850
zestimate, rentZestimate, taxAssessedValue, taxAssessmentYear
daysOnZillow, listedAt, openHouses
brokerName, mlsName, mlsStatus, photo, virtualTourUrl, floorPlanUrl

Rental searches return apartment buildings as one row with isBuilding, buildingName, availableUnits, minPrice, maxPrice and units (price from, per bedroom count).

With Include full property details each home also has:

FieldContents
description, highlightsListing description and Zillow's highlight phrases
photos, photoCountAll listing photos, high resolution
listingAgent, coListingAgent, brokername, phone, and email where the MLS publishes it
priceHistoryEvery listing, price change and sale: date, event, price, source
taxHistoryyear, taxPaid, assessedValue
schoolsAssigned schools with rating (1–10), grades, distance and GreatSchools link
monthlyHoaFee, walkScore, transitScore, bikeScore
climateRiskFlood (with FEMA zone), fire, wind, heat and air risk scores
county, countyFips, parcelId, neighborhood, mlsId
facts150+ facts: heating, cooling, parking, flooring, appliances, construction, roof, utilities, lot, HOA details, tax amount, more

The Output tab has three views: Homes, Sold homes (sale date and price first) and Agents & contacts.

Pricing

You pay per home saved, with no monthly fee:

EventFree planBronzeSilverGold and higher
Home saved$0.0022$0.0018$0.0014$0.0010
Full property details (only when switched on and loaded)$0.0032$0.0027$0.0022$0.0015

Set a maximum cost per run in the run options: the scraper stops before reaching it and never charges past it. Details that fail to load are not charged.

Tips

  • Sale prices: some states (Texas, Utah and others) don't disclose sale prices, so lastSoldPrice is empty there. lastSoldDate, zestimate and taxAssessedValue are still filled.
  • Older sales: without Sold within, Zillow's recently sold list covers about 3 years. Sort by Newest (the default) to get the latest sales first when you set a limit.
  • ZIP code borders: Zillow assigns a few homes near a border to the neighboring ZIP code's search, so a small share of rows can show a different zipcode in the address. searchedZipCode always tells you which search found the home.
  • Auctions often have no list price. Their price is empty.
  • Schedule the scraper in Apify to collect new listings every day, and connect it to Google Sheets, Make, Zapier or a webhook.

FAQ

Is it legal to scrape Zillow? This scraper collects publicly visible listing data. Listing agent contact details are personal data: you are responsible for using them lawfully (for example under CAN-SPAM, TCPA or GDPR) and for respecting Zillow's terms where they apply to you.

Can I search a city or county instead? Use our Zillow Scraper for cities, counties, neighborhoods, Zillow search URLs and lists of addresses. This Actor is focused on ZIP codes.

Why do I get fewer homes than Zillow shows? Check the filters and Max results per ZIP code. Pending homes are excluded from for-sale results, as on Zillow.

Can I use it through an API? Yes. Every run can be started through the Apify API, and the results are available as JSON, CSV or Excel.

Something is missing or broken? Open an issue on the Issues tab. Bugs are fixed quickly.