Zillow Real Estate Scraper ($0.5/1k) avatar

Zillow Real Estate Scraper ($0.5/1k)

Pricing

from $0.50 / 1,000 search results

Go to Apify Store
Zillow Real Estate Scraper ($0.5/1k)

Zillow Real Estate Scraper ($0.5/1k)

Scrape property listings from Zillow.com — the US's #1 real estate portal. Returns price, address, beds, baths, sqft, year built, GPS coordinates, and Zestimate for for-sale, for-rent, and recently-sold listings. No login required. Pay-per-result.

Pricing

from $0.50 / 1,000 search results

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Zillow Real Estate Scraper

Get property listings from Zillow.com as clean JSON. Works with for-sale, for-rent, and recently-sold listings across the US. Returns 30+ fields per listing including price, address, Zestimate, broker name, GPS coordinates, days on market, and photos. No login required.

At $0.50 per 1,000 listings, this is the cheapest reliable Zillow scraper on Apify.

What you can do with it

  • Track price drops and new listings in a market you follow
  • Pull recently sold homes for comparable market analysis
  • Export rental inventory for pricing research
  • Feed live real-estate data into your CRM, dashboard, or AI agent
  • Enrich a list of specific properties by their Zillow ID

How to use it

Option 1: Enter one or more locations. Set locations to a list of cities, ZIP codes, or neighborhoods. Each entry becomes a separate search.

Los Angeles, CA
Miami, FL
Brooklyn, NY
90210
Austin, TX

Option 2: Paste Zillow search URLs. Open zillow.com, apply your filters (price range, beds, home type), copy the browser URL, and paste it into searchUrls. Use this when you need Zillow's advanced filters that aren't exposed as inputs here.

Minimal input

{
"locations": ["Miami, FL"],
"listingType": "for_sale",
"maxItems": 100
}

Input with full details

{
"locations": ["Austin, TX", "78701"],
"listingType": "for_sale",
"maxItems": 50,
"fetchDetails": true,
"preferDatacenter": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"countryCode": "US"
}
}

Input parameters

ParameterTypeDescription
searchUrlsarrayZillow search URLs. Best when you need Zillow's advanced filters.
locationsarrayCities, ZIP codes, or neighborhoods. One search per entry.
listingTypestringfor_sale, for_rent, or recently_sold. Default for_sale.
maxItemsintegerMaximum listings to return across all searches. Default 100.
fetchDetailsbooleanVisit each property page to add description, MLS ID, HOA fee, price history, and school count. Off by default.
concurrencyintegerParallel HTTP requests. Default 2.
preferDatacenterbooleanRoute through Apify's cheaper datacenter pool first, with automatic fallback to residential if blocked. Off by default.
proxyConfigurationobjectApify proxy settings. Residential + US by default.

What you get back

For every listing, the scraper returns:

  • Price and Zestimate (Zillow's estimated market value)
  • Rent Zestimate (Zillow's estimated monthly rent)
  • Broker name (listing brokerage or agent)
  • Full address broken into street, city, state, and ZIP
  • GPS coordinates
  • Property type (Single Family, Condo, Townhouse, etc.)
  • Bedrooms and bathrooms
  • Living area in sqft and lot size in sqft
  • Year built
  • Days on market
  • Tax assessed value
  • Price change amount, badge, and date (when a price drop happened)
  • Media flags (3D tour, video tour) and photo count
  • Photo URLs
  • Listing status (FOR_SALE, FOR_RENT, RECENTLY_SOLD)
  • Date sold and final sale price for recently-sold listings
  • Next open house time and date, if scheduled

With fetchDetails: true, every listing is also enriched from its property detail page with:

  • Full listing description
  • HOA monthly fee
  • MLS ID
  • Complete price history (date, event, and price for every past change)
  • Number of associated schools

Output example

{
"property_image_url": "https://photos.zillowstatic.com/fp/abc123-p_e.jpg",
"zpid": "20527905",
"url": "https://www.zillow.com/homedetails/123-Main-St-Los-Angeles-CA-90001/20527905_zpid/",
"status": "FOR_SALE",
"listing_type": "for_sale",
"price": 750000,
"zestimate": 780000,
"rent_zestimate": 3400,
"address": "123 Main St Los Angeles, CA 90001",
"address_street": "123 Main St",
"city": "Los Angeles",
"state": "CA",
"zip_code": "90001",
"latitude": 34.052235,
"longitude": -118.243683,
"property_type": "Single Family",
"bedrooms": 3,
"bathrooms": 2,
"living_area_sqft": 1800,
"lot_size_sqft": 6000,
"year_built": 1995,
"days_on_market": 12,
"tax_assessed_value": 680000,
"broker_name": "Compass Realty",
"price_change": -25000,
"price_reduction": "$25,000 (Jul 20)",
"has_3d_tour": true,
"has_video": false,
"photos": ["https://photos.zillowstatic.com/fp/abc123.jpg"],
"source_url": "https://www.zillow.com/homes/Los-Angeles,-CA_rb/",
"source_platform": "zillow.com",
"scraped_at": "2026-07-27T10:00:00Z"
}

Full field reference

FieldTypeDescription
property_image_urlstringMain property photo URL
zpidstringZillow property ID
urlstringZillow listing URL
statusstringListing status (FOR_SALE, FOR_RENT, RECENTLY_SOLD)
listing_typestringSearch type: for_sale, for_rent, recently_sold
pricenumberAsking price in USD
zestimatenumberZillow's estimated market value in USD
rent_zestimatenumberZillow's estimated monthly rent in USD
addressstringFull address
address_streetstringStreet address
citystringCity name
statestringState abbreviation
zip_codestringZIP code
latitudenumberGPS latitude
longitudenumberGPS longitude
property_typestringProperty type (Single Family, Condo, etc.)
bedroomsnumberNumber of bedrooms
bathroomsnumberNumber of bathrooms
living_area_sqftnumberLiving area in square feet
lot_size_sqftnumberLot size in square feet
year_builtnumberYear built
days_on_marketnumberDays on Zillow
tax_assessed_valuenumberTax assessed value in USD
broker_namestringListing brokerage or agent name
price_changenumberRecent price change in USD (negative means reduction)
price_reductionstringZillow's human-readable reduction badge
price_changed_atstringDate of the most recent price change
has_3d_tourbooleanProperty has a 3D walkthrough
has_videobooleanProperty has a video tour
photosarrayProperty photo URLs
photo_countnumberTotal number of photos on the listing
date_soldstringDate sold (recently_sold listings)
listing_sold_pricenumberFinal sale price in USD (recently_sold listings)
open_housestringNext open house time and date, if scheduled
descriptionstringFull listing description (fetchDetails only)
hoa_monthly_feenumberMonthly HOA fee in USD (fetchDetails only)
mls_idstringMLS listing ID (fetchDetails only)
price_historyarrayFull price event history (fetchDetails only)
schools_countnumberNumber of associated schools (fetchDetails only)
source_urlstringSearch URL used
source_platformstringAlways zillow.com
scraped_atstringISO timestamp

Use it with AI agents (MCP)

Connect this actor to any MCP-compatible AI client (Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents).

Apify MCP server URL:

https://mcp.apify.com?tools=santamaria-automations/zillow-scraper

Example prompt once connected:

"Use zillow-scraper to get for-sale listings in Miami, FL. Return price, beds, baths, and address as a table."

Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.

Tips for best results

  • Save on cost with preferDatacenter: true. Datacenter proxy runs are about 6x cheaper than residential. If a session hits a block, the actor rotates sessions automatically and falls back to residential after 3 consecutive blocks. Same output, lower cost per run.
  • Residential is the default because it always works. Leave it on if you want maximum reliability without thinking about proxies.
  • Recently sold returns homes sold in the past 90 days.
  • Zillow caps search results at about 1,000 listings per query. For a full market, split by neighborhood or ZIP code.
  • Rental listings on Zillow often group multiple units under an apartment building. Set fetchDetails: true to enrich those with per-unit data.
  • The scraper rotates browser fingerprints and proxy sessions automatically for the best success rate.

Pricing

Pay only for what you get. No monthly fee, no minimum.

EventPrice
Actor start$0.001
Per property listing (search)$0.50 per 1,000
Per property with full details$1.50 per 1,000 (only when fetchDetails: true)

A run scraping 100 listings costs about $0.05. Adding full detail enrichment on top brings it to about $0.20.

This scraper accesses only publicly available property listings on Zillow.com. Use the data for market research, real estate analysis, or feeding your own product. Do not resell the raw dataset as-is, and respect Zillow's terms of use in downstream applications.