Zumper Scraper — US Apartments & Houses for Rent
Pricing
from $4.00 / 1,000 listing scrapeds
Zumper Scraper — US Apartments & Houses for Rent
Scrape Zumper rental listings by US city, Zumper search URL, or ZIP-adjacent area: rent price range, beds, baths, square feet, address, geo, building name, images, and listing URL. Auto-paginates past Zumper's 200-per-view cap via map-tiling. HTTP-only, fast, no login. PPE. MCP-ready.
Pricing
from $4.00 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Scrape rental listings from Zumper (zumper.com), one of the largest US apartment and house rental marketplaces. Give it a city or a Zumper search URL and get back a clean, structured dataset of every listing on the map — rent price range, bedrooms, bathrooms, square footage, address, geo-coordinates, building name, and the listing URL. HTTP-only and fast: no browser, no login, no cookies.
What you get
One record per rental listing (building/property), with these fields:
| Field | Description |
|---|---|
buildingName | Property / building name (e.g. "Camden Stoneleigh") |
address, city, state, zipcode | Street address and location |
neighborhood | Neighborhood name when Zumper provides it |
latitude, longitude | Map coordinates |
minPrice, maxPrice | Monthly rent range in USD across all floorplans |
minBedrooms, maxBedrooms | Bedroom range (0 = studio) |
minBathrooms, maxBathrooms | Bathroom range |
minSquareFeet, maxSquareFeet | Square-footage range when available |
floorplanCount | Number of distinct floorplans in the building |
isHouse | true for houses/single-family, false for apartment buildings |
hasFees | Whether Zumper flags application/other fees |
imageCount, imageIds | Photo count and raw Zumper image IDs |
featureCodes | Zumper amenity/feature codes |
listedAt, modifiedAt | ISO 8601 timestamps |
propertyUrl | Absolute Zumper listing URL (photos, floorplans, contact) |
listingId, buildingId, citySlug | Stable identifiers |
When to use it
- Renters & relocation — pull every current listing in a city into a spreadsheet and sort by price, beds, or location.
- PropTech & real-estate analysts — track rent ranges, inventory counts, and new listings across markets.
- Lead generation — build lists of rental buildings and property managers by city.
- AI agents (MCP) — a single, structured tool call: city in, JSON rentals out.
Not for: individual property deep-dives with full amenity text (use the propertyUrl), or non-US markets (Zumper is US-focused).
Pricing
Pay-per-event:
- Actor start — $0.00005 per run.
- Listing scraped — $0.004 per rental listing returned.
A 200-listing run costs about $0.80. Billing is hard-capped at your Max listings value, and the run logs the maximum possible cost before it charges anything.
Input
| Input | Description |
|---|---|
location | US city as "Austin, TX" (or a Zumper slug like austin-tx). |
startUrls | One or more Zumper search URLs (e.g. https://www.zumper.com/apartments-for-rent/chicago-il). Merged with location. |
maxResults | Cost cap / max listings (default 200, up to 20000). |
minPrice, maxPrice | Monthly-rent band filter (USD). |
minBedrooms, maxBedrooms | Bedroom-count filter. |
proxyConfiguration | Defaults to Apify datacenter US (cheapest; Zumper's API allows it). |
Example input
{"location": "Austin, TX","maxResults": 500,"minPrice": 1200,"maxPrice": 3000,"minBedrooms": 1}
Multiple cities
{"startUrls": ["https://www.zumper.com/apartments-for-rent/chicago-il","https://www.zumper.com/apartments-for-rent/miami-fl"],"maxResults": 1000}
How it works
- Your location/URL is resolved to a Zumper city slug (
austin-tx). - The actor fetches the city's GeoJSON boundary and reduces it to a bounding box.
- It queries Zumper's internal
maplist/pinsAPI for that box. Zumper caps each response at 200 listings, and returns amatchingtotal for the box. - When a box holds more than 200 listings, the actor quadtree-splits it into four sub-boxes and recurses — so it paginates far past the 200-per-view cap and covers the whole city.
- Listings are deduped by ID, filtered client-side (price/beds), and streamed to the dataset until
maxResultsis reached.
Usage from the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~zumper-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"location":"Austin, TX","maxResults":300}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("khadinakbar/zumper-scraper").call(run_input={"location": "Austin, TX", "maxResults": 300})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["buildingName"], item["minPrice"], item["maxPrice"])
MCP / AI agents
This actor is MCP-ready and exposed as apify--zumper-scraper in the Apify MCP server. It takes a narrow input (city or URL) and returns a compact, flat JSON record per listing — ideal for tool use by Claude, GPT, and other agents.
Related actors
Part of a real-estate scraping cluster:
- zillow-search-scraper — Zillow listings.
- rightmove-all-in-one-scraper — UK property.
- idealista-scraper — Spain/Italy/Portugal.
- skip-trace-property-owner — US owner data.
FAQ
Does it need a login or cookies? No. It uses Zumper's public internal API over plain HTTP.
Why is a big city capped at my Max listings? To control cost. Raise maxResults to go deeper; map-tiling will paginate automatically.
Are the numbers exact? Rent, beds, baths, and sqft are reported as the ranges Zumper publishes across a building's floorplans. Open the propertyUrl for per-unit detail.
Legal
This actor collects only publicly available data from Zumper's website for lawful purposes such as market research and personal use. You are responsible for how you use the data, including compliance with Zumper's Terms of Service and applicable laws (e.g. GDPR/CCPA). It does not collect personal data or bypass any login.