Zillow Scraper — Zillow Listings, Prices & Zestimates
Pricing
from $50.00 / 1,000 property listings
Zillow Scraper — Zillow Listings, Prices & Zestimates
Zillow scraper for Zillow listings: US homes from search URLs or ZIP codes with price, beds, baths, square feet and Zestimates. Market data for real estate research, not investment advice.
Pricing
from $50.00 / 1,000 property listings
Rating
0.0
(0)
Developer
NexGenData
Maintained by CommunityActor stats
1
Bookmarked
4
Total users
0
Monthly active users
8 days ago
Last modified
Categories
Share
A Zillow scraper for Zillow listings: search URLs or ZIP codes in, homes out with price, beds, baths, sqft and Zestimate.
Scrape US home listings from Zillow — prices, beds, baths, sqft and Zestimates. Market data for your research, not investment advice.
Market data for your research. Not investment, valuation or financial advice.
📊 Sample Output

status | accepted_field_names | message |
|---|---|---|
| no_input | {'searchUrls': ['searchUrls', 'urls', 'startUrls', 'pages', 'searchUr… | Provide searchUrls or zipCodes to scrape Zillow listings. |
Real rows from run kv1qeueIK5dPAqoZD on build 0.0.74 (2026-09-25), unedited apart from masked emails/phones and shortened long text; fields the source does not publish are empty.
⚙️ Sample inputs
This is the Store example input — the same input Apify's automated check runs — so it is proven to return rows on the current build. Paste it into the input form, or send it through the API, CLI or a schedule:
{"maxListings": 50}
🔧 Input reference
| Field | Type | Default | What it does |
|---|---|---|---|
searchUrls | ['array', 'string'] | Zillow search URLs to scrape. Accepts a list of URLs OR a single URL string OR a comma/newline-separated list. Also accepts these alternative field names: urls, startUrls, pages,… | |
zipCodes | ['array', 'string'] | US zip codes to search Zillow for listings. Accepts a list OR a single zip code string OR a comma/newline-separated list. Also accepts these alternative field names: zips, postalC… | |
maxListings | integer | 50 | Max listings per search (1-500). |
urls | ['array', 'string'] | Alternative name for searchUrls. Accepts a list OR a single string OR comma/newline-separated. | |
startUrls | ['array', 'string'] | Alternative name for searchUrls. Accepts a list OR a single string OR comma/newline-separated. | |
pages | ['array', 'string'] | Alternative name for searchUrls. Accepts a list OR a single string OR comma/newline-separated. | |
searchUrl | string | Alternative — a single value when you only need one. Comma-separated values are auto-split. | |
url | string | Alternative — a single value when you only need one. Comma-separated values are auto-split. | |
zips | ['array', 'string'] | Alternative name for zipCodes. Accepts a list OR a single string OR comma/newline-separated. | |
postalCodes | ['array', 'string'] | Alternative name for zipCodes. Accepts a list OR a single string OR comma/newline-separated. | |
zipcodes | ['array', 'string'] | Alternative name for zipCodes. Accepts a list OR a single string OR comma/newline-separated. | |
zipCode | string | Alternative — a single value when you only need one. Comma-separated values are auto-split. | |
zip | string | Alternative — a single value when you only need one. Comma-separated values are auto-split. |
🧾 JSON sample record
One real record from run kv1qeueIK5dPAqoZD (emails/phones masked, long text shortened):
{"status": "no_input","accepted_field_names": {"searchUrls": ["searchUrls","urls","startUrls","pages","searchUrl","url"],"zipCodes": ["zipCodes","zips","postalCodes","zipcodes","zipCode","zip"]},"message": "Provide searchUrls or zipCodes to scrape Zillow listings."}
💰 Pricing
| Event | Price (USD) | When it is charged |
|---|---|---|
Actor Start (apify-actor-start) | $0.005 | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
Property listing (apify-default-dataset-item) | $0.05 | Single result in the default dataset. |
Pay-per-event: you pay only for what the run delivers. A run that delivers nothing bills no result events (only the actor-start event, when the actor defines one). Example: a run that delivers 100 results costs 100 × $0.05 = $5.00 plus the start fee.
🔗 Related Actors
More from the NexGenData Real estate family:
- Boliga Scraper — Denmark Real Estate Listings & Prices API
- Redfin Real Estate Scraper — US Listings & Prices API
- Rightmove Scraper — UK Real Estate Listings & Prices API
Full catalog: NexGenData on Apify.
⏰ Run this as a daily price/listing watch (recommended)
Prices and listings move constantly. Schedule a daily sweep (0 7 * * *) and track changes over time — an always-on listing feed.
📊 What you get
Clean JSON, one record per listing (full output has 15 fields):
zpid— Zpidaddress— Addresscity— Citystate— Statezip— Zipprice— Pricebeds— Bedsbaths— Bathssqft— Sqfthome_type— Home type
Pricing: $0.05 per listing (Pay-Per-Event) — about 20 per $1. Actor start fee $0.005 per run. Live prices are in the Pricing table below.
🤖 Use with AI agents
Point Claude, the OpenAI Agents SDK, an n8n flow or any MCP-aware client at it and pull data on demand.
Agentic payments (x402): Supports agentic payment via x402 — agents can call this actor with USDC, no API key required.
🔗 Related actors
Global property data — listings and prices across seven markets:
Redfin (US) · Rightmove (UK) · MagicBricks (India) · Boliga (Denmark) · Centaline (Hong Kong) · Singapore URA · Singapore HDB
Agent front doors: Real Estate MCP · Redfin MCP
Public web data, assembled for research and monitoring.
