Zumper Rental Scraper & Price Change Monitor avatar

Zumper Rental Scraper & Price Change Monitor

Pricing

from $12.00 / 1,000 results

Go to Apify Store
Zumper Rental Scraper & Price Change Monitor

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

Ben

Maintained by Community

Actor stats

1

Bookmarked

43

Total users

8

Monthly active users

3 hours ago

Last modified

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 outputCost
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

FieldBehavior
modesearch or direct_urls
locationCity-state slug, such as san-francisco-ca or austin-tx
propertyTypeApartments, houses, condos, townhomes or rooms URL category
minPrice, maxPriceMonthly asking-rent filters
minBeds, maxBedsBedroom filters; 0 means studio
airbnbFriendlyPass the source's Airbnb-friendly filter; not a legal eligibility check
listingUrlsZumper listing URLs for direct mode
maxListingsCollected listing cap, default 10; schema maximum 1,000
includePhotosInclude source photo URLs where available
useApifyProxyUse Apify residential routing; default true
onlyChangesEnable persistent change monitoring; default false
monitorIdStable name for a saved search; otherwise derived from search settings
firstRunModeemitAll or seedOnly
resetStateReset 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.

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.