Apartments.com Scraper & API | Rentals & Property Data
Pricing
from $5.49 / 1,000 listing pages
Apartments.com Scraper & API | Rentals & Property Data
Scrape Apartments.com rental data: rent, beds, baths, sqft, amenities, fees, floor plans, photos, schools, transit, walk score, and reviews. Search any location or paste property URLs. Export JSON, CSV, Excel.
Pricing
from $5.49 / 1,000 listing pages
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Apartments.com Scraper & API
Scrape rental listings and full property details from Apartments.com: rent ranges, beds, baths, square footage, amenities, fees and policies, floor plans, photos, 3D tours, nearby schools, transit and points of interest, Walk Score, and resident reviews. Search any US location or paste property URLs directly.
| Search Apartments.com by city, neighborhood, ZIP, or address — or drop in listing and property URLs — and export clean, structured apartment data with rent, amenities, fees, schools, transit, Walk Score, photos, and reviews. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/apartments-com-scraper - scrapes rental listings and property details from Apartments.com. Call via ApifyClient: client.actor("parsebird/apartments-com-scraper").call(run_input={"search":"Brooklyn, NY","startUrls":["https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/"],"maxItems":50,"includeReviews":true,"includeVisuals":true,"includeInteriorAmenities":true,"includeWalkScore":true}). Inputs: search (location keyword: city, neighborhood, ZIP, or street address), startUrls (array of Apartments.com listing/search URLs and/or property detail URLs, can be mixed), maxItems (integer, default 1000), includeReviews (bool, default false), includeVisuals (bool - photos, floor plan images, virtual tours, default false), includeInteriorAmenities (bool, default false), includeWalkScore (bool - Walk/Transit/Bike score, default false). Output fields: id, propertyName, url, lastUpdated, location {fullAddress, streetAddress, city, state, postalCode, neighborhood}, coordinates {latitude, longitude}, rating, ratingValue, ratingCount, rent {min, max, currency}, beds, baths, sqft, transportation[], specials, schools {public, private, collegesUniversities}, fees[], description, amenities[], contact {phone, name, website, leasingOffice}, floorPlanUnits[], score {walkScore, transitScore, bikeScore, driveScore, soundScore}, photos[], floorPlans[], virtualTours[], reviews[]. API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations
What is Apartments.com Scraper & API?
Apartments.com Scraper & API is an Apartments.com scraper that turns rental listing pages and individual property pages into structured JSON. It collects everything shown on a property page — rent ranges, unit mix, amenities, pet and parking fees, lease options, floor plans, photo galleries, 3D tours, nearby schools, transit stations, Walk Score, and resident reviews.
Use it as an Apartments.com API alternative when you need repeatable exports, scheduled rent monitoring, or integration-ready datasets without browsing the site page by page. You can mix property detail URLs and listing (search) URLs in the same run.
What can Apartments.com Scraper & API do?
- 🔎 Search any US location by city, neighborhood, ZIP code, or full street address.
- 🔗 Scrape Apartments.com listing/search URLs and individual property URLs — mixed together in one run.
- 🎛️ Apply any filters on the Apartments.com website (price, beds, baths, pet policy, amenities), then paste the filtered URL as a start URL.
- 🏢 Extract rent ranges, beds, baths, square footage, unit-level floor plans, amenities, and fees & policies.
- 🏫 Pull nearby public and private schools, colleges, transit stations, airports, and points of interest.
- 🚶 Add Walk Score, Transit Score, and Bike Score per property.
- ⭐ Collect resident reviews with ratings and dates.
- 🖼️ Grab full photo galleries, floor plan images, and Matterport 3D tour links.
- 🗓️ Run on Apify with scheduling, API access, proxy rotation, integrations, and exports to JSON, CSV, and Excel.
What data can you extract from Apartments.com?
| Field | Description |
|---|---|
id | Apartments.com property ID |
propertyName | Property or community name |
url | Canonical property URL |
lastUpdated | How recently the listing was refreshed (e.g. "Today", "2 weeks ago") |
location | fullAddress, streetAddress, city, state, postalCode, neighborhood |
coordinates | latitude and longitude |
rating / ratingValue / ratingCount | Rounded rating, exact average, and number of ratings |
rent | min, max, and currency for monthly rent |
beds / baths / sqft | Range strings as shown on the property (e.g. "Studio - 3 bd") |
transportation | Nearby commuter rail, subway, airports, and POIs with walk/drive time and distance |
specials | Current move-in specials or concessions text |
schools | public, private (type, name, grades, students, GreatSchools rating) and collegesUniversities |
fees | Pets, parking, lease options, and property information grouped by policy |
description | Full property description |
amenities | Community amenities, plus interior amenities when enabled |
contact | Public leasing phone, property website, and leasingOffice address when shown |
floorPlanUnits | Per-unit floor plans with beds, baths, and square footage |
score | walkScore, transitScore, bikeScore, driveScore, soundScore (when enabled) |
photos / floorPlans / virtualTours | Image gallery, floor plan images, and 3D tour links (when enabled) |
reviews | Resident reviews with author, title, text, rating, and date (when enabled) |
How to scrape Apartments.com
- Open Apartments.com Scraper & API on Apify.
- Enter a location in search (for example
Brooklyn, NY,78704, or2424 W Caithness Place, Denver, CO). - Or paste one or more Apartments.com URLs into startUrls — listing/search pages, property pages, or a mix of both.
- To use website filters, apply them on Apartments.com, copy the resulting URL, and paste it into startUrls.
- Set maxItems to cap how many properties are saved.
- Toggle includeReviews, includeVisuals, includeInteriorAmenities, and includeWalkScore for extra detail-page data.
- Run the actor and download results in JSON, CSV, Excel, or HTML, or pull them from the Apify API.
- Use Apify scheduling to monitor rents daily or connect results to Make, Zapier, n8n, webhooks, or your own workflow via Apify integrations.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
search | string | One of search / startUrls | — | Location keyword: city, neighborhood, ZIP code, or street address |
startUrls | array | One of search / startUrls | [] | Apartments.com listing (search) URLs and/or property detail URLs. Can be mixed |
maxItems | integer | No | 1000 | Maximum number of properties saved to the output |
includeReviews | boolean | No | false | Fetch resident reviews from property pages |
includeVisuals | boolean | No | false | Fetch photo galleries, floor plan images, and 3D / virtual tour links |
includeInteriorAmenities | boolean | No | false | Fetch in-unit apartment features and interior amenity lists |
includeWalkScore | boolean | No | false | Fetch Walk Score, Transit Score, and Bike Score |
proxyConfiguration | object | No | Apify Proxy (Unblocker) | Proxy settings. The Apify Proxy "Unblocker" group is required to reach Apartments.com reliably |
Input / Output
Example input:
{"startUrls": ["https://www.apartments.com/brooklyn-ny/","https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/"],"search": "2424 W Caithness Place, Denver, CO 80211","includeReviews": true,"includeVisuals": true,"includeInteriorAmenities": true,"includeWalkScore": true,"maxItems": 50}
Example output (truncated):
{"id": "szmm4r5","propertyName": "1 Kennedy Flats Apartments","url": "https://www.apartments.com/1-kennedy-flats-apartments-danbury-ct/szmm4r5/","lastUpdated": "Today","location": {"fullAddress": "1 Kennedy Ave, Danbury, CT 06810","state": "CT","city": "Danbury","neighborhood": "Downtown Danbury","postalCode": "06810","streetAddress": "1 Kennedy Ave"},"coordinates": { "latitude": 41.39684, "longitude": -73.45732 },"rating": 5,"ratingValue": 4.8,"ratingCount": 195,"rent": { "min": 1956, "max": 4655, "currency": "USD" },"beds": "Studio - 3 bd","baths": "1 - 2.5 ba","sqft": "571 - 1,906 sq ft","transportation": [{ "name": "Danbury Station", "category": "Commuter Rail", "walk": "11 min", "drive": "", "distance": "0.6 mi" }],"specials": "Move-in Special For a limited time, enjoy $750 off your first month's rent.","schools": {"public": [{ "type": "Public Elementary School", "name": "King Street Primary School", "grades": "K-3", "numberOfStudents": "390", "rating": 4 }],"private": [{ "type": "Private Elementary & Middle School", "name": "St Joseph Elementary School", "grades": "PK-8", "numberOfStudents": "227", "rating": null }],"collegesUniversities": [{ "name": "Western Connecticut, Midtown", "drive": "3 min", "distance": "1.2 mi" }]},"fees": [{"title": "Pets","policies": [{ "header": "Dogs Allowed", "values": [ { "key": "Monthly pet fee", "value": "$60" }, { "key": "Weight limit", "value": "80 lb" } ] }]},{"title": "Details","policies": [{ "header": "Property Information", "values": [ { "key": "Built in 2016", "value": "" }, { "key": "374 units/4 stories", "value": "" } ] }]}],"description": "1 Kennedy Flats offers studio, one and two bedroom apartments, plus spacious townhomes in the heart of Danbury...","amenities": [{ "title": "Community Amenities", "value": ["Concierge", "Clubhouse", "Fitness Center", "Pool", "Grill"] },{ "title": "Interior Amenities", "value": ["Washer/Dryer", "Air Conditioning", "Granite Countertops", "Stainless Steel Appliances"] }],"contact": { "phone": "(475) 323-4879", "name": null, "website": "http://www.1kennedyflats.com/", "leasingOffice": null },"floorPlanUnits": [{ "name": "S1-2122", "category": "apartment", "beds": 0, "baths": 1.0, "sqft": 571, "image": null }],"score": { "walkScore": 60, "transitScore": 50, "bikeScore": 40, "driveScore": 100, "soundScore": 71 },"photos": ["https://images1.apartments.com/i2/FC0hffFJLQ4OvsYZ-i_oz1uRpmRnt0run_u6JGZ50V0/111/1-kennedy-flats-apartments-danbury-ct-primary-photo.jpg"],"floorPlans": ["https://images1.apartments.com/i2/P81lXmR8PyiI2voUFSBZoAEBIKxhWDcTdDSJBt3hnxo/117/1-kennedy-flats-apartments-danbury-ct-floorplan.jpg"],"virtualTours": ["https://my.matterport.com/show/?m=QHK4QbwVexP"],"reviews": [{ "author": "Realpage A.", "title": "Verified Renter", "text": "Great amenities, staff is very friendly and helpful.", "rating": 5.0, "datePublished": "2025-08-10" }]}
Download the dataset in JSON, HTML, CSV, or Excel, or access it through the Apify API.
Use cases
- Rent monitoring — track asking rents, concessions, and availability across neighborhoods over time.
- Market research — compare amenities, fees, unit mix, and Walk Score across competing communities.
- Lead lists for proptech and services — build datasets of communities, management contacts, and locations.
- Investment analysis — pull rent ranges, square footage, and building details for underwriting models.
- Relocation and search tools — power apartment-finder apps with structured listing, school, and transit data.
- Reputation analysis — aggregate resident reviews and ratings for portfolio benchmarking.
How it works
- Each
searchterm is turned into an Apartments.com location URL; each start URL is classified as a listing (search) page or a property page. - Listing pages are paginated, and every property card on them is queued for a full detail fetch.
- Property pages are parsed for structured fields from the page's embedded data and on-page sections.
- Optional sections (reviews, visuals, interior amenities, Walk Score) are attached only when the matching toggle is on.
- Results stream to the dataset as they are scraped; run state is saved so restarts resume where they left off.
How much does it cost to scrape Apartments.com?
This actor uses pay-per-event pricing. You are charged for the queries it runs and the data it returns. Apify account credits may cover small test runs.
| Event | What it is | Free | Bronze | Silver | Gold |
|---|---|---|---|---|---|
listing-page-query | One listing/search results page scraped | $6.99 / 1k | $6.49 / 1k | $5.99 / 1k | $5.49 / 1k |
property-detail-query | One property page you provide directly as a start URL | $4.99 / 1k | $4.49 / 1k | $3.99 / 1k | $3.49 / 1k |
dataset-item | Each property saved, after the first 20 per listing query | $0.49 / 1k | $0.39 / 1k | $0.39 / 1k | $0.39 / 1k |
review | Fetching reviews for a property (when includeReviews is on) | $0.19 / 1k | $0.14 / 1k | $0.14 / 1k | $0.14 / 1k |
visual | Fetching images and virtual tours (when includeVisuals is on) | $0.19 / 1k | $0.14 / 1k | $0.14 / 1k | $0.14 / 1k |
interior-amenities | Fetching interior amenities (when includeInteriorAmenities is on) | $0.10 / 1k | $0.05 / 1k | $0.05 / 1k | $0.05 / 1k |
walk-score | Fetching Walk/Transit/Bike score (when includeWalkScore is on) | $0.10 / 1k | $0.05 / 1k | $0.05 / 1k | $0.05 / 1k |
Example: scraping one Brooklyn search page and returning 40 properties with all toggles on costs roughly $6.99 (listing page) + $0.01 (20 chargeable dataset items) + ~$0.02 (reviews + visuals + interior + walk score for 40 properties) ≈ $7.02 on the Free tier, before account credits.
Python API example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("parsebird/apartments-com-scraper").call(run_input={"search": "Brooklyn, NY","maxItems": 50,"includeReviews": True,"includeVisuals": True,"includeInteriorAmenities": True,"includeWalkScore": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["propertyName"], item["rent"], item["url"])
JavaScript API example
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_APIFY_TOKEN" });const run = await client.actor("parsebird/apartments-com-scraper").call({startUrls: ["https://www.apartments.com/brooklyn-ny/"],maxItems: 50,includeVisuals: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {console.log(`${item.propertyName} - ${item.rent?.min}-${item.rent?.max} - ${item.url}`);}
Is it legal to scrape Apartments.com?
This actor collects publicly available listing information from Apartments.com. Web scraping of public data is legal in many jurisdictions, but you are responsible for how you use the data. Review Apartments.com's Terms of Use, do not misuse personal data such as reviewer names, and make sure your use case complies with applicable laws (including GDPR and CCPA where relevant). For background, read Apify's guide: Is web scraping legal?.
Other real estate scrapers / Related Actors
- Craigslist Real Estate Scraper — FSBO homes and rentals from Craigslist.
- Trulia Property Scraper — for-sale and rental listings from Trulia.
- Propertyfinder Scraper — Property Finder listing data.
- Fotocasa Scraper — Spanish real estate listings.
- Funda Scraper — Netherlands real estate listings.
FAQ
Can I mix property URLs and search URLs in one run?
Yes. Put any combination of Apartments.com listing (search) URLs and property detail URLs into startUrls, and optionally add a search term as well.
How do I scrape one specific property?
Copy the property page URL from Apartments.com and paste it into startUrls. It is billed as a property-detail-query.
How do I apply filters like price or pet policy?
Set the filters on the Apartments.com website, then copy the filtered results URL from your browser and paste it into startUrls.
Why are some fields empty? Listings vary. Single-family rentals and smaller buildings often have no fees, floor plan units, reviews, or Walk Score. The actor returns whatever the property page publishes.
Do the toggles change the cost?
Yes. includeReviews, includeVisuals, includeInteriorAmenities, and includeWalkScore each add a small per-property event only for properties where that data is returned.
Why does a run take a while? Apartments.com has strong anti-bot protection, so each page is fetched through the Apify Proxy Unblocker and retried until it succeeds. Expect roughly one to two minutes per property. For large runs, raise the Actor's run timeout in the run options.
Can I schedule recurring runs? Yes. Use Apify scheduling to run hourly, daily, weekly, or on a custom interval.
Can I connect the results to other tools? Yes. Use the Apify API, dataset webhooks, or Apify integrations to push data to Google Sheets, databases, CRMs, Make, Zapier, or n8n.
Where do I report an issue? Open a ticket on the actor's Issues tab with the input you used and an example URL.
Legal and compliance
Apartments.com Scraper & API is intended for lawful research, monitoring, and analysis of publicly available rental listings. Review the source site's terms, handle any personal data (such as reviewer names and leasing contacts) carefully and in line with GDPR, CCPA, and other applicable regulations, and use the exported JSON, CSV, Excel, API, and integration workflows only for compliant purposes.