Apartments.com Rental Scraper
Pricing
from $5.00 / 1,000 results
Apartments.com Rental Scraper
Extract apartment rental listings from Apartments.com including property name, address, rent range, beds/baths, sqft, amenities, neighborhood, walk/transit scores, and more.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
1
Bookmarked
34
Total users
4
Monthly active users
8 days ago
Last modified
Categories
Share
Extract apartment rental listings from Apartments.com — property name, address, rent range, beds, amenities, phone, and photos. Uses a stealth browser (Camoufox primary, Patchright fallback) with US residential proxy to bypass Akamai Bot Manager, with an archived-snapshot fallback when even that is blocked.
Features
- 15 output fields per property (all fields present by default; rent fields only when a rent was found)
- Supports city listings (e.g.,
/miami-fl/) and direct property URLs - Rent range — min/max parsed from text
- Beds — bed range from the listing card
- Amenities — full amenity list
- Photo URLs — property images
- US RESIDENTIAL proxy hardcoded — Apartments.com is Akamai-protected
- Cross-URL deduplication — the same property never appears twice, even across overlapping search URLs
Input
| Field | Type | Description |
|---|---|---|
startUrls | Array | Apartments.com URLs (city listing or property detail) |
maxItems | Integer | Max properties to scrape (default 20) |
Example Input
{"startUrls": ["https://www.apartments.com/miami-fl/","https://www.apartments.com/los-angeles-ca/"],"maxItems": 50}
Output
Each property has 15 fields:
| Field | Type | Description |
|---|---|---|
id | String | Apartments.com property ID |
propertyName | String | Property name |
url | String | Property URL |
fullAddress | String | Complete address |
streetAddress | String | Street address |
city | String | City |
state | String | State code |
postalCode | String | ZIP code |
rentMin | Integer | Minimum monthly rent |
rentMax | Integer | Maximum monthly rent |
beds | String | Beds range (e.g., "Studio - 2 Beds") |
phoneNumber | String | Leasing office phone |
amenities | Array | Amenity list |
photoUrls | Array | Property image URLs |
dataSource | String | Where the data came from: direct:camoufox, direct:patchright, or wayback:<snapshot-timestamp> |
scrapedAt | String | ISO 8601 scrape timestamp |
Data freshness
The scraper always tries to fetch the page live from Apartments.com first (Camoufox/Patchright + US residential). Only when every direct attempt is blocked by Akamai does it fall back to the latest Wayback Machine snapshot — which can be weeks or months old. Every record's dataSource field tells you exactly which source it came from (direct:* = live; wayback:<timestamp> = archived, check the timestamp).
FAQ
Q: Why does this need US RESIDENTIAL proxy? Apartments.com is protected by Akamai Bot Manager which blocks all datacenter IPs and non-browser clients. A stealth browser (Camoufox) combined with residential proxy is required. Both are hardcoded — no configuration needed.
Q: How fresh is the data?
Live when Akamai lets the browser through (the common case after the recent fix); otherwise the newest Wayback snapshot with its timestamp exposed in dataSource.
Q: Can I filter by price or beds?
Yes — use Apartments.com URL filters like /miami-fl/2-bedrooms-under-2000/ as your start URL.
Use Cases
- Rental market research — track rents across cities
- Competitive analysis — compare property amenities and pricing
- Relocation planning — find apartments matching specific criteria
- Data aggregation — build rental databases