Zillow Map Results
Pricing
from $1.15 / 1,000 map results — usd 2.00 to usd 1.15 per 1,000s
Zillow Map Results
Collect lightweight Zillow map cards beyond one result window with automatic area subdivision. Build deduplicated map feeds with your own result limit and visible collection limits.
Pricing
from $1.15 / 1,000 map results — usd 2.00 to usd 1.15 per 1,000s
Rating
0.0
(0)
Developer
Al Ol
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
Zillow Map Scraper: Property Coordinates and ZPIDs
Scrape Zillow map results with property coordinates, prices, and ZPIDs for geographic analysis and property discovery. Search by ZIP code, location, Zillow URL, or map bounds. Automatic subdivision explores dense areas, while deduplication combines overlapping targets into one output.
- Discover properties hidden inside grouped map pins: building cards are expanded into individual properties with their own ZPIDs, coordinates, and prices, then deduplicated against ordinary map results.
- Choose your own scale:
maxResultshas no fixed upper bound in the input schema; set a positive limit of at least 20. The default is 20. Source availability, subdivision depth, run time, and budgets still apply; collecting every property is not guaranteed. - Build map and inventory feeds: retrieve available coordinates, prices, and core property facts without requesting a full detail record for every home.
- Make coverage visible: output quality metadata reports collection limits and missing data, so downstream analysis can account for incomplete results.
Zillow Map Results returns lightweight, normalized property cards sourced from Zillow’s mapResults response and individual properties resolved from grouped building cards. It is intended for map inventories, geographic analysis, bulk ZPID discovery, and workflows that do not need the richer listResults card fields.
The Actor writes one Dataset row per unique map result. For richer listResults cards, use Zillow Search. For detailed data from property pages, including available agent and broker attribution, use Zillow Property Details. For ongoing change tracking with saved monitor state, use Zillow Listing Monitor. Standalone professional profiles are not supported by our current Actors.
Use cases
- Collect dense map inventories with coordinates and stable Zillow property IDs.
- Build lightweight geographic datasets for visualization or downstream enrichment.
- Discover properties across ZIP codes, free-text regions, Zillow search URLs, or custom bounds.
- Reduce the public output surface when rich search-card metadata is unnecessary.
Automatic building expansion
Zillow sometimes combines several properties into one building card (isBuilding=true). This Actor opens the building’s exposed unit inventory, retrieves the actual property records for matching candidates, and merges them into collection by ZPID. A property appearing both individually and inside a group is counted once. There is no extra input switch.
Search status, price, bedroom, bathroom, size, property-type, and map-bound filters are checked against individual properties. Sold and off-market units are not added to an active-sale search. Existing result limits and budgets still apply; expanding buildings requires additional source requests and may increase run time.
Zillow may return null, empty lists, or omit optional unit lists. These values are skipped while available individual properties are still processed; missing inventory alone does not degrade the scan or trigger retries. Floor-plan IDs and building minimum prices are never substituted for individual property records. Actual fetch failures, unfinished pagination, and invalid property data still affect collection quality.
Input examples
At least one of zipCodes, locationQueries, searchUrls, or mapBounds must identify a search area.
ZIP search
{"zipCodes": ["78704"],"maxResults": 100}
Filtered map search
{"locationQueries": ["Austin, TX"],"listingTypes": ["forSale","fsbo"],"priceMin": 300000,"priceMax": 900000,"bedsMin": 3,"bathsMin": 2,"sqftMin": 1500,"sqftMax": 3000,"homeTypes": ["house","townhome"],"daysOnZillowMax": 30,"keywords": ["garage"],"maxResults": 500}
Map-bounds search
{"mapBounds": {"north": 30.35,"south": 30.2,"east": -97.65,"west": -97.85},"listingTypes": ["forRent"],"externalId": "austin-map","correlationId": "sync-2026-09-01","maxConcurrency": 10}
Search within a radius and sale-date window
Use center with radiusMiles for an exact circular target. A fractional radius such as 2.5 miles is supported. Do not combine it with ZIP codes, location queries, search URLs or map bounds. Cards without coordinates are excluded. Sale-date boundaries are inclusive; unknown sale dates are excluded. Date windows require only the sold listing type and cannot be combined with daysOnZillowMax or search URLs.
{"center": {"latitude": 47.6,"longitude": -122.3},"radiusMiles": 2.5,"listingTypes": ["sold"],"soldDateFrom": "2026-08-01","soldDateTo": "2026-09-11","maxResults": 20}
The source is queried over an enclosing rectangle; exact radius and sale-date filters run before the result limit. A narrow window may still require many source requests. Use upstream attempt/cost limits to bound that work; reaching them can leave the result incomplete.
Output examples
Map-result row
{"externalId": "austin-map","correlationId": "sync-2026-09-01","zpid": "123456789","url": "https://www.zillow.com/homedetails/123456789_zpid/","address": {"full": "100 Example Ave, Austin, TX 78704"},"latitude": 30.25,"longitude": -97.75,"status": "FOR_SALE","price": 625000,"currency": "USD","zestimate": 618000,"rentZestimate": 3200,"beds": 3,"baths": 2,"livingAreaSqft": 1840,"lotAreaSqft": 6534,"homeType": "SINGLE_FAMILY","lastModifiedAt": "2026-08-29T15:30:00.000Z","scrapedAt": "2026-09-01T10:00:00.000Z","quality": {"expected": null,"fetched": 1,"deduplicated": 1,"emitted": 1,"coverage": null,"truncated": false,"degraded": false,"dataAgeSeconds": null,"completeness": "unknown","reasons": ["runLevelCoverageUnavailablePerRow","sourceDataAgeUnavailable"]}}
Construction year, sale data and price basis
yearBuilt, lastSoldPrice, lastSoldDate and pricePerSqft are nullable. Ordinary search cards usually do not include construction year; an expanded building unit may provide it. No per-card Details request is added to fill these fields. Older stored cards may omit them.
lastSoldDate is the source's calendar sale date, not the listing or modification date. lastSoldPrice uses an exact disclosed numeric price on a confirmed sold card; it stays null when absent or conflicting. Rounded display labels such as "$1.28M" do not replace an exact numeric sale price. Some markets do not disclose sale prices.
pricePerSqft divides a known numeric card price by positive living area: asking price for active sale listings, monthly rent for rentals, disclosed transaction price for sold cards. These bases are different; do not mix them in a single market median. Unavailable or ambiguous values remain null.
Pricing
Max Cost: the Actor limits collection to the number of listings the remaining run budget can pay for. It stops new pages, subdivisions, and targets when that limit is reached, then finishes the pending output. Saved Dataset rows and their charges are retained; the requested result count may not be reached.
There is no fixed start charge. Platform usage is included in paid result events. Paid runs request at least 20 results, and each successfully written map-result row is charged as one search-result event.
The effective result price depends on the customer's Apify tier. Apify applies the rate for the customer's eligible account tier to every charged map-result row:
| Apify tier | Per map-result row | Per 1,000 rows |
|---|---|---|
| FREE | $0.00200 | $2.00 |
| BRONZE | $0.00170 | $1.70 |
| SILVER | $0.00145 | $1.45 |
| GOLD | $0.00115 | $1.15 |
Prices may change; the Apify Console shows the effective tier and price before a run.
The input minimum of 20 requests a result limit; it is not a minimum bill. If only three cards are published, three result events apply. A platform minimum spending limit is the smallest permitted cap, not a fixed fee.
FAQ
Can I collect Zillow property coordinates for a map?
Yes. Map cards include available latitude, longitude, price, and ZPID values. Use them for geographic datasets or pass selected ZPIDs to Zillow Property Details for enrichment. Coordinate availability depends on the source.
Does this Actor return Zillow's raw JSON?
No. Its search requests use mapResults; grouped cards trigger additional building and property requests. Both paths return the same compact normalized schema without raw Zillow payloads.
Why can the Dataset be empty?
No listing may match, filters may remove every card, or an upstream target may be unavailable. A zero-row Dataset is valid.
How is this different from Zillow Search?
Zillow Search requests richer listResults cards. This Actor starts from mapResults, which favors dense map coverage and a narrower schema. Both Actors can expand grouped buildings into individual properties.
Related Actors
Explore our other real-estate Actors for property discovery, enrichment, market analysis, and monitoring:
- Zillow Search — Collect listing cards by ZIP code, location, search URL, or map bounds.
- Zillow Area Statistic — Get ZIP-level statistics calculated from Zillow sale or rental listings.
- Zillow Property Details — Enrich Zillow property IDs or detail URLs with detailed property records.
- Zillow Listing Monitor — Track new listings, price changes, status changes, and confirmed delistings across repeated scans.
- Realtor.com Listings by ZIP — Collect Realtor.com listing cards and separate market-statistics rows by ZIP code.
- Realtor.com ZIP Market Stats — Get Realtor.com housing-market aggregates by ZIP code without collecting listing cards.
- Realtor.com Property Details — Enrich Realtor.com property IDs or detail URLs with detailed property records.
Responsible use and data availability
Use the Actor only where your collection and downstream processing comply with applicable law, contractual terms, privacy obligations, and platform rules. Zillow controls upstream availability and fields can be missing, delayed, or changed.
