Export public Apartments.com rental properties by city, ZIP code, search URL, or individual property URL. Get stable listing IDs, rent ranges, addresses, availability, amenities, coordinates, contact details, images, and source links as JSON, CSV, Excel, or API output.
The Actor is built for rental-market research, inventory monitoring, property-management analysis, relocation workflows, and public listing enrichment. It uses a lightweight connection by default, so you do not need to configure a proxy for ordinary runs.
Example input
{
"startUrls": [{"url": "https://www.apartments.com/apartments/new-york-ny/?bb="}],
"maxItems": 25,
"maxPages": 2,
"includeDetails": true,
"includeImages": true
}
You can instead use {"location":"Chicago IL","maxItems":25} or {"zipCode":"10001","maxItems":25}.
Example output
{
"listingId": "1j2c5h6",
"url": "https://www.apartments.com/10-halletts-point-astoria-ny/1j2c5h6/",
"sourceUrl": "https://www.apartments.com/apartments/new-york-ny/?bb=",
"propertyName": "10 Halletts Point",
"address": "10, 20, 30 Halletts Pt, Astoria, NY 11102",
"city": "Astoria",
"state": "NY",
"zipCode": "11102",
"neighborhood": null,
"latitude": 40.7766,
"longitude": -73.93585,
"priceText": "Studio $3,195; 2 Beds $4,388+",
"minPrice": 3195,
"maxPrice": 4388,
"currency": "USD",
"bedrooms": ["Studio", "2 Beds"],
"bathrooms": [],
"squareFeet": [],
"propertyType": "Apartment Community",
"availabilityText": null,
"amenities": ["Fitness Center", "Pool"],
"rating": null,
"reviewCount": null,
"scores": {},
"phone": "(929) 552-4252",
"contactName": null,
"imageUrls": ["https://images1.apartments.com/...jpg"],
"description": "Public property description...",
"scrapedAt": "2026-08-03T17:45:00.000Z",
"warnings": []
}
What data can you extract?
| Field | Description |
|---|---|
listingId |
Stable public Apartments.com listing identity |
url, sourceUrl |
Canonical property URL and originating input/page |
propertyName, address |
Property name and full displayed address |
city, state, zipCode, neighborhood |
Public location components |
latitude, longitude |
Public map coordinates when available |
priceText |
Original displayed rent/range text |
minPrice, maxPrice, currency |
Safely normalized rent range |
bedrooms, bathrooms, squareFeet |
Public unit range values |
propertyType, availabilityText |
Property classification and availability |
amenities |
Publicly listed amenities |
rating, reviewCount, scores |
Public rating and score summaries |
phone, contactName |
Public contact fields shown on the property page |
imageUrls |
Public property image URLs |
description |
Public property description |
scrapedAt, warnings |
Collection timestamp and per-row enrichment notices |
Input settings
| Setting | JSON key | Description |
|---|---|---|
| Apartments.com URLs | startUrls |
Search URLs with your filters or individual property URLs |
| Location | location |
City/state search, such as Chicago IL |
| ZIP code | zipCode |
Five-digit US ZIP search |
| Maximum properties | maxItems |
Global unique-property limit; default 25 |
| Maximum pages | maxPages |
Search-page limit per input; default 5 |
| Enrich details | includeDetails |
Visit property pages for expanded public fields |
| Include images | includeImages |
Return publicly displayed image URLs |
| Proxy | proxyConfiguration |
Optional advanced connection settings; not required by default |
Input recipes
Fast market snapshot
{"location":"Chicago IL","maxItems":50,"maxPages":2,"includeDetails":false}
Detailed property record
{"startUrls":[{"url":"https://www.apartments.com/10-halletts-point-astoria-ny/1j2c5h6/"}],"maxItems":1,"includeDetails":true}
Filtered monitoring run
Paste the filtered Apartments.com results URL into startUrls, set a conservative maxItems, and schedule repeat runs in Apify. Stable listingId values make snapshots easy to compare.
Who is it for?
This Actor is useful for real estate analysts, rental-market researchers, property managers, relocation teams, and developers building rental search or monitoring workflows.
Tips and limits
- Start with 10–25 properties, inspect output, then increase the limit.
- Use a pasted search URL when you need Apartments.com filters preserved exactly.
- Disable
includeDetailsfor a faster search snapshot; enable it for contacts, coordinates, amenities, and richer media. - Broad searches may be capped or reordered by Apartments.com. The Actor reports what the public pages expose and does not claim exhaustive market coverage.
- Optional fields remain empty instead of being guessed. A row warning records detail-page failures while preserving useful search data.
API usage
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/apartments-com-rentals-scraper').call({
location: 'New York NY', maxItems: 25, includeDetails: true
});
console.log(run.defaultDatasetId);
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("fetch_cat/apartments-com-rentals-scraper").call(run_input={
"zipCode": "10001", "maxItems": 25, "includeDetails": True
})
print(run["defaultDatasetId"])
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~apartments-com-rentals-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"location":"Chicago IL","maxItems":25}'
MCP and AI agents
Connect through Apify MCP Server:
claude mcp add --transport http apify 'https://mcp.apify.com?tools=fetch_cat/apartments-com-rentals-scraper'
Or add the HTTP server to your MCP client configuration:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/apartments-com-rentals-scraper"
}
}
}
Example prompts:
- “Export 20 public Apartments.com rentals in ZIP 10001 and summarize the rent range.”
- “Find Chicago rentals, return their addresses and amenities, and group them by price range.”
Support
Open an issue from the Actor page with the run URL, input, expected result, and one reproducible public Apartments.com URL. Do not include credentials or private data.