Apartments.com Rental Listings Scraper
Pricing
Pay per usage
Apartments.com Rental Listings Scraper
Scrape Apartments.com for any US city. Extract names, addresses, rent, beds, baths, sqft, amenities, photos, pet policies, parking, and contact info. Filter by rent range, beds, baths, and pet-friendliness. Smart pagination and JSON-LD extraction.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Scrape rental listings from Apartments.com for any US city or neighborhood. Extract comprehensive property data including rent ranges, floor plans, amenities, images, pet policies, parking options, and leasing office contact information.
Features
- Any US location — search by city-state slug (
new-york-ny), neighborhood (chicago-il/lakeview), zip code (90210), or full Apartments.com URL - Multi-location support — scrape multiple cities or neighborhoods in a single run
- Comprehensive extraction — property name, address, rent range, beds, baths, sqft, floor plans, amenities, images, pet policy, parking, contact info, fees, walk score, and more
- Smart data extraction — parses JSON-LD structured data, embedded JavaScript state, and CSS selectors (3-tier fallback strategy)
- Flexible filtering — filter by rent range, minimum bedrooms, minimum bathrooms, and pet-friendliness
- Automatic pagination — follows Apartments.com pagination through all available search result pages
- Deduplication — automatically skips duplicate listings across pages and locations
- Anti-bot handling — rotating user agents, rate limiting, CAPTCHA/block detection with graceful stopping
- Proxy support — optional Apify proxy configuration for large-scale scrapes
- Pay-per-event pricing — charged only for each listing successfully scraped
Use Cases
Rental Market Analysis
Compare rental prices across neighborhoods, cities, or states. Track pricing trends over time by running the scraper periodically and analyzing rent changes for specific property types.
Apartment Hunting at Scale
Search dozens of cities simultaneously with specific requirements (pet-friendly, 2+ bedrooms, under $2,000/month) and export results to a spreadsheet for easy comparison.
Real Estate Investment Research
Evaluate rental income potential by scraping listings in target investment areas. Compare amenities, pricing, and occupancy indicators across competing properties.
Property Management Competitive Analysis
Monitor competitor properties to understand their pricing, amenity offerings, floor plan configurations, and availability patterns.
Academic and Market Research
Collect structured housing data for economic research, urban planning studies, or housing affordability analysis across US metropolitan areas.
Input
| Field | Type | Default | Description |
|---|---|---|---|
locations | Array of strings | ["new-york-ny"] | City slugs, neighborhoods, zip codes, or full Apartments.com URLs |
minRent | Integer | 0 | Minimum monthly rent in dollars (0 = no minimum) |
maxRent | Integer | 0 | Maximum monthly rent in dollars (0 = no maximum) |
beds | Integer | 0 | Minimum bedrooms (0 = any, studios included) |
baths | Integer | 0 | Minimum bathrooms (0 = any) |
petFriendly | Boolean | false | Only include pet-friendly listings |
maxResults | Integer | 500 | Maximum total listings to scrape (0 = unlimited) |
proxy | Object | (none) | Apify proxy settings |
Location Format Examples
| Input | Description |
|---|---|
new-york-ny | All of New York City |
san-francisco-ca | San Francisco, CA |
chicago-il/lakeview | Lakeview neighborhood in Chicago |
90210 | Beverly Hills by zip code |
https://www.apartments.com/austin-tx/ | Full URL (copied from browser) |
Input Examples
Affordable apartments in NYC under $2,500
{"locations": ["new-york-ny"],"maxRent": 2500,"maxResults": 200}
Pet-friendly 2BR+ in multiple cities
{"locations": ["san-francisco-ca", "seattle-wa", "portland-or"],"beds": 2,"petFriendly": true,"maxResults": 500}
Luxury apartments in Miami ($3K-$10K)
{"locations": ["miami-fl"],"minRent": 3000,"maxRent": 10000,"beds": 1,"baths": 1,"maxResults": 300}
Studio apartments in Chicago neighborhoods
{"locations": ["chicago-il/lakeview","chicago-il/lincoln-park","chicago-il/wicker-park","chicago-il/logan-square"],"beds": 0,"maxRent": 1800,"maxResults": 200}
Large-scale market survey with proxies
{"locations": ["los-angeles-ca", "san-diego-ca", "san-jose-ca"],"maxResults": 5000,"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
Each listing is saved to the default dataset with the following fields:
{"name": "The Archstone at Midtown","address": "350 W 42nd St, New York, NY 10036","city": "New York","state": "NY","zipCode": "10036","neighborhood": "Midtown West","rent": "$2,100 - $4,500","rentMin": 2100,"rentMax": 4500,"beds": "0-3","baths": "1-2","sqft": "450-1200","floorPlans": [{"name": "Studio A","rent": "$2,100 - $2,400","rentMin": 2100,"rentMax": 2400,"beds": "0","baths": "1","sqft": "450","availability": "Available Now"},{"name": "1BR Classic","rent": "$2,800 - $3,200","rentMin": 2800,"rentMax": 3200,"beds": "1","baths": "1","sqft": "650","availability": "Mar 15"}],"propertyType": "Apartment","yearBuilt": 2018,"description": "Luxury high-rise apartments in the heart of Midtown Manhattan with stunning city views, state-of-the-art fitness center, rooftop lounge, and 24-hour concierge service.","amenities": ["24-Hour Concierge","Air Conditioning","Dishwasher","EV Charging","Fitness Center","Hardwood Floors","In-Unit Washer/Dryer","Package Lockers","Pet Spa","Rooftop Lounge","Stainless Steel Appliances"],"images": ["https://images.apartments.com/example/building-exterior.jpg","https://images.apartments.com/example/living-room.jpg","https://images.apartments.com/example/kitchen.jpg"],"petPolicy": "Dogs & Cats Allowed","petFriendly": true,"petDetails": ["Dogs Allowed: 2 max, 50 lb limit, $500 deposit, $50/month pet rent","Cats Allowed: 2 max, $300 deposit, $35/month pet rent"],"parking": "Covered Garage; Valet Parking; EV Charging Stations","contact": {"phone": "(212) 555-0123","officeHours": ["Mon-Fri: 9:00 AM - 6:00 PM","Sat: 10:00 AM - 5:00 PM","Sun: 12:00 PM - 5:00 PM"],"managementCompany": "Archstone Properties LLC","officeName": "The Archstone Leasing Office"},"latitude": 40.7580,"longitude": -73.9915,"walkScore": 98,"transitScore": 100,"rating": 4.2,"reviewCount": 87,"fees": ["Application Fee: $50","Admin Fee: $150","Security Deposit: 1 month's rent"],"leaseTerm": "12 months","nearby": ["Times Square — 0.2 mi","Port Authority Bus Terminal — 0.3 mi","42nd St–Times Sq subway — 0.1 mi"],"url": "https://www.apartments.com/the-archstone-at-midtown-new-york-ny/abc123/","listingId": "abc123","scrapedAt": "2026-03-01T12:00:00.000Z"}
Output Fields Reference
| Field | Type | Description |
|---|---|---|
name | String | Property or building name |
address | String | Full street address |
city | String | City name |
state | String | Two-letter state code |
zipCode | String | ZIP code |
neighborhood | String | Neighborhood name (if available) |
rent | String | Rent range as displayed (e.g., "$2,100 - $4,500") |
rentMin | Number | Minimum rent in dollars |
rentMax | Number | Maximum rent in dollars |
beds | String | Bedroom count or range (e.g., "2" or "1-3", "0" for studio) |
baths | String | Bathroom count or range |
sqft | String | Square footage or range |
floorPlans | Array | Individual floor plan details with rent, beds, baths, sqft |
propertyType | String | Property type (Apartment, Condo, Townhome, etc.) |
yearBuilt | Number | Year the property was built |
description | String | Full property description |
amenities | Array | List of amenities (sorted, deduplicated) |
images | Array | High-resolution photo URLs |
petPolicy | String | Pet policy summary |
petFriendly | Boolean | Whether pets are allowed |
petDetails | Array | Detailed pet policy info (breed restrictions, deposits, etc.) |
parking | String | Parking options available |
contact | Object | Phone, office hours, management company, office name |
latitude | Number | GPS latitude |
longitude | Number | GPS longitude |
walkScore | Number | Walk Score (0-100) |
transitScore | Number | Transit Score (0-100) |
rating | Number | Average resident rating |
reviewCount | Number | Number of reviews |
fees | Array | Application fees, deposits, admin fees |
leaseTerm | String | Lease duration |
nearby | Array | Nearby points of interest, transit, schools |
url | String | Direct link to the listing on Apartments.com |
listingId | String | Internal listing identifier |
scrapedAt | String | ISO 8601 timestamp of when the listing was scraped |
Performance Tips
- Start small — test with
maxResults: 10for a single location to verify the scraper works before scaling up. - Use proxies for large scrapes — Apartments.com will block IPs after too many requests. Apify residential proxies have the best success rate.
- Multi-location is efficient — scraping 5 cities in one run is faster than 5 separate runs due to shared crawler overhead.
- Use filters to narrow scope — rent range and bedroom filters are applied at the URL level, reducing the number of pages to crawl.
- Pet filter saves time — if you only want pet-friendly listings, enable the filter to skip non-pet-friendly results early.
Rate Limiting and Blocks
Apartments.com uses anti-bot measures. This actor handles them by:
- Rotating user agents across 10 browser profiles
- Limiting requests to 25/minute by default
- Detecting CAPTCHA and block pages, stopping gracefully after 3 consecutive blocks
- Supporting proxy rotation via Apify's proxy infrastructure
- Retrying failed requests up to 3 times with exponential backoff
- Using browser-like HTTP headers including Sec-Fetch headers
If you see "Blocked or CAPTCHA page detected" in the logs, the scraper saves all data collected so far and continues with remaining requests. Use Apify residential proxies for the best results.
Pricing (Pay Per Event)
This actor uses Apify's pay-per-event model. You are charged $0.005 for each rental listing successfully scraped and saved to the dataset. There is no charge for search pages, filtered-out listings, or failed requests.
Legal Notice
This actor is provided as a technical tool for data collection. Users are responsible for ensuring their use complies with Apartments.com's Terms of Service and all applicable laws. The actor is designed for personal research, market analysis, and academic purposes.
Integration — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("sovereigntaylor/apartments-scraper").call(run_input={"searchTerm": "apartments","maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item.get('title', item.get('name', 'N/A'))}")
Integration — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sovereigntaylor/apartments-scraper').call({searchTerm: 'apartments',maxResults: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(item.title || item.name || 'N/A'));