Zumper Rental Listings Scraper — Search + Details avatar

Zumper Rental Listings Scraper — Search + Details

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Zumper Rental Listings Scraper — Search + Details

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

Haketa

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

9 days ago

Last modified

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)

  1. In Search URLs / cities, add one per line:

    /apartments-for-rent/new-york-ny
    https://www.zumper.com/apartments-for-rent/austin-tx
    san-francisco-ca
  2. Keep Include building details on for email/homepage/year-built.

  3. 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 ApifyClient
client = 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

FieldTypeDescription
Search URLs / citiesarrayFull URL, path (/apartments-for-rent/city-st) or city slug. Empty = demo.
Include building detailsbooleanFetch each listing's building page for relay email, homepage, year built, units. Default on.
Max listingsintegerTotal cap across searches. Default 200.
Speed (parallel searches)integerSearches at once. Default 5.
Proxy configurationobjectApify 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"
}
FieldDescription
minPrice / maxPrice / min-maxBedrooms / min-maxBathroomsPricing & layout.
address / city / state / zipcode / neighborhood / lat / lngLocation.
phone / agentName / brokerageNameContact (phone is the real number).
emailZumper relay email (@zump.co) — present on some buildings (with Include details).
homepageBuilding / property-management website — where the real landlord email usually lives.
yearBuilt / unitCount / amenities / dateAvailable / petsBuilding & listing details.
urlZumper listing/building URL.
scrapedAtISO timestamp.

Tips & notes

  • Contacts: phone + agent + brokerage are on ~every listing. The @zump.co email is a relay (routes through Zumper); for the raw landlord email, use the building homepage.
  • Turn off details for speed: includeDetails: false skips 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 listingId or buildingId across 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.