Zillow Foreclosure & Pre-Foreclosure Scraper avatar

Zillow Foreclosure & Pre-Foreclosure Scraper

Pricing

from $0.90 / 1,000 scraped properties

Go to Apify Store
Zillow Foreclosure & Pre-Foreclosure Scraper

Zillow Foreclosure & Pre-Foreclosure Scraper

Scrape Zillow distressed properties by market or Zillow search URL. Export foreclosures, pre-foreclosures, bank-owned homes, and auctions with prices, addresses, Zestimate, tax values, property facts, and source URLs.

Pricing

from $0.90 / 1,000 scraped properties

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

🏚️ Zillow Foreclosure & Pre-Foreclosure Scraper

Zillow Foreclosure & Pre-Foreclosure Scraper collects public distressed-property listings from Zillow and saves them as structured rows you can export, schedule, or use through the Apify API. Search by market or paste Zillow search URLs, then collect foreclosures, pre-foreclosures, bank-owned homes, and auctions with source URLs, Zillow IDs, prices, addresses, Zestimate values when shown, tax values, property facts, and distress categories.

Use this Zillow foreclosure scraper when you need a clean starting list for real estate research, acquisition screening, distressed-property monitoring, local market checks, or lead review. The default collects up to 500 properties; lower Maximum properties to 25 for a quick first check.

🔎 What this Zillow distressed property scraper does

  • Searches Zillow distressed-property inventory by city, neighborhood, ZIP code, or Zillow search URL.
  • Supports foreclosure, pre-foreclosure, bank-owned, and auction categories.
  • Saves one dataset row per accepted Zillow distressed-property listing.
  • Extracts Zillow property IDs, property URLs, distress type, address parts, price, Zestimate, tax-assessed value, beds, baths, square feet, lot size, coordinates, days on Zillow, home status, and property type when Zillow exposes them.
  • Includes auction date, lender name, and loan amount only when Zillow exposes those facts for a listing.
  • Stops at your Maximum properties limit across all searches and URLs.
  • Charges only for saved distressed-property rows.
  • Works with Apify dataset exports, API clients, schedules, webhooks, and integrations.

The Actor focuses on public Zillow distressed-property listings. It does not log in to Zillow, use user-provided cookies, contact owners or agents, submit lead forms, scrape private account data, estimate repair costs, calculate ARV, score deals, or enrich rows from county records or third-party databases.

📦 Data you can extract

Each dataset item is one Zillow foreclosure, pre-foreclosure, bank-owned, or auction property listing. Fields can be null when Zillow does not show that value for a property.

FieldDescription
zpidZillow property ID.
propertyUrlZillow property page URL.
distressTypeforeclosure, preForeclosure, bankOwned, or auction.
homeStatus, propertyTypeZillow status and property type when shown.
resultPositionSource result position when known.
streetAddress, city, state, zipCodeParsed property address.
price, zestimate, taxAssessedValueListing, value, and tax facts when shown by Zillow.
beds, baths, sqftMain property size facts.
lotAreaValue, lotAreaUnitLot size when exposed.
latitude, longitudeCoordinates when exposed.
daysOnZillowDays on Zillow when exposed.
auctionDate, lenderName, loanAmountDistress-specific facts when Zillow exposes them.

🚀 How to run it

  1. Open the Input tab.
  2. Add one or more market searches, such as Miami, FL, Phoenix, AZ, or 33183.
  3. Or paste one or more Zillow search result URLs.
  4. Choose the distress types you want to collect.
  5. Set Maximum properties. Start with 25 for a quick check, then raise it up to 500.
  6. Run the Actor and open the default dataset.

You can use market searches and Zillow URLs together. The Actor saves rows until it reaches the maximum property limit or Zillow has no more matching rows for the submitted targets.

⚙️ Input

InputTypeDescription
searchLocationsArray of stringsCities, neighborhoods, or ZIP codes to search on Zillow.
startUrlsArray of URLsZillow search result URLs to collect.
distressTypesArrayDistressed-property categories to save: foreclosures, pre-foreclosures, bank-owned homes, and auctions.
maxItemsIntegerMaximum rows to save across all targets. Minimum 1, maximum 500, default 500.

At least one market search or Zillow search URL is needed. If both target inputs are empty, the run finishes successfully with zero rows and no row charges.

🧾 Output example

{
"zpid": "44271670",
"propertyUrl": "https://www.zillow.com/homedetails/7590-SW-127th-Dr-Miami-FL-33183/44271670_zpid/",
"distressType": "auction",
"homeStatus": "FOR_SALE",
"propertyType": "SINGLE_FAMILY",
"resultPosition": 1,
"streetAddress": "7590 SW 127th Dr",
"city": "Miami",
"state": "FL",
"zipCode": "33183",
"price": 5000,
"zestimate": null,
"taxAssessedValue": 564263,
"beds": 3,
"baths": 2,
"sqft": 1612,
"lotAreaValue": 7840.8,
"lotAreaUnit": "sqft",
"latitude": 25.69693,
"longitude": -80.40023,
"daysOnZillow": 9,
"auctionDate": null,
"lenderName": null,
"loanAmount": null
}

💳 Pricing

This Actor uses pay-per-event pricing. You pay for each saved distressed-property row. Empty runs, invalid empty-target runs, blocked pages that produce no rows, and diagnostic messages are not charged as property rows.

The charge event is Scraped property, meaning one saved Zillow foreclosure, pre-foreclosure, bank-owned, or auction listing.

🧭 Common use cases

  • Build a Zillow foreclosure lead list for a target market.
  • Monitor pre-foreclosure inventory in a city or ZIP code.
  • Compare bank-owned and auction supply across nearby markets.
  • Export distressed-property rows for spreadsheet review or CRM import.
  • Feed Zillow source URLs and property IDs into a downstream due-diligence workflow.

⚠️ Limits and caveats

Zillow does not expose every fact for every property. Missing optional fields such as zestimate, auctionDate, lenderName, or loanAmount mean Zillow did not expose that value in the scraped source data for that listing.

Some markets have no matching distressed-property listings for a selected category. In that case, the Actor can finish with zero rows. This is a normal result for narrow markets or narrow distress-type filters.

This Actor is not affiliated with Zillow. Use the exported data responsibly and review the linked Zillow property pages before making any business decision.

❓ FAQ

❓ Can I scrape only pre-foreclosures?

Yes. Set distressTypes to Pre-foreclosures only. You can also combine pre-foreclosures with auctions, bank-owned homes, or foreclosures.

🔗 Can I paste a Zillow URL instead of typing a location?

Yes. Use Zillow search URLs when you already have the Zillow market page or filters you want. The Actor still saves only rows matching the selected distress types.

🔐 Does the Actor need Zillow login cookies?

No. The public input does not ask for a Zillow account, cookie, API key, or private credential.

📭 Why are lender name or loan amount sometimes null?

Those fields are saved only when Zillow exposes them for the property. The Actor does not infer legal or loan facts from other sources.

📏 Can I get more than 500 properties?

The public run limit is 500 rows. Run separate markets or narrower Zillow URLs when you need to split a large research job.

📝 Changelog

  • 0.0: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré