Zumper Scraper with Contacts | Fast & Reliable avatar

Zumper Scraper with Contacts | Fast & Reliable

Pricing

from $0.70 / 1,000 property listings

Go to Apify Store
Zumper Scraper with Contacts | Fast & Reliable

Zumper Scraper with Contacts | Fast & Reliable

Extract Zumper rental listings at scale with rich property detail, contact data, ratings, fees, amenities, and flexible market filters. Built for enterprise-grade US rental intelligence, lead enrichment, market monitoring, and automated analytics pipelines.

Pricing

from $0.70 / 1,000 property listings

Rating

0.0

(0)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Zumper Scraper | US Rental Property

Slug: fatihtahta/zumper-scraper

Overview

Zumper Scraper | US Rental Property collects structured rental listing records, including listing identity, location, pricing, property layout, contact details, amenities, media metadata, ratings, fees, and source context. Zumper is a public rental marketplace for apartment, house, condo, room, and townhome listings, making its listing data useful for rental market analysis, availability monitoring, and operational reporting. The actor turns repeatable Zumper searches into consistent JSON output that can be reviewed in Apify or connected to downstream systems. It is designed for dependable recurring data acquisition workflows where users need structured extraction, predictable records, and clear filters without manual browsing. Results reflect the public listing data available at run time and should be validated against each user’s target market, filters, and reporting requirements.

Why Use This Actor

  • Market research and analytics teams: collect normalized rental supply, pricing, location, rating, and amenity data for market intelligence and trend analysis.
  • Product and content teams: populate rental discovery experiences, local guides, comparison pages, or internal catalogs with structured public listing attributes.
  • Developers and data engineering teams: feed repeatable collection jobs into downstream systems, ETL pipelines, warehouses, and monitoring workflows.
  • Lead generation and enrichment teams: build targeted rental-property datasets with public contact, location, property, amenity, and availability signals when present.
  • Monitoring and competitive tracking teams: track pricing movement, new listings, deal signals, luxury or affordable segments, and changes in market inventory over time.

Common Use Cases

  • Market intelligence: monitor rental supply, rent ranges, listing freshness, neighborhood density, amenities, ratings, and property category movement.
  • Lead generation: build targeted prospect lists from public rental listings, buildings, property managers, and agent-facing contact fields when available.
  • Competitive monitoring: track comparable properties across target cities, neighborhoods, price bands, property types, or amenity groups.
  • Catalog and directory building: populate internal real estate databases with structured listings, building metadata, location details, media references, and public profile URLs.
  • Data enrichment: add current public rental attributes to existing CRM, BI, valuation, or analytics datasets.
  • Recurring reporting: schedule periodic runs for rental dashboards, alerting, market snapshots, and historical analysis.

Quick Start

  1. Choose a required location, such as a city and state, ZIP code, neighborhood, or rental market.
  2. Add optional filters such as price, bedrooms, bathrooms, property type, amenities, lease length, listing age, ratings, or deal signals.
  3. Set a small limit for the first validation run, such as 25 or 50 records.
  4. Run the actor in Apify Console and wait for the dataset to be created.
  5. Inspect the first records to confirm that the location, filters, and field shape match your use case.
  6. Increase the limit, refine filters, enable enrichment if richer listing details are needed, or schedule recurring runs.

Input Parameters

The actor requires at least one location and supports optional filters for price, layout, property type, amenities, policies, freshness, ratings, sorting, enrichment, and maximum saved results.

ParameterTypeDescriptionDefault
locationarray of stringsRequired search targets. Enter one or more cities and states, ZIP codes, neighborhoods, boroughs, or rental markets. Each location is searched separately.Prefill: ["Austin, TX"]
min_priceintegerMinimum monthly rent in USD. Only saves listings with rent at or above this amount.–
max_priceintegerMaximum monthly rent in USD. Only saves listings with rent at or below this amount.–
price_categorystringOptional price segment. Allowed values: cheap, luxury.–
min_areaintegerMinimum floor area in square feet.–
min_bedroomstringMinimum bedroom count. Allowed values: studio, 1, 2, 3, 4+.–
max_bedroomstringMaximum bedroom count. Allowed values: studio, 1, 2, 3, 4+.–
min_bathroomstringMinimum bathroom count. Allowed values: 1, 2, 3, 4, 5+.–
max_bathroomstringMaximum bathroom count. Allowed values: 1, 2, 3, 4, 5+.–
property_typearray of stringsProperty types to include. Allowed values: apartment, condo, house, room, townhouse, other. Leave empty to include all supported property types.–
pets_allowedarray of stringsPet policies to include. Allowed values: dogs, cats.–
laundryarray of stringsLaundry options to include. Allowed values: in_building, in_unit.–
listing_featuresarray of stringsListing-level signals to require. Allowed values: 3d_tour_or_video_tour, has_photos, live_virtual_walkthrough, new_construction, posted_today.–
amenitiesarray of stringsApartment or building amenities to require. Allowed values: air_conditioning, assigned_parking, central_heat, dishwasher, garage_parking, hardwood_floor, pool, balcony, business_center, carpet, ceiling_fan, concierge_service, controlled_access, deck, door_person, dry_cleaning_service, elevator, ev_charging, fireplace, furnished, garden, gym, high_ceilings, leed_certified, on_site_management, outdoor_space, package_service, residents_lounge, roof_deck, storage, tv, walk_in_closet, wheelchair_accessible, wi_fi.–
lease_lengthstringLease length filter. Allowed values: short_term, long_term.–
publication_datestringListing age window. Allowed values: last_24_hours, last_7_days, last_2_weeks, last_1_month.–
dealsarray of stringsDeal or savings signals to require. Allowed values: rent_special, no_security_deposit, price_drop, sweet_deal, utilities_included.–
highly_ratedbooleanWhen enabled, saves listings with a rating of at least 4 where rating data is available.false
zumper_expert_ratingstringMinimum Zumper expert rating threshold. Allowed values: 9+, 7+, 5+.–
lifestylearray of stringsLifestyle tags to require. Allowed values: eco_living, pet_owners, social_life, wellness, work_from_home.–
specialty_housingarray of stringsSpecialty housing categories to require. Allowed values: 55_plus_community, student_housing, income_restricted.–
sort_bystringSort order for matching listings. Allowed values: most_relevant, newest_first, price_low_to_high, price_high_to_low, rating_low_to_high, rating_high_to_low.most_relevant
enrich_databooleanEnables richer listing and agent details, including descriptions, media, amenities, policies, and contact information when available.false
limitintegerMaximum number of listings to save per location. Minimum value: 1. Leave empty to collect as many matching results as available.Prefill: 100

Choosing Inputs

Use location as the main scope for every run. A broad location, such as a city, improves discovery, while a specific ZIP code or neighborhood creates cleaner segmentation for reporting. Add multiple locations when you want each one searched as its own seed. Price, bedroom, bathroom, property type, amenity, pet, lease length, deal, rating, and lifestyle filters narrow the dataset toward a defined rental segment; leaving optional filters empty keeps the run broader. Use publication_date when freshness matters, such as monitoring new listings from the last 24 hours or last 7 days. Use sort_by to prioritize relevance, freshness, price, or rating before records are saved. Start with a small per-location limit to validate the output shape, then increase it once the resulting records match your workflow.

Location Examples

Use any renter-facing Zumper search area. Each value becomes its own search seed.

{
"location": [
"Austin, TX",
"10001",
"Chelsea, New York, NY",
"Brooklyn, NY",
"Downtown Austin",
"West Hollywood, CA"
]
}

Example Inputs

Broad City Discovery

{
"location": ["Austin, TX"],
"property_type": ["apartment", "townhouse"],
"sort_by": "most_relevant",
"enrich_data": false,
"limit": 50
}

Recently Posted Rentals

{
"location": ["New York, NY"],
"publication_date": "last_7_days",
"listing_features": ["has_photos"],
"sort_by": "newest_first",
"enrich_data": true,
"limit": 75
}
{
"location": ["10019"],
"min_price": 2500,
"max_price": 6500,
"min_bedroom": "1",
"pets_allowed": ["dogs", "cats"],
"amenities": ["gym", "dishwasher", "air_conditioning"],
"limit": 40
}

Output

Output Destination

The actor writes results to an Apify dataset as JSON records. The dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs with minimal post-processing.

When multiple entity types or record shapes exist, the README documents each shape separately based on the provided Example Output. The provided output contains one primary record shape: a Zumper rental listing record.

Record Envelope And Stable Identifiers

The recommended idempotency key is id, which corresponds to the listing identifier and is also repeated as ids.listing_id in the sample record. For repeated runs, use id for deduplication and upserts; if a record is missing id, use url as a fallback comparison key. Stable identifiers make records easier to merge, deduplicate, and sync across warehouses, CRMs, search indexes, and monitoring systems. The source_context object documents the run context for the saved record, including the detail URL, seed information, domain, page index, and scrape timestamp when available.

Examples

Example: Listing Record

{
"id": "90018452",
"url": "https://www.zumper.com/apartment-buildings/p90421/riverside-meridian-midtown-west-new-york-ny",
"title": "Riverside Meridian",
"description": "Riverside Meridian, in the midst of Manhattan, features studio, 1, and 2 bedroom New York City apartments. These pet friendly, green living apartments include skyline views, spacious floorplans, washer and dryer in select apartments, quartz countertops, wood flooring, and large closets. Riverside Meridian offers two fitness centers, WiFi in common areas, on-site laundry, and two rooftop sky decks with views of the Hudson River and Midtown Manhattan. Conveniently located in New York City, surrounded by shopping, restaurants, and nightlife.",
"ids": {
"listing_id": "90018452",
"building_id": "780245",
"padmapper_id": "90421",
"provider_id": "riverside_living.204"
},
"location": {
"address": "1840 W 43rd St",
"city": "New York",
"state": "NY",
"postal_code": "10018",
"country": "USA",
"neighborhood": {
"id": 166,
"name": "Midtown West",
"city": "New York",
"state": "NY",
"country": "USA",
"latitude": 40.7637565,
"longitude": -73.994467,
"listing_count": 571,
"url": "https://www.zumper.com/apartments-for-rent/new-york-ny/midtown-west",
"main_image_url": "https://www.zumper.com/images/example-neighborhood-midtown-west.jpg"
},
"coordinates": {
"latitude": 40.766594,
"longitude": -73.9915
}
},
"pricing": {
"min_price": 3690,
"max_price": 7157
},
"property": {
"unit_title": "1018",
"bedrooms": {
"min": 0,
"max": 2
},
"bathrooms": {
"min": 1,
"max": 2
},
"square_feet": {
"min": 398,
"max": 1210
},
"floorplan_count": 54,
"listed_at": "2026-05-19T14:57:43Z",
"modified_at": "2026-05-19T22:00:13Z",
"property_type": 4,
"listing_type": 1,
"lease_type": 1
},
"contacts": {
"phone": "(212) 555-0148",
"agent_name": "Morgan Lee",
"brokerage_name": "Riverside Living Group"
},
"features": {
"pets": [
3,
2,
1
],
"amenity_codes": [
5,
6,
3
],
"feature_codes": [
17,
78,
20,
93,
19,
92,
88,
61,
95,
56,
94,
3
],
"amenity_tags": [
"Hardwood Floor",
"Washer and Dryer",
"High-Speed Internet",
"Package Service",
"Smoke Free Community",
"Bike Storage",
"Floor-To-Ceiling Windows",
"Room Service",
"Fitness Center",
"Residents Lounge"
],
"building_amenity_tags": [
"Hardwood Floor",
"Washer and Dryer",
"High-Speed Internet",
"Package Acceptance",
"Smoke Free Community",
"Bike Storage",
"Floor-To-Ceiling Windows",
"Room Service",
"Fitness Center",
"Residents Lounge"
]
},
"media": {
"image_ids": [
487535535,
523621488,
523621489,
523621490,
523621491,
523621492,
523621493,
523621494,
523621495,
550464287
],
"items": [
{
"media_id": 487535535,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 523621488,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 523621489,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 523621490,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 523621491,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 523621492,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 523621493,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 523621494,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 523621495,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 550464287,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 550464288,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 550464289,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 550464290,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 550464291,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 487535537,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 487535554,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 748197788,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true,
"process_state": 8
},
{
"media_id": 559485097,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 748197789,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true,
"process_state": 8
},
{
"media_id": 748197790,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true,
"process_state": 8
},
{
"media_id": 559485099,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 559485100,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 559485101,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 559485102,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 559485103,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 559485104,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 487535568,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 487535569,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 487535570,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 487535571,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 487535572,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
},
{
"media_id": 487535573,
"media_type": 1,
"width": 996,
"height": 742,
"is_available": true
},
{
"media_id": 487535574,
"media_type": 1,
"width": 996,
"height": 747,
"is_available": true
}
]
},
"metrics": {
"rating": 9.7,
"external_rating": 4.7
},
"details": {
"has_fees": true,
"is_messageable": true,
"fees": [
{
"type": 3,
"cadence": 0,
"name": "Security Deposit",
"cost_type": 1,
"lifecycle": 2,
"requirement": 1,
"max_in_cents": 200000,
"min_in_cents": 200000,
"is_derived": true,
"amount_in_cents": 200000,
"is_required": true
}
],
"deposits": [
{
"description": "Security Deposit",
"min": 2000
}
],
"supplemental_content": {
"description": "Located in Midtown West, Riverside Meridian offers city views and stylish living with spacious floorplans, quartz countertops, and wood flooring. Enjoy amenities like two fitness centers, rooftop sky decks, and on-site laundry. Experience urban convenience with shopping, dining, and nightlife nearby in a pet-friendly, green community.",
"description_title": "Breathtaking Hudson Views & Urban Elegance",
"keywords": [
"washer and dryer",
"on-site laundry",
"large closets",
"granite countertops",
"spectacular views",
"spacious floorplans"
],
"reviews_summary": "Riverside Meridian residents praise the friendly, helpful staff, including the leasing and maintenance teams, for creating a welcoming community. Amenities like the gym and views are well-loved, and maintenance is noted for quick responses. Some mention minor issues like elevator wait times, but overall, residents appreciate the solid construction, excellent location, and pleasant atmosphere.",
"property_overview": "Riverside Meridian is a highly rated rental community with an overall expert rating of 9.7/10, strong scores for price, location, quality, and amenities, and strong value both overall and per square foot. Spacious floorplans with large closets, in-home washer and dryer, on-site laundry, quartz countertops, and skyline views are complemented by extensive on-site common and fitness spaces. With nearby parks, sports facilities, pet services, coworking-friendly cafes, and dining options, it is well-suited for fitness and wellness, pet friendliness, work-from-home, and an active social life.",
"version": "v1.0",
"last_generated": 1778992560
},
"feed_name": "riverside_living"
},
"related_urls": {
"padmapper_url": "https://www.zumper.com/buildings/p90421/riverside-meridian-apartments-at-1840-w-43rd-st-new-york-ny-10018"
},
"source_context": {
"detail_url": "https://www.zumper.com/apartment-buildings/p90421/riverside-meridian-midtown-west-new-york-ny",
"seed_id": "zumper_9f3a7c8d21e54b6a",
"seed_type": "search",
"seed_value": "new york city",
"page_index": 1,
"domain": "www.zumper.com",
"scraped_at": "2026-05-19T22:04:40Z"
}
}

Field Reference

Listing Record

id (string, required): Stable listing identifier and recommended idempotency key.

url (string, required): Public Zumper listing or building URL.

title (string, required): Listing or building title.

description (string, optional): Public listing description when available.

ids.listing_id (string, optional): Listing identifier repeated inside the nested identifiers object.

ids.building_id (string, optional): Building identifier when the listing is associated with a building.

ids.padmapper_id (string, optional): Related PadMapper identifier when provided.

ids.provider_id (string, optional): Provider-side identifier when available.

location.address (string, optional): Street address.

location.city / location.state / location.postal_code / location.country (string, optional): City, state, postal code, and country fields.

location.neighborhood.id (integer, optional): Neighborhood identifier.

location.neighborhood.name (string, optional): Neighborhood name.

location.neighborhood.city / location.neighborhood.state / location.neighborhood.country (string, optional): Neighborhood geography fields.

location.neighborhood.latitude / location.neighborhood.longitude (number, optional): Neighborhood coordinates.

location.neighborhood.listing_count (integer, optional): Listing count exposed for the neighborhood.

location.neighborhood.url (string, optional): Public neighborhood URL.

location.neighborhood.main_image_url (string, optional): Neighborhood image URL when available.

location.coordinates.latitude / location.coordinates.longitude (number, optional): Listing coordinates.

pricing.min_price / pricing.max_price (integer, optional): Minimum and maximum monthly rent in USD.

property.unit_title (string, optional): Unit, floor plan, or display title.

property.bedrooms.min / property.bedrooms.max (integer, optional): Bedroom range, where 0 can represent studio availability.

property.bathrooms.min / property.bathrooms.max (number, optional): Bathroom range.

property.square_feet.min / property.square_feet.max (integer, optional): Floor area range in square feet.

property.floorplan_count (integer, optional): Number of floor plans associated with the listing.

property.listed_at (string, optional): Listing publication timestamp in ISO 8601 format when available.

property.modified_at (string, optional): Last modified timestamp in ISO 8601 format when available.

property.property_type (integer, optional): Source-provided property type code.

property.listing_type (integer, optional): Source-provided listing type code.

property.lease_type (integer, optional): Source-provided lease type code.

contacts.phone (string, optional): Public contact phone number when available.

contacts.agent_name (string, optional): Agent, property, or leasing contact name.

contacts.brokerage_name (string, optional): Brokerage, manager, or provider name.

features.pets (array of integers, optional): Source-provided pet policy codes.

features.pet_types (array of strings, optional): Human-readable pet policy names mapped from source pet codes.

features.amenity_codes (array of integers, optional): Source-provided amenity codes.

features.amenity_names (array of strings, optional): Human-readable amenity names mapped from source amenity codes or source amenity tags.

features.building_amenity_codes (array of integers, optional): Source-provided building amenity codes.

features.building_amenity_names (array of strings, optional): Human-readable building amenity names mapped from source building amenity codes or source building amenity tags.

features.feature_codes (array of integers, optional): Source-provided listing feature codes.

features.feature_names (array of strings, optional): Human-readable listing feature names mapped from source feature codes.

features.amenity_tags (array of strings, optional): Human-readable amenity tags.

features.building_amenity_tags (array of strings, optional): Human-readable building amenity tags.

media.image_ids (array of integers, optional): Image identifiers associated with the record.

media.items.media_id (integer, optional): Media item identifier.

media.items.media_type (integer, optional): Source-provided media type code.

media.items.width / media.items.height (integer, optional): Media dimensions in pixels.

media.items.is_available (boolean, optional): Whether the media item is marked available.

media.items.process_state (integer, optional): Media processing state when provided.

metrics.rating (number, optional): Zumper rating value when available.

metrics.external_rating (number, optional): External rating value when available.

details.has_fees (boolean, optional): Whether fee information is present.

details.is_messageable (boolean, optional): Whether the listing exposes a messaging option.

details.fees.type (integer, optional): Source-provided fee type code.

details.fees.cadence (integer, optional): Source-provided fee cadence code.

details.fees.name (string, optional): Fee name.

details.fees.cost_type (integer, optional): Source-provided cost type code.

details.fees.lifecycle (integer, optional): Source-provided lifecycle code.

details.fees.requirement (integer, optional): Source-provided requirement code.

details.fees.max_in_cents / details.fees.min_in_cents / details.fees.amount_in_cents (integer, optional): Fee amounts in cents.

details.fees.is_derived (boolean, optional): Whether the fee amount is marked as derived.

details.fees.is_required (boolean, optional): Whether the fee is marked required.

details.deposits.description (string, optional): Deposit description.

details.deposits.min (number, optional): Minimum deposit amount in USD.

details.supplemental_content.description (string, optional): Additional generated or supplemental listing description when available.

details.supplemental_content.description_title (string, optional): Supplemental description title.

details.supplemental_content.keywords (array of strings, optional): Supplemental listing keywords.

details.supplemental_content.reviews_summary (string, optional): Review summary text when available.

details.supplemental_content.property_overview (string, optional): Supplemental property overview.

details.supplemental_content.version (string, optional): Supplemental content version.

details.supplemental_content.last_generated (integer, optional): Supplemental content generation timestamp.

details.feed_name (string, optional): Source feed or provider label when available.

related_urls.padmapper_url (string, optional): Related public PadMapper URL when available.

source_context.detail_url (string, optional): Public detail URL associated with the saved record.

source_context.seed_id (string, optional): Search seed identifier for the run context.

source_context.seed_type (string, optional): Seed type, such as search.

source_context.seed_value (string, optional): Input seed value used for the run context.

source_context.page_index (integer, optional): Page index associated with the saved record.

source_context.domain (string, optional): Source domain.

source_context.scraped_at (string, optional): Timestamp when the record was collected, in ISO 8601 format.

Data Quality, Guarantees, And Handling

  • Structured records: results are normalized into predictable JSON objects for downstream use.
  • Best-effort extraction: fields may vary by region, session, availability, listing type, or Zumper interface changes.
  • Optional fields: null-check optional fields in downstream code, especially contact, media, ratings, fees, supplemental content, and neighborhood details.
  • Deduplication: use id as the primary stable key, with url as a practical fallback when needed.
  • Freshness: results reflect the publicly available data at run time.
  • Repeated runs: use the recommended idempotency key when syncing data into warehouses, CRMs, or search indexes.

Tips For Best Results

  • Start with a small limit to validate the output shape before scaling up.
  • Use one geography or segment per run when you need cleaner market segmentation.
  • Leave optional filters empty when the goal is broad rental discovery.
  • Add filters gradually to understand how each field changes coverage.
  • Use publication_date and sort_by together for freshness-focused monitoring.
  • Enable enrich_data when descriptions, media, policies, contact information, or deeper listing details are important.
  • Use stable identifiers such as id for deduplication when storing results over time.

How to Run on Apify

  1. Open the actor in Apify Console.
  2. Configure the available input fields for the target rental market and filters.
  3. Set the maximum number of outputs to collect with limit.
  4. Click Start and wait for the run to finish.
  5. Download results in JSON, CSV, Excel, or other supported formats.

Scheduling & Automation

Scheduling

Automated Data Collection

Schedule runs to keep rental datasets fresh for monitoring, reporting, and enrichment workflows. Recurring runs are especially useful for tracking new listings, pricing movement, and changes in available inventory.

  • Navigate to Schedules in Apify Console
  • Create a new schedule, such as daily, weekly, or custom cron
  • Configure input parameters
  • Enable notifications for run completion
  • Add webhooks for automated processing

Integration Options

  • BI dashboards: monitor rent ranges, inventory, listing freshness, amenities, ratings, and geographic coverage over time.
  • Warehouses and ETL pipelines: load normalized rental listing records into analytical databases for historical analysis.
  • CRM enrichment: sync public listing, property, location, contact, and availability attributes into account or lead records.
  • Google Sheets or Airtable: review smaller market snapshots, validate target segments, and share curated listing sets with operations teams.
  • Webhooks: trigger ingestion, validation, notification, or alerting workflows after each completed run.
  • Alerts and scheduled reporting: notify teams when new listings, price segments, deal signals, or rating thresholds match saved criteria.

Export Formats And Downstream Use

Apify datasets can be exported or consumed by downstream systems for reporting, analysis, enrichment, and application workflows.

  • JSON: for APIs, applications, and data pipelines
  • CSV or Excel: for spreadsheet workflows and manual review
  • API access: for automated ingestion into internal systems
  • BI and warehouses: for reporting, dashboards, and historical analysis

Performance

Estimated run times:

  • Small runs (< 1,000 outputs): ~3-5 minutes
  • Medium runs (1,000-5,000 outputs): ~5-15 minutes
  • Large runs (5,000+ outputs): ~15-30 minutes

Execution time varies based on filters, result volume, and how much information is returned per record. Highly filtered runs can finish faster, while broad discovery or detail-rich records may take longer.

Limitations

  • Availability depends on what Zumper publicly exposes at run time.
  • Some optional fields may be missing on sparse listings, limited markets, or records without full public details.
  • Very broad searches may take longer or require higher limits to capture enough matching records.
  • Target-side changes can affect field availability, naming, or visible record structure.
  • Regional, account, or availability differences may change which listings and attributes are visible.
  • Rating, fee, contact, media, and supplemental fields are only included when available for the listing.

Troubleshooting

  • No results returned: check filter combinations, location spelling, and whether Zumper has matching public rental records for the selected area.
  • Fewer results than expected: broaden filters, raise limit, or verify that the target market contains enough matching listings.
  • Some fields are empty: optional fields depend on what each public listing provides.
  • Run takes longer than expected: reduce scope, lower limit for validation, or split broad collection into smaller location or filter segments.
  • Output changed: compare the current output with the field reference and include a small sample if support is needed.

FAQ

What data does this actor collect?

It collects public Zumper rental listing data, including listing identifiers, URLs, titles, descriptions, location, pricing, property layout, contacts, amenities, media metadata, ratings, fees, related URLs, and source context when available.

Can I filter by location, category, date, price, or other criteria?

Yes. The actor requires location and supports filters for price, property type, pets, laundry, listing features, amenities, lease length, publication date, deals, ratings, lifestyle tags, specialty housing, sorting, enrichment, and result limit.

Why did I receive fewer results than my limit?

The limit is a maximum, not a guaranteed count. You may receive fewer records if the selected location and filters have fewer matching public listings available at run time.

Can I schedule recurring runs?

Yes. Use Apify schedules to run the actor daily, weekly, or on a custom cadence for monitoring, reporting, and recurring enrichment.

How do I avoid duplicates across runs?

Use id as the primary idempotency key for deduplication and upserts. If needed, use url as a fallback comparison key.

Can I export the data to CSV, Excel, or JSON?

Yes. Apify datasets support JSON, CSV, Excel, and other export options for manual review and downstream ingestion.

Does this actor collect private data?

No. The actor is intended to collect publicly available rental listing information from Zumper. Users are responsible for using the data lawfully and responsibly.

When should I enable enrichment?

Enable enrich_data when you need richer listing details, such as longer descriptions, media, amenities, policies, fees, or contact information when available. Keep it off for faster validation runs when standard listing data is enough.

What should I include when reporting an issue?

Include the input used, the Apify run ID, expected versus actual behavior, and a small output sample if it helps show the issue. Redact anything sensitive before sharing.

Compliance & Ethics

Responsible Data Collection

This actor collects publicly available US rental property listing information from https://www.zumper.com for legitimate business purposes, including:

  • Real estate research and market analysis
  • Rental inventory monitoring and operational reporting
  • Public listing enrichment for internal business systems

This section is informational and not legal advice. Users are responsible for determining whether their use of the data complies with applicable laws, regulations, contracts, and platform terms.

Best Practices

  • Use collected data in accordance with applicable laws, regulations, and the target site’s terms
  • Respect individual privacy and personal information
  • Use data responsibly and avoid disruptive or excessive collection
  • Do not use this actor for spamming, harassment, or other harmful purposes
  • Follow relevant data protection requirements where applicable, such as GDPR and CCPA

Support

For help, use the actor page or Issues section. Include the input used with any sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample if it helps explain the problem. Avoid sharing private credentials, unpublished business data, or unnecessary personal information.