Apartments.com Rentals Scraper avatar

Apartments.com Rentals Scraper

Pricing

from $0.60 / 1,000 rental properties

Go to Apify Store
Apartments.com Rentals Scraper

Apartments.com Rentals Scraper

Export public Apartments.com rental listings with prices, addresses, amenities, availability, images, coordinates, and contact details.

Pricing

from $0.60 / 1,000 rental properties

Rating

0.0

(0)

Developer

Fetch Cat

Fetch Cat

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

8 hours ago

Last modified

Share

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.

Use the Apartments.com scraper for rental-market research, property-management analysis, relocation workflows, and public listing enrichment. Available fields vary by page, and site restrictions can prevent a run from returning records. No login is required.

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}.

Ready-to-run examples

Choose a bounded public example and inspect its saved input before running:

Example output

Illustrative shape only, not a current listing or availability quote. Fields vary by property; contact details and images are omitted here.

{
"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": null,
"contactName": null,
"imageUrls": [],
"description": "Public property description...",
"floorPlans": [{"name":"2 Bedroom / 2 Bathroom","unitNumber":"1203","bedrooms":"2","bathrooms":"2","unitRent":"$5,074","squareFeet":null,"availability":"Now","moveInSpecialText":"Unit Special"}],
"moveInSpecialText": "Unit Special",
"scrapedAt": "2026-08-03T17:45:00.000Z",
"warnings": []
}

What data can you extract?

FieldDescription
listingIdStable public Apartments.com listing identity
url, sourceUrlCanonical property URL and originating input/page
propertyName, addressProperty name and full displayed address
city, state, zipCodeLocation components when the displayed address can be separated
neighborhoodReserved field; currently always null
latitude, longitudePublic map coordinates when available
priceTextOriginal displayed rent/range text
minPrice, maxPrice, currencySafely normalized rent range
bedrooms, bathrooms, squareFeetPublic unit range values
propertyType, availabilityTextProperty classification and availability
amenitiesPublicly listed amenities
rating, reviewCountRating value and review count when available; not review text
scoresReserved field; currently always {}
phone, contactNamePublic contact fields shown on the property page
imageUrlsPublic property image URLs
descriptionPublic property description
floorPlansPublic floor-plan/unit rows with beds, baths, rent, square footage, availability, and any displayed unit special
moveInSpecialTextPublic property or unit move-in-special text when displayed
scrapedAt, warningsCollection timestamp and per-row enrichment notices

Input settings

SettingJSON keyDescription
Apartments.com URLsstartUrlsSearch URLs with your filters or individual property URLs
LocationlocationCity/state search, such as Chicago IL
ZIP codezipCodeFive-digit US ZIP search
Maximum propertiesmaxItemsGlobal limit; form default 20, omitted API key uses 25
Maximum pagesmaxPagesSearch-page limit per input; default 5
Enrich detailsincludeDetailsVisit property pages for expanded public fields
Include imagesincludeImagesReturn publicly displayed image URLs
ProxyproxyConfigurationOptional advanced connection settings; not required by default

Example inputs

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 a filtered Apartments.com results URL into startUrls and set a conservative maxItems. Compare exported snapshots by listingId in your own workflow; this Actor does not generate change alerts.

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.

Pricing

The Actor charges a one-time Start (start) event after input validation and a Rental property (item) event for each unique property saved. Duplicates and blocked requests that produce no saved property do not trigger a property charge. A saved property with a detail-enrichment warning still counts as a saved property. See the live Pricing tab for current rates and account-tier discounts.

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 includeDetails for a faster search snapshot; enable it for contacts, coordinates, amenities, floor-plan/unit availability, specials, 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.
  • Results follow the source-page order; there is no Actor-side sorting. Price ranges are displayed amounts, not a guarantee of total monthly fees.
  • A blocked search page or an unexpectedly empty first page can fail the run. A start charge may still apply when no property is saved. Check the run status and any row warnings before using the results.

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
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
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(client.dataset(run["defaultDatasetId"]).list_items().items)
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~apartments-com-rentals-scraper/run-sync-get-dataset-items' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"location":"Chicago IL","maxItems":25}'

MCP and AI agents

Use the official Apify MCP Server, not a separate server implemented by this Actor. The focused configuration exposes this Actor; the general https://mcp.apify.com server also supports Actor discovery. Give agents an explicit maxItems limit and ask them to inspect run status, dataset rows, nullable fields, and warnings before summarizing results.

For Claude Code:

$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.”

FAQ

Can I export CSV or Excel?

Yes. Every run writes an Apify dataset that can be downloaded as JSON, CSV, Excel, XML, or RSS and queried over the dataset API.

Does it require a proxy?

No proxy is configured by default. Optional Apify Proxy settings are available for buyers who need them in their own environment.

Why are some fields empty?

Apartments.com does not show every field for every property. Search-only runs return fewer fields than enriched runs. neighborhood and scores are currently unpopulated placeholders. Other unavailable fields are null or empty rather than guessed.

Is this an Apartments.com API alternative?

It exports structured records from public pages through Apify's API. It is not an official Apartments.com API, and access restrictions or site changes can affect results.

Can I scrape a single property?

Yes. Add its public Apartments.com property URL to startUrls and set maxItems to 1.

Support and feedback

For custom additions or integrations, email hello@fetchcat.dev.

Found an error or have a feature request? Open an issue from the Actor page with the run ID, a non-sensitive input example and what you expected. Do not include credentials or private data.

Made with care for curious people, AI agents and the possibilities in data. ♥