Zumper Rental Listings Scraper — Search + Details
Pricing
from $2.00 / 1,000 results
Zumper Rental Listings Scraper — Search + Details
Search US apartments and houses for rent on Zumper: price, beds/baths, address, phone, agent and brokerage, amenities, availability — plus optional building details (relay email, homepage, year built). Keyless, no anti-bot.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
Search US apartments & houses for rent on Zumper in bulk and get price, beds/baths, address, phone, agent & brokerage, amenities and availability — plus optional building details (contact email, homepage, year built, units). Clean JSON/CSV/Excel.
Uses Zumper's public mobile JSON API — keyless, no anti-bot, pure HTTP — so it's fast and reliable at scale.
About contacts & "emails": Zumper exposes a real phone on every listing plus the agent & brokerage name. Email is a Zumper relay address (
@zump.co) available on some buildings — it reaches the landlord through Zumper, it's not their raw inbox. For the real landlord email, the building's homepage (property-management website, included when available) is the place to look. This Actor gives you phone + agent + brokerage + relay-email + homepage — a complete outreach set.
What this Actor does
For each city/search you point it at, it returns every rental listing with:
- Pricing & layout — min/max price, min/max bedrooms & bathrooms, property type.
- Location — address, city, state, zip, neighborhood, lat/lng.
- Contact — phone (real), agent name, brokerage name.
- Listing — availability date, pet policy, rating, amenities, title, Zumper URL.
- Building details (optional) — relay email (
@zump.co), homepage, year built, unit count, building description.
Point it with a full URL, a path, or just a city slug — and it paginates through the results.
Why use it
- Rental market data at scale. Pull entire cities of listings with price, beds and location for market analysis or aggregation.
- Outreach-ready contacts. Phone + agent + brokerage on every listing; relay email + building homepage when available.
- Keyless & clean. Public JSON API, no key, no anti-bot, no captcha.
- Flexible input. URL, path or city slug; multiple searches per run.
- Building enrichment. Optional building page adds email, homepage and year built.
Who it's for
- Rental marketplaces & aggregators sourcing US listings.
- Real-estate & proptech teams building rental datasets and market dashboards.
- Lead-gen / outreach teams contacting property managers (phone + agent + homepage).
- Analysts studying rent, availability and inventory by city.
Quick start
Run it in the console (no code)
-
In Search URLs / cities, add one per line:
/apartments-for-rent/new-york-nyhttps://www.zumper.com/apartments-for-rent/austin-txsan-francisco-ca -
Keep Include building details on for email/homepage/year-built.
-
Set Max listings, click Start, export as JSON, CSV, Excel or HTML.
Leave it empty for a demo (San Francisco).
Run it via API (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run_input = {"searchUrls": ["/apartments-for-rent/new-york-ny"],"includeDetails": True,"maxItems": 500,}run = client.actor("YOUR_USERNAME/zumper-scraper").call(run_input=run_input)for r in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{r['buildingName']} — ${r['minPrice']} — {r['phone']} — {r['agentName']}")
Run it via API (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('YOUR_USERNAME/zumper-scraper').call({searchUrls: ['san-francisco-ca'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((r) => console.log(`${r.address}: $${r.minPrice}-${r.maxPrice} — ${r.phone}`));
Input
| Field | Type | Description |
|---|---|---|
| Search URLs / cities | array | Full URL, path (/apartments-for-rent/city-st) or city slug. Empty = demo. |
| Include building details | boolean | Fetch each listing's building page for relay email, homepage, year built, units. Default on. |
| Max listings | integer | Total cap across searches. Default 200. |
| Speed (parallel searches) | integer | Searches at once. Default 5. |
| Proxy configuration | object | Apify Proxy. On by default. |
Output
One record per listing:
{"listingId": "58574872","buildingId": "1717500","buildingName": "340 Fremont","address": "340 Fremont St","city": "San Francisco", "state": "CA", "zipcode": "94105","neighborhood": "Rincon Hill","lat": "37.78", "lng": "-122.39","minPrice": "4515", "maxPrice": "8228","minBedrooms": "0", "maxBedrooms": "2","minBathrooms": "1", "maxBathrooms": "2","propertyType": "apartment","dateAvailable": "2026-11-01","pets": "cats, dogs","phone": "(650) 753-5405","agentName": "340 Fremont","brokerageName": "Equity Residential","email": "1911523@zump.co","homepage": "https://www.equityapartments.com/...","yearBuilt": "2016","unitCount": "44","amenities": "Pool; Gym; Parking; ...","url": "https://www.zumper.com/apartment-buildings/1717500/340-fremont-san-francisco-ca","scrapedAt": "2026-10-12T12:00:00.000Z"}
| Field | Description |
|---|---|
minPrice / maxPrice / min-maxBedrooms / min-maxBathrooms | Pricing & layout. |
address / city / state / zipcode / neighborhood / lat / lng | Location. |
phone / agentName / brokerageName | Contact (phone is the real number). |
email | Zumper relay email (@zump.co) — present on some buildings (with Include details). |
homepage | Building / property-management website — where the real landlord email usually lives. |
yearBuilt / unitCount / amenities / dateAvailable / pets | Building & listing details. |
url | Zumper listing/building URL. |
scrapedAt | ISO timestamp. |
Tips & notes
- Contacts: phone + agent + brokerage are on ~every listing. The
@zump.coemail is a relay (routes through Zumper); for the raw landlord email, use the buildinghomepage. - Turn off details for speed:
includeDetails: falseskips the per-building request (no email/homepage/year-built) and runs much faster for pure market data. - City formats:
/apartments-for-rent/<city>-<state>(e.g./apartments-for-rent/new-york-ny). A full URL or bare slug also works. - Dedupe on
listingIdorbuildingIdacross searches. - Max listings bounds the run; raise it to sweep a whole city.
Frequently asked questions
Do I need an API key? No — Zumper's public mobile JSON API, keyless and without anti-bot.
Does it give landlord emails?
It gives a Zumper relay email (@zump.co) on some buildings, plus phone + agent + brokerage on ~every listing and the building homepage (where the real email usually is). Zumper itself hides raw landlord inboxes behind its messaging relay.
Can I scrape a whole city? Yes — it paginates through the search; set Max listings to control volume.
What identifies a listing uniquely?
listingId (and buildingId for the building).
Is it good for a rental aggregator or market analysis? Yes — clean, structured price/beds/location/contact data across US cities.
Export & integrate
Results are available as JSON, CSV, Excel, HTML and via the Apify API. Push to Google Sheets, a webhook, Make, Zapier or your database — and schedule runs to keep rental inventory fresh.
Data from Zumper's public listings. Not affiliated with Zumper.