Zillow Real Estate Scraper ($0.5/1k)
Pricing
from $0.50 / 1,000 search results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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, CAMiami, FLBrooklyn, NY90210Austin, 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
| Parameter | Type | Description |
|---|---|---|
searchUrls | array | Zillow search URLs. Best when you need Zillow's advanced filters. |
locations | array | Cities, ZIP codes, or neighborhoods. One search per entry. |
listingType | string | for_sale, for_rent, or recently_sold. Default for_sale. |
maxItems | integer | Maximum listings to return across all searches. Default 100. |
fetchDetails | boolean | Visit each property page to add description, MLS ID, HOA fee, price history, and school count. Off by default. |
concurrency | integer | Parallel HTTP requests. Default 2. |
preferDatacenter | boolean | Route through Apify's cheaper datacenter pool first, with automatic fallback to residential if blocked. Off by default. |
proxyConfiguration | object | Apify 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
| Field | Type | Description |
|---|---|---|
property_image_url | string | Main property photo URL |
zpid | string | Zillow property ID |
url | string | Zillow listing URL |
status | string | Listing status (FOR_SALE, FOR_RENT, RECENTLY_SOLD) |
listing_type | string | Search type: for_sale, for_rent, recently_sold |
price | number | Asking price in USD |
zestimate | number | Zillow's estimated market value in USD |
rent_zestimate | number | Zillow's estimated monthly rent in USD |
address | string | Full address |
address_street | string | Street address |
city | string | City name |
state | string | State abbreviation |
zip_code | string | ZIP code |
latitude | number | GPS latitude |
longitude | number | GPS longitude |
property_type | string | Property type (Single Family, Condo, etc.) |
bedrooms | number | Number of bedrooms |
bathrooms | number | Number of bathrooms |
living_area_sqft | number | Living area in square feet |
lot_size_sqft | number | Lot size in square feet |
year_built | number | Year built |
days_on_market | number | Days on Zillow |
tax_assessed_value | number | Tax assessed value in USD |
broker_name | string | Listing brokerage or agent name |
price_change | number | Recent price change in USD (negative means reduction) |
price_reduction | string | Zillow's human-readable reduction badge |
price_changed_at | string | Date of the most recent price change |
has_3d_tour | boolean | Property has a 3D walkthrough |
has_video | boolean | Property has a video tour |
photos | array | Property photo URLs |
photo_count | number | Total number of photos on the listing |
date_sold | string | Date sold (recently_sold listings) |
listing_sold_price | number | Final sale price in USD (recently_sold listings) |
open_house | string | Next open house time and date, if scheduled |
description | string | Full listing description (fetchDetails only) |
hoa_monthly_fee | number | Monthly HOA fee in USD (fetchDetails only) |
mls_id | string | MLS listing ID (fetchDetails only) |
price_history | array | Full price event history (fetchDetails only) |
schools_count | number | Number of associated schools (fetchDetails only) |
source_url | string | Search URL used |
source_platform | string | Always zillow.com |
scraped_at | string | ISO 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-scraperto 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: trueto 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.
| Event | Price |
|---|---|
| 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.
Legal
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.