Zillow FSBO & Coming Soon Listings Scraper avatar

Zillow FSBO & Coming Soon Listings Scraper

Pricing

Pay per usage

Go to Apify Store
Zillow FSBO & Coming Soon Listings Scraper

Zillow FSBO & Coming Soon Listings Scraper

Scrape Zillow For Sale By Owner (FSBO) and Coming Soon listings for any US location. Extract seller contact info, property prices, Zestimates, tax history, price history, photos, and more. Built for real estate investors, wholesalers, and agents who target motivated FSBO sellers and off-market deals

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 hours ago

Last modified

Categories

Share

Scrape Zillow For Sale By Owner (FSBO) and Coming Soon listings for any US location. Purpose-built for real estate investors, wholesalers, and agents who target motivated FSBO sellers and pre-market deals.

FSBO sellers have no agent representation — they are the most accessible sellers on the market. Coming Soon listings give you early access to properties before they hit the MLS. This scraper gives you both in a single run.

Why FSBO & Coming Soon?

  • FSBO sellers save 5-6% on agent commissions — they are motivated, price-flexible, and open to direct offers
  • Coming Soon listings appear before the property is officially on market — giving investors a 1-2 week head start
  • Wholesalers use FSBO data to find motivated sellers for assignment contracts
  • Agents prospect FSBO sellers to offer listing services (biggest lead source in real estate)
  • Investors find below-market deals from unrepresented sellers

Features

  • FSBO + Coming Soon filters — scrape one or both listing types in a single run
  • Seller contact extraction — name, phone, email when available
  • Investment analysis fields — Zestimate gap, price per sqft, tax assessed value, price and tax history
  • 4-tier extraction strategy__NEXT_DATA__ JSON, Apollo GraphQL cache, Zillow API search, CSS selectors
  • Anti-bot handling — CAPTCHA detection, rate limiting, 10+ rotating user agents, residential proxy support
  • Automatic pagination — follows Zillow's paginated results across all available pages
  • Deduplication — skips duplicate listings by ZPID and normalized address
  • Detail page scraping — automatically visits each listing for full description, photos, tax history, and price history

Output Fields

Each scraped listing includes:

FieldTypeDescription
zpidstringZillow Property ID
addressstringFull address
streetAddressstringStreet address only
citystringCity name
statestringState code
zipcodestringZIP code
pricenumberListing price
priceFormattedstringFormatted price (e.g., "$325,000")
zestimatenumberZillow's estimated market value
zestimateFormattedstringFormatted Zestimate
zestimateGapstringDifference between ask and Zestimate
pricePerSqftnumberPrice per square foot
bedroomsnumberNumber of bedrooms
bathroomsnumberNumber of bathrooms
sqftnumberLiving area square footage
lotSizestringLot size
yearBuiltnumberYear the property was built
propertyTypestringSingle Family, Condo, Townhouse, etc.
listingStatusstringFSBO, Coming Soon, etc.
sellerTypestring"FSBO" or "Coming Soon"
daysOnZillownumberDays on Zillow
contactNamestringSeller or agent name
contactPhonestringContact phone number
contactEmailstringContact email (when available)
descriptionstringFull listing description
photosarrayHigh-resolution photo URLs
taxHistoryarrayTax assessment history (year, value, taxPaid)
priceHistoryarrayPrice change history (date, price, event)
taxAssessedValuenumberCurrent tax assessed value
monthlyHoaFeenumberMonthly HOA fee
latitudenumberLatitude coordinate
longitudenumberLongitude coordinate
listingUrlstringZillow listing page URL
scrapedAtstringISO timestamp when scraped

Input Parameters

ParameterTypeDefaultDescription
locationstring"los-angeles-ca"City, zip, or neighborhood (Zillow slug format)
listingTypeenum"both""fsbo", "coming_soon", or "both"
minPriceinteger0Minimum price filter
maxPriceinteger0Maximum price filter
minBedsinteger0Minimum bedrooms
minBathsinteger0Minimum bathrooms
maxResultsinteger500Max listings to scrape (0 = unlimited)
proxyConfigurationobject-Apify proxy config (residential recommended)

Example Input

{
"location": "phoenix-az",
"listingType": "both",
"minPrice": 100000,
"maxPrice": 500000,
"minBeds": 3,
"minBaths": 2,
"maxResults": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Example Output

{
"zpid": "87654321",
"address": "4521 E Cactus Rd, Phoenix, AZ 85032",
"streetAddress": "4521 E Cactus Rd",
"city": "Phoenix",
"state": "AZ",
"zipcode": "85032",
"price": 349000,
"priceFormatted": "$349,000",
"zestimate": 375000,
"zestimateFormatted": "$375,000",
"zestimateGap": "+$26,000 (7.4% above ask)",
"pricePerSqft": 195,
"bedrooms": 4,
"bathrooms": 2,
"sqft": 1790,
"lotSize": "7,200 sqft",
"yearBuilt": 1985,
"propertyType": "Single Family",
"listingStatus": "For Sale by Owner",
"sellerType": "FSBO",
"daysOnZillow": 14,
"contactName": "John Smith",
"contactPhone": "(602) 555-1234",
"contactEmail": null,
"description": "Charming 4-bedroom home in the heart of Phoenix. Updated kitchen with granite countertops, new AC unit (2024), large backyard with pool. No agent commission — priced to sell!",
"photos": [
"https://photos.zillowstatic.com/fp/photo1.jpg",
"https://photos.zillowstatic.com/fp/photo2.jpg",
"https://photos.zillowstatic.com/fp/photo3.jpg"
],
"taxHistory": [
{ "year": 2025, "taxPaid": 2890, "value": 310000 },
{ "year": 2024, "taxPaid": 2750, "value": 295000 },
{ "year": 2023, "taxPaid": 2540, "value": 275000 }
],
"priceHistory": [
{ "date": "2026-02-15", "price": 349000, "event": "Listed (FSBO)" },
{ "date": "2018-06-10", "price": 225000, "event": "Sold" }
],
"taxAssessedValue": 310000,
"monthlyHoaFee": null,
"latitude": 33.5722,
"longitude": -111.9771,
"listingUrl": "https://www.zillow.com/homedetails/4521-E-Cactus-Rd/87654321_zpid/",
"scrapedAt": "2026-03-02T10:00:00.000Z",
"source": "zillow-fsbo",
"searchLocation": "phoenix-az"
}

Use Cases

Real Estate Investors

  • Find below-market FSBO deals where sellers price 5-15% below market
  • Compare ask price vs Zestimate to spot undervalued properties
  • Use tax history to identify long-term owners likely to negotiate
  • Get Coming Soon listings before competing buyers see them

Wholesalers

  • Build FSBO seller contact lists for direct mail and cold calling campaigns
  • Filter by days on market to find increasingly motivated sellers
  • Target properties with large Zestimate-to-ask gaps for assignment contracts
  • Identify distressed or long-listed properties ripe for wholesale offers

Real Estate Agents

  • Prospect FSBO sellers to offer listing representation services
  • Track Coming Soon inventory for buyer clients
  • Analyze FSBO pricing patterns in your market
  • Build market reports showing FSBO vs agent-listed price differences

Market Researchers

  • Track FSBO inventory levels across markets over time
  • Compare FSBO pricing vs MLS-listed properties
  • Analyze days-on-market for FSBO vs agent-listed homes
  • Monitor Coming Soon listing trends as a leading market indicator

Location Format

Use Zillow's URL-friendly slug format for locations:

TypeFormatExample
City + Statecity-statelos-angeles-ca, phoenix-az
Multi-word citycity-name-statesan-francisco-ca, new-york-ny
ZIP codezipcode90210, 85032
Neighborhoodneighborhood-city-statescottsdale-az
Countycounty-statemaricopa-county-az

Tip: search on zillow.com and copy the location slug from the URL.

Proxy Configuration

Zillow aggressively blocks datacenter IP addresses. Residential proxies are strongly recommended for reliable scraping.

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Without proxies, expect high block rates and incomplete results.

How It Works

  1. URL Construction — Builds Zillow search URLs with FSBO and/or Coming Soon filters using the searchQueryState parameter
  2. Search Page Scraping — Uses CheerioCrawler with realistic browser headers and conservative rate limiting
  3. 4-Tier Extraction — Tries extraction strategies in priority order:
    • __NEXT_DATA__ JSON (Next.js server-side data — most complete)
    • hdpApolloPreloadedData (Apollo GraphQL cache)
    • Zillow API search endpoint (JSON response)
    • CSS selectors (fallback for when JSON blobs are unavailable)
  4. Detail Page Enrichment — Visits each listing's detail page for full description, photos, tax history, price history, and seller contact info
  5. Investment Metrics — Calculates Zestimate gap, price per sqft, and flags undervalued properties
  6. Deduplication — Skips duplicate listings by ZPID and normalized address
  7. Pagination — Automatically follows paginated results across all available pages

Differences from General Zillow Scraper

FeatureThis Actor (FSBO)General Zillow Scraper
FocusFSBO + Coming Soon onlyAll for-sale listings
Seller contactName, phone, email extractionAgent/broker only
Investment metricsZestimate gap, price/sqft, tax analysisBasic price only
Tax historyIncludedNot included
Price historyIncludedNot included
Seller typeFSBO vs Coming Soon classificationGeneric status
Detail scrapingAlways (for contact + history)Optional
Target audienceInvestors, wholesalers, agentsGeneral real estate

Rate Limits & Anti-Bot

  • Max 12 requests per minute (conservative for Zillow)
  • Max 2 concurrent requests
  • Random delays between requests (200-1000ms)
  • 10+ rotating user agents
  • Automatic CAPTCHA and block detection
  • Graceful degradation (saves partial results on block)

Cost

Pay-per-event pricing: $0.005 per listing scraped.

Example costs:

  • 100 listings = $0.50
  • 500 listings = $2.50
  • 1,000 listings = $5.00

Plus Apify platform compute costs (~$0.25-0.50 per 1000 pages for residential proxies).

Changelog

v1.0.0 (2026-03-02)

  • Initial release
  • FSBO and Coming Soon listing filters
  • Seller contact extraction (name, phone, email)
  • Investment analysis fields (Zestimate gap, price/sqft, tax assessed value)
  • Tax history and price history extraction
  • 4-tier extraction strategy
  • Automatic pagination and deduplication
  • Detail page enrichment for all listings

Integration — Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("sovereigntaylor/zillow-fsbo-scraper").call(run_input={
"searchTerm": "zillow fsbo",
"maxResults": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item.get('title', item.get('name', 'N/A'))}")

Integration — JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('sovereigntaylor/zillow-fsbo-scraper').call({
searchTerm: 'zillow fsbo',
maxResults: 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(item.title || item.name || 'N/A'));