Apartments.com Scraper — Rentals, Fees, Reviews & Media
Pricing
from $3.00 / 1,000 dataset items
Apartments.com Scraper — Rentals, Fees, Reviews & Media
Scrape US rental listings from Apartments.com at scale — rent, beds/baths, per-unit availability, fees, amenities, leasing phone, ratings, reviews, walk scores and 3D tours — as structured JSON. Runs on the official mobile API for reliability. Pay only for the results you get.
Pricing
from $3.00 / 1,000 dataset items
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
Extract US rental listings from Apartments.com at scale as clean, structured JSON. Search any city, ZIP, neighborhood, coordinate, URL or listing key and get pricing, per-unit availability, fees & recurring expenses, amenities, leasing phone numbers, ratings, renter reviews, walk/transit/bike scores, photos, videos and 3D tours — everything the apartment's own mobile app sees.
Built on Apartments.com's official mobile API (not fragile HTML scraping), so it stays reliable at volume and enumerates the entire market in an area, not just the first search page.
Who uses this
- Lead-generation agencies — pull property names, addresses, GPS and leasing phone numbers for whole metros to build outbound lists.
- Real-estate investors & analysts — rent ranges, per-unit pricing, fees, year built, unit counts and ratings for rent-comp and underwriting models.
- PropTech & SaaS teams — a stable JSON schema (reviews, scores, media) to power apps, dashboards and pipelines without fighting anti-bot.
- Researchers — reproducible, filterable rental-market snapshots by city, ZIP or bounding box.
Output fields
Each row is one property. Enrichment fields are populated when their toggle is on.
| Field | Type | Description |
|---|---|---|
listingKey | string | Apartments.com listing key (7 chars). |
name | string | Property name. |
url | string | Canonical property profile URL. |
oneLineAddress | string | Formatted single-line address. |
address | object | line1, line2, city, state, zip, country. |
location | object | GPS { lat, lng }. |
phone | string | Leasing / contact phone number. |
propertyManager | string | Management company. |
listingType | string | apartment / condo / house / townhome. |
rating | number | Star rating (0–5). |
rentRange / rentMin / rentMax | string / int | Advertised rent range and parsed bounds. |
bedRange | string | e.g. Studio - 2 Beds. |
yearBuilt / unitCount / storyCount | int | Building facts. |
leaseTerms / minLeaseTermMonths / maxLeaseTermMonths | string / int | Lease-length options. |
units | array | Per-unit availability: model, beds, baths, area, rent, deposit, availability date, floor-plan image. |
fees | object | profileFees, oneTimeExpenses, recurringExpenses. |
amenities / amenityCategories | array | Flat + structured amenity lists. |
petPolicies / parkingPolicies / officeHours | array | Policies and hours. |
schools / colleges / transit | array | Nearby schools (with ratings), colleges, transit. |
walkScore / transitScore / bikeScore | int | Location scores. |
specialOffer | object | Current concession { header, body, expires }. |
primaryImage / photoCount / threeDTourUrl | string / int | Cover image, media count, 3D tour. |
media | array | Full gallery: photos, videos, 3D tours. |
reviews / reviewCount | array / int | Renter reviews (title, text, rating, date). |
scrapedAt | string | ISO-8601 scrape timestamp. |
Use cases
- Build a rental lead list for a metro: set
location, keepincludeDetailson, export name + address + phone to your CRM. - Rent-comp analysis: filter by beds/baths/price and read
units[]for live per-unit rents and availability dates. - Concession tracking: monitor
specialOfferacross a city over time. - Amenity & fee benchmarking: compare
feesandamenitiesacross competitors. - Reputation monitoring: enable
includeReviewsto track ratings and feedback.
Input parameters
| Field | Type | Default | Notes |
|---|---|---|---|
location | string | — | City / ZIP / neighborhood. One input is required. |
startUrls | array | — | Search or property URLs. |
listingKeys | array | — | Explicit property keys. |
coordinates | object | — | { lat, lng, radiusMiles } point search. |
maxItems | integer | 100 | Max properties (rows). |
minPrice / maxPrice | integer | — | Monthly rent range. |
minBeds / maxBeds | integer | — | Bedroom range (0 = studio). |
minBaths / maxBaths | number | — | Bathroom range. |
minSqft / maxSqft | integer | — | Area range. |
propertyType | array | all | apartments / condos / houses / townhomes. |
petPolicy | enum | any | cats / dogs / any. |
minRating | integer | — | Minimum star rating. |
keywords | string | — | Free-text keyword filter. |
sortBy | enum | best_match | best_match / price_low / price_high / newest. |
includeDetails | boolean | true | Units, fees, policies, schools, transit. |
includeReviews | boolean | false | Renter reviews. |
includeWalkScore | boolean | true | Walk / transit / bike scores. |
includeMedia | boolean | false | Photos, videos, 3D tours. |
proxyConfiguration | object | Apify Residential (US) | Recommended for large runs. |
Example input
{"location": "Austin, TX","maxItems": 100,"minBeds": 2,"maxPrice": 3000,"includeDetails": true,"includeWalkScore": true,"includeReviews": false,"includeMedia": false}
Example output (truncated)
{"listingKey": "s286zb6","name": "The Watson","url": "https://www.apartments.com/the-watson-austin-tx/s286zb6/","oneLineAddress": "11901 Burnet Rd, Austin, TX 78758","location": { "lat": 30.405, "lng": -97.715 },"phone": "(832) 730-2535","propertyManager": "MORGAN","rating": 3,"rentRange": "$1,904 - 4,884","bedRange": "Studio - 2 Beds","yearBuilt": 2026,"unitCount": 345,"leaseTerms": "12 - 18 Month Leases","units": [{ "modelName": "S3.1", "beds": "Studio", "baths": "1 Bath", "area": "554SF", "rent": "$2,304", "availabilityText": "Now" }],"walkScore": 60,"transitScore": 30,"bikeScore": 50,"scrapedAt": "2026-09-05T00:00:00Z"}
Scheduling & integrations
- Schedule runs (hourly/daily/weekly) from the Apify Console to keep a dataset fresh.
- Webhooks fire on run completion — push new listings straight into your own systems.
- Export to Google Sheets, Excel, CSV, JSON or stream to Make, Zapier, Airbyte, S3 via the Apify API.
Use it from an AI assistant (MCP)
This actor is callable from AI agents through the Apify MCP server, so an
assistant (Claude, ChatGPT, etc.) can fetch live rental data on demand. Point your
MCP client at Apify and call apartments-com-scraper with the same input JSON.
FAQ
How many listings can I get? Set maxItems. The actor pages past the map API's
500-per-request cap by subdividing the search area, so it can enumerate an entire
metro.
How fresh is the data? Every run is live against Apartments.com's mobile API;
scrapedAt records the moment each row was captured.
Is this reliable? It uses the app's official backend rather than parsing HTML, so it does not silently break when the website's markup or anti-bot changes.
Do I need proxies? Apify Residential (US) is enabled by default and recommended for larger runs. You can supply your own proxy configuration.
Which locations are supported? The US (Apartments.com's coverage). Search by city, ZIP, neighborhood, coordinates, URL or listing key.
Is scraping this legal? The actor collects publicly available listing data. You are responsible for using the output in compliance with applicable laws and terms.
Support? Open an issue on the actor's Issues tab — reported problems are triaged promptly.