Apartments.com Rental Listings Scraper avatar

Apartments.com Rental Listings Scraper

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Apartments.com Rental Listings Scraper

Apartments.com Rental Listings Scraper

Under maintenance

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

Ricardo Akiyoshi

Maintained by Community

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

FieldTypeDefaultDescription
locationsArray of strings["new-york-ny"]City slugs, neighborhoods, zip codes, or full Apartments.com URLs
minRentInteger0Minimum monthly rent in dollars (0 = no minimum)
maxRentInteger0Maximum monthly rent in dollars (0 = no maximum)
bedsInteger0Minimum bedrooms (0 = any, studios included)
bathsInteger0Minimum bathrooms (0 = any)
petFriendlyBooleanfalseOnly include pet-friendly listings
maxResultsInteger500Maximum total listings to scrape (0 = unlimited)
proxyObject(none)Apify proxy settings

Location Format Examples

InputDescription
new-york-nyAll of New York City
san-francisco-caSan Francisco, CA
chicago-il/lakeviewLakeview neighborhood in Chicago
90210Beverly 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

FieldTypeDescription
nameStringProperty or building name
addressStringFull street address
cityStringCity name
stateStringTwo-letter state code
zipCodeStringZIP code
neighborhoodStringNeighborhood name (if available)
rentStringRent range as displayed (e.g., "$2,100 - $4,500")
rentMinNumberMinimum rent in dollars
rentMaxNumberMaximum rent in dollars
bedsStringBedroom count or range (e.g., "2" or "1-3", "0" for studio)
bathsStringBathroom count or range
sqftStringSquare footage or range
floorPlansArrayIndividual floor plan details with rent, beds, baths, sqft
propertyTypeStringProperty type (Apartment, Condo, Townhome, etc.)
yearBuiltNumberYear the property was built
descriptionStringFull property description
amenitiesArrayList of amenities (sorted, deduplicated)
imagesArrayHigh-resolution photo URLs
petPolicyStringPet policy summary
petFriendlyBooleanWhether pets are allowed
petDetailsArrayDetailed pet policy info (breed restrictions, deposits, etc.)
parkingStringParking options available
contactObjectPhone, office hours, management company, office name
latitudeNumberGPS latitude
longitudeNumberGPS longitude
walkScoreNumberWalk Score (0-100)
transitScoreNumberTransit Score (0-100)
ratingNumberAverage resident rating
reviewCountNumberNumber of reviews
feesArrayApplication fees, deposits, admin fees
leaseTermStringLease duration
nearbyArrayNearby points of interest, transit, schools
urlStringDirect link to the listing on Apartments.com
listingIdStringInternal listing identifier
scrapedAtStringISO 8601 timestamp of when the listing was scraped

Performance Tips

  1. Start small — test with maxResults: 10 for a single location to verify the scraper works before scaling up.
  2. Use proxies for large scrapes — Apartments.com will block IPs after too many requests. Apify residential proxies have the best success rate.
  3. Multi-location is efficient — scraping 5 cities in one run is faster than 5 separate runs due to shared crawler overhead.
  4. Use filters to narrow scope — rent range and bedroom filters are applied at the URL level, reducing the number of pages to crawl.
  5. 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.

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 ApifyClient
client = 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'));