Zumper Rental Scraper & Price Change Monitor
Pricing
from $12.00 / 1,000 results
Zumper Rental Scraper & Price Change Monitor
Export Zumper rental listings or monitor new listings and asking-rent changes. Includes previous prices, contact fields where available, and persistent search state.
Pricing
from $12.00 / 1,000 results
Rating
0.0
(0)
Developer
Ben
Maintained by CommunityActor stats
1
Bookmarked
43
Total users
8
Monthly active users
3 hours ago
Last modified
Categories
Share
Export Zumper rental listings or monitor a saved search for new listings and changes in asking rent. Search by city, property type, price and bedrooms, then export JSON, CSV or Excel. You can schedule runs in Apify, call the API, or connect the dataset to n8n, Make and Zapier.
Turn on onlyChanges for recurring monitoring. Changed rows use change_type, with new, price_changed or details_changed; they include the previous asking rent and its change where those values are available. Unchanged listings stay out of the dataset.
Open the tested Austin rental example or download the n8n rental-alert template.
What data does it return?
Each row represents a source listing or building. It includes its stable listing_id, source URL, name, address components, coordinates, rent and bedroom ranges, bathrooms, available date, amenities and pet information when supplied. Contact phone, agent and brokerage fields are included when the source exposes them. Missing fields remain null or empty.
A building can contain multiple unit types. Its minimum and maximum prices describe the source building range; they do not promise that every unit fits your search filters or remains available. Contact the listing provider to confirm the exact unit and asking terms.
lead_score is a 0–100 heuristic based on fields in the listing. It can help sort records, but it does not verify a landlord, qualify a person, establish investment suitability or guarantee that a contact will respond. Source ratings and contact details remain source claims.
Pricing
Free-tier pricing is $0.015 per returned listing, plus $0.01 for each returned listing that contains a contact phone. The contact event is automatic when phone is present; it is not a separate opt-in enrichment request. Plan discounts apply to both events.
At 512 MB, the start event is $0.00005. Larger memory settings charge one start event per GB, with a minimum of one. Before discounts:
| Returned output | Cost |
|---|---|
| 10 listings without phones | $0.15005 |
| 10 listings, all with phones | $0.25005 |
| 20 listings, 5 with phones | $0.35005 |
| No changed rows | $0.00005 |
These examples illustrate the event formula, not predicted output. In monitor mode, result and phone charges apply to emitted change rows. A seed-only baseline or unchanged repeat has no dataset-result charge, but the start event remains. Set maxListings and Apify's maximum run charge before starting a large export.
Input
| Field | Behavior |
|---|---|
mode | search or direct_urls |
location | City-state slug, such as san-francisco-ca or austin-tx |
propertyType | Apartments, houses, condos, townhomes or rooms URL category |
minPrice, maxPrice | Monthly asking-rent filters |
minBeds, maxBeds | Bedroom filters; 0 means studio |
airbnbFriendly | Pass the source's Airbnb-friendly filter; not a legal eligibility check |
listingUrls | Zumper listing URLs for direct mode |
maxListings | Collected listing cap, default 10; schema maximum 1,000 |
includePhotos | Include source photo URLs where available |
useApifyProxy | Use Apify residential routing; default true |
onlyChanges | Enable persistent change monitoring; default false |
monitorId | Stable name for a saved search; otherwise derived from search settings |
firstRunMode | emitAll or seedOnly |
resetState | Reset only this monitor once; turn it off afterward |
Small one-off export
{"mode": "search","location": "san-francisco-ca","propertyType": "apartments-for-rent","maxListings": 3,"includePhotos": false,"useApifyProxy": true}
Recurring rental monitor
{"mode": "search","location": "austin-tx","propertyType": "apartments-for-rent","maxPrice": 3000,"minBeds": 1,"maxListings": 25,"includePhotos": false,"useApifyProxy": true,"onlyChanges": true,"monitorId": "austin-rentals-under-3000","firstRunMode": "seedOnly"}
The first monitor run stores the current baseline without emitting rows. Later runs with the same monitor return newly observed or changed listings. Use emitAll if you want the first run to return its baseline as new rows.
Change events
change_type is new for a previously unseen listing, price_changed when a minimum or maximum asking rent changes, or details_changed when another tracked snapshot field changes. Tracked fields include bedrooms, bathrooms, availability date and canonical listing URL. Changes to every descriptive field, such as a photo or paragraph of text, are not monitored.
Change rows include monitor_id, first_seen_at, detected_at, previous_price_min, previous_price_max, price_change_amount and price_change_percent. The numeric amount and percentage compare the minimum asking rent; a maximum-only price change can therefore have a zero minimum-price delta.
For a rent-cut alert, filter for change_type == "price_changed" and a negative price_change_amount. The current Actor does not emit event_type, price_drop or status_flip fields. It also does not report removals from a capped result window, because a listing missing from one search page is not proof that it was rented or withdrawn.
Output example
Selected fields from an actual September 4, 2026 cloud result:
{"listing_id": 58574913,"name": "Blueground San Francisco","city": "San Francisco","state": "CA","zipcode": "94105","price_min": 2950,"price_max": 16830,"beds_min": 0,"beds_max": 3,"lead_score": 81,"url": "https://www.zumper.com/apartment-buildings/1717500/blueground-san-francisco-soma-san-francisco-ca","scraped_at": "2026-09-04T05:23:26.547170+00:00"}
The dated example describes a building range and is not a current availability quote. The owner run returned 200 listings without warnings; that observation does not establish complete market coverage or future reliability.
Monitor state and scheduling
State lives in a named key-value store in the run user's Apify account. Different users do not share a baseline. Each monitor retains up to 5,000 listings seen in the preceding 90 days. Listings absent longer than that can appear as new when observed again.
Keep one monitorId for one search and avoid overlapping runs on it. If you change the city or filters, choose a new explicit ID; an automatically derived ID changes with the search configuration. resetState: true discards that monitor's baseline, so leaving it on would reseed every run.
Save the input as an Apify Task, inspect the first dataset, then add a schedule. The n8n workflow uses Actor-side state and sends a digest only when output exists. Store the Apify token in the workflow's Header Auth credential; never publish it inside an exported JSON file.
FAQ
Does this check every rental in a city? No. Output depends on source availability, source pagination and your cap. The current engine examines at most 20 pages per search path.
Why did a successful monitor return zero rows? A seed-only first run or an unchanged repeat can correctly return an empty dataset. Check the log to distinguish that outcome from a source failure. Monitor state is not advanced when a source page fails.
Can I use it without monitoring? Yes. Leave onlyChanges false for a normal bounded export. No persistent change baseline is needed.
Are phones guaranteed? No. They appear only where the source supplies them, and the automatic contact event applies to those returned rows.
How do I report a problem? Open an Actor issue with the run URL, input and expected behavior. Avoid posting credentials or private tenant information. An honest review after a useful run helps other users assess the tool.
Can I reuse the data? Check source terms and your intended use. Keep collection bounded and retain only fields needed for your work.
Related Actors
HotPads rentals and Craigslist real estate cover other rental sources. Each has its own output, limits and pricing.
Keywords: Zumper scraper, rental listings API, rental price monitoring, apartment data, asking rent changes, new rental alerts, rental CSV export, Austin rentals, San Francisco rentals, n8n rental workflow.