Apartments Com Scraper avatar

Apartments Com Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Apartments Com Scraper

Apartments Com Scraper

From 1$/1000 results. Scrape Apartments.com listings by city, filter, or direct URL. Extract rent, address, beds, baths, amenities, photos, virtual tours & coordinates. Residential proxy needed for full detail mode.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Alexandre Manguis

Alexandre Manguis

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Apartments.com Scraper

From $1 per 1 000 listings — search by city, filter, or paste any Apartments.com URL. No watermark. REST API ready.


Proxy requirements

ModeProxy needed
Cards only (includeDetails: false)Not required — search pages are accessible without proxy on most runs
Full detail (includeDetails: true)Required — detail pages are heavily protected and will be blocked without a residential proxy

Default mode is cards only — no proxy needed to get started.

When you enable full detail, use your own residential proxies for reliable results. Datacenter proxies are blocked quickly.

{
"proxyConfiguration": {
"proxyUrls": ["http://USERNAME:PASSWORD@YOUR-PROXY-HOST:PORT"]
}
}

What it does

Visit Apartments.com search and listing pages, collect results, and save structured data to a dataset. Two modes — choose the one that fits your workflow:

ModeHowSpeed
URL modePaste any Apartments.com search, filter, map, or property URLFastest
Builder modeSet city, home type, bedrooms, price, pets, amenities in the input formNo URL needed

Both modes support pagination, detail-page extraction, keyword post-filtering, and optional proxy.


What it extracts

From search result cards (fast mode)

FieldDescription
urlListing URL
propertyNameProperty name
addressStreet address when visible
priceRent text from the card
beds / baths / sqftSize info
phonePhone when shown on card
amenitiesAmenities visible on the card
imageCard thumbnail URL

From detail pages (full mode)

Everything above, plus:

FieldDescription
rentFull rent range from the detail page
ratingStar rating text
descriptionFull property description
highlightsProperty highlights section
amenitiesComplete amenity list
feesAndPoliciesFees, deposits, pet policy text
schoolsNearby schools & education info
transportationTransit & commute info
floorPlansFloor plan & availability text
coordinates{ latitude, longitude } from page data
imagesAll photo URLs (toggle with includeImages)
virtualToursVirtual tour, video & Matterport links
sourceOrigin search URL, page number
scrapedAtISO timestamp

Best use cases

  • Real-estate lead generation — batch-pull landlord contact info (name, phone, address) for outreach
  • Market research — track rent trends by city, bedroom count, or neighborhood
  • Competitive analysis — monitor price changes and new listings in target markets
  • Data pipelines — feed structured apartment data into CRMs, spreadsheets, or BI tools
  • Investment analysis — compare rent-to-price ratios across neighborhoods
  • Relocation tools — build curated shortlists with photos, floor plans, and amenity scores

Quick start

  1. Click Try for free (or call the API).
  2. Option A — paste one or more Apartments.com URLs into Start URLs.
    Option B — leave Start URLs empty and fill in Locations, Bedrooms, Max rent, etc.
  3. Set Maximum listings to control run cost.
  4. Click Start — results appear in the Dataset tab within minutes.

Input

Targeting

FieldTypeDefaultDescription
startUrlsarrayPaste Apartments.com search, filter, map, or property detail URLs. Overrides builder inputs
locationsarray["new-york-ny"]City slugs (e.g. new-york-ny, miami-fl, chicago-il)
homeTypesarray["all"]all, apartments, houses, condos, townhomes
bedroomsarraystudios, 1, 2, 3, 4, 5, min-2, min-3
priceMinintegerMinimum monthly rent
priceMaxintegerMaximum monthly rent
petPolicystringpet-friendly, pet-friendly-dog, pet-friendly-cat
amenitiesarrayFilter slugs: washer-dryer, parking, pool, furnished, etc.
specialtiesarraystudent-housing, senior-housing, short-term, low-income, etc.
extraFilterSlugsarrayAny additional Apartments.com URL filter slugs
rawQueryStringstringRaw query string to append to generated URLs
mapBoundingBoxTokenstringValue for the bb= parameter from a map search

Scraping options

FieldTypeDefaultDescription
maxItemsinteger100Max listings to save (0 = no limit)
maxPagesinteger3Max search result pages per URL
includeDetailsbooleantrueOpen each listing for full detail extraction
includeImagesbooleantrueExtract photo URLs from detail pages
includeVirtualToursbooleantrueExtract virtual tour / video links
saveHtmlbooleanfalseSave detail-page HTML to Key-Value Store for debugging
maxConcurrencyinteger2Parallel pages (keep low without proxy)
requestHandlerTimeoutSecsinteger75Page timeout in seconds
maxRequestRetriesinteger2Retries per URL
keywordsarrayPost-filter: only save listings that match these keywords
keywordMatchModestringanyany, all, or phrase
proxyConfigurationobjectdisabledApify Proxy or custom proxy URLs

URL builder examples

The actor builds Apartments.com URLs automatically. Here are a few examples:

InputGenerated URL
locations: ["new-york-ny"], bedrooms: ["2"], priceMax: 3000/new-york-ny/2-bedrooms-under-3000/
locations: ["miami-fl"], homeTypes: ["apartments"], amenities: ["pool"]/apartments/miami-fl/pool/
locations: ["austin-tx"], petPolicy: "pet-friendly-dog"/austin-tx/pet-friendly-dog/
locations: ["chicago-il"], bedrooms: ["studios"]/chicago-il/studios/

Tips

Fastest mode (card-only)
Set includeDetails: false to skip individual property pages. You get the search card data in seconds with no proxy needed for the first few pages.

Avoiding blocks
Apartments.com protects against automated access. Enable Apify Proxy (residential recommended) when running at scale or when you see 403 errors.

Map-area targeting
Copy a map search URL from the site (e.g. https://www.apartments.com/?bb=_slx7yjq0H1g4mu2nD) and paste it into Start URLs for precise geographic targeting.

Keyword post-filter
Use keywords to keep only listings whose text matches. For example ["rooftop", "doorman"] with keywordMatchMode: any saves only listings that mention at least one of those words.

Pagination
maxPages controls how many search-result pages are visited per URL. Apartments.com uses /2/, /3/ etc. as page slugs.


Proxy settings

Proxies are disabled by default for low-volume runs. Enable them in the Proxy section when:

  • You receive 403 / blocked errors
  • Running at concurrency > 2
  • Running more than a few hundred requests

Residential proxies give the best success rate on Apartments.com.


Troubleshooting

SymptomFix
403 / blocked errorEnable Apify Proxy (residential)
Empty resultsCheck the URL or city slug is valid on Apartments.com
Missing detail fieldsSome fields only appear on certain property types
Slow runLower maxConcurrency; enable proxy
Dataset has fewer rows than expectedSome cards on the page may be ads or have no property URL

Keywords

apartments.com scraper · rental listings · apartment search api · rent data · real estate leads · property scraper · apartment data extraction · rental market research

Best way to target data

Option A: paste exact Apartments.com URLs

Use startUrls when you already have the URL you want from Apartments.com. This is the safest and most precise targeting mode.

Examples:

https://www.apartments.com/new-york-ny/
https://www.apartments.com/new-york-ny/2-bedrooms/
https://www.apartments.com/new-york-ny/under-3000/
https://www.apartments.com/new-york-ny/washer-dryer/
https://www.apartments.com/new-york-ny/min-2-bedrooms-under-3000/
https://www.apartments.com/houses/miami-fl/
https://www.apartments.com/condos/chicago-il/
https://www.apartments.com/townhomes/austin-tx/
https://www.apartments.com/toronto-on/
https://www.apartments.com/?bb=_slx7yjq0H1g4mu2nD

You can also paste a property detail URL. The Actor will detect it and scrape it as a detail page.

Option B: use the URL builder inputs

Leave startUrls empty and fill the targeting fields:

{
"locations": ["new-york-ny"],
"homeTypes": ["all"],
"bedrooms": ["2"],
"priceMax": 3000,
"amenities": ["washer-dryer"],
"maxItems": 50,
"maxPages": 2,
"includeDetails": true,
"proxyConfiguration": { "useApifyProxy": false }
}

This builds:

https://www.apartments.com/new-york-ny/2-bedrooms-under-3000/washer-dryer/

Tested URL patterns

City or area

https://www.apartments.com/new-york-ny/
https://www.apartments.com/miami-fl/
https://www.apartments.com/toronto-on/

Use the same city slug format Apartments.com uses in its URLs. For US cities, that is usually city-state, for example new-york-ny. Canada-style pages such as toronto-on are also supported when the site supports them.

Map / zone targeting

Apartments.com map searches can use a bb parameter:

https://www.apartments.com/?bb=_slx7yjq0H1g4mu2nD

For map searches, the most reliable method is to copy the full URL from Apartments.com and paste it into startUrls.

You can also use:

{
"mapBoundingBoxToken": "_slx7yjq0H1g4mu2nD"
}

or:

{
"rawQueryString": "bb=_slx7yjq0H1g4mu2nD"
}

But exact copied URLs are recommended for custom drawn map areas.

Property type

Supported homeTypes values:

all
apartments
houses
condos
townhomes

Examples:

https://www.apartments.com/apartments/miami-fl/
https://www.apartments.com/houses/miami-fl/
https://www.apartments.com/condos/chicago-il/
https://www.apartments.com/townhomes/austin-tx/

all means no property-type prefix:

https://www.apartments.com/miami-fl/

Bedrooms

Supported builder values:

studios
1
2
3
4
5
min-2
min-3

Examples:

https://www.apartments.com/new-york-ny/studios/
https://www.apartments.com/new-york-ny/1-bedrooms/
https://www.apartments.com/new-york-ny/2-bedrooms/
https://www.apartments.com/new-york-ny/3-bedrooms/
https://www.apartments.com/new-york-ny/min-2-bedrooms/

Price filters

The builder supports:

priceMax only -> under-3000
priceMin only -> over-2000
priceMin + priceMax -> 2000-to-3000

Examples:

https://www.apartments.com/new-york-ny/under-3000/
https://www.apartments.com/new-york-ny/over-3000/
https://www.apartments.com/new-york-ny/2000-to-3000/
https://www.apartments.com/new-york-ny/min-2-bedrooms-under-3000/
https://www.apartments.com/new-york-ny/studios-under-3000/

Pets

Use petPolicy:

pet-friendly
pet-friendly-dog
pet-friendly-cat

Examples:

https://www.apartments.com/new-york-ny/pet-friendly/
https://www.apartments.com/new-york-ny/pet-friendly-dog/
https://www.apartments.com/new-york-ny/pet-friendly-cat/

Amenities

Use amenities as raw Apartments.com slugs. Common examples:

washer-dryer
parking
air-conditioning
furnished
utilities-included
dishwasher
pool
fitness-center
laundry-facilities
balcony
hardwood-floors
wheelchair-access
elevator
gated
controlled-access
recent-build

Examples:

https://www.apartments.com/new-york-ny/washer-dryer/
https://www.apartments.com/new-york-ny/parking/
https://www.apartments.com/new-york-ny/air-conditioning/
https://www.apartments.com/new-york-ny/furnished/

Specialty housing

Use specialties:

student-housing
senior-housing
short-term
low-income
military-housing
corporate-housing

Examples:

https://www.apartments.com/new-york-ny/senior-housing/
https://www.apartments.com/new-york-ny/short-term/
https://www.apartments.com/new-york-ny/low-income/

Extra filters

If Apartments.com supports a URL slug that is not exposed as a named input, put it in extraFilterSlugs.

Example:

{
"locations": ["new-york-ny"],
"extraFilterSlugs": ["recent-build", "controlled-access"]
}

Pagination

Search result pagination usually uses a numeric path segment:

https://www.apartments.com/new-york-ny/2/
https://www.apartments.com/new-york-ny/2-bedrooms/2/
https://www.apartments.com/houses/miami-fl/2/

Input reference

startUrls

Array of Apartments.com URLs. This has highest priority. If provided, the Actor uses these URLs instead of generating URLs from locations.

Use this for:

  • exact city searches
  • exact filter searches
  • copied map searches
  • custom Apartments.com searches
  • property detail pages

locations

Array of city or area slugs.

Examples:

new-york-ny
miami-fl
austin-tx
toronto-on

You can also type human text like New York, NY; the Actor converts it to new-york-ny.

homeTypes

Array. Use one or more:

all
apartments
houses
condos
townhomes

bedrooms

Array. Empty means any bedrooms.

Examples:

studios
1
2
3
min-2

priceMin and priceMax

Optional integers.

Examples:

{ "priceMax": 3000 }
{ "priceMin": 2000 }
{ "priceMin": 2000, "priceMax": 3000 }

petPolicy

Optional string:

pet-friendly
pet-friendly-dog
pet-friendly-cat

amenities

Array of URL slugs such as washer-dryer, parking, pool, furnished.

specialties

Array of URL slugs such as senior-housing, short-term, low-income.

extraFilterSlugs

Array of any additional URL segments to append.

rawQueryString

Optional raw query string without ?.

Example:

bb=_slx7yjq0H1g4mu2nD

mapBoundingBoxToken

Optional value for the bb parameter only.

Example:

_slx7yjq0H1g4mu2nD

maxItems

Maximum listings to save. Use 0 for no explicit limit.

maxPages

Maximum search result pages to visit per search URL.

includeDetails

When true, the Actor opens each detail page and extracts richer data. This is slower but better.

includeImages

Extracts image URLs from detail pages.

includeVirtualTours

Extracts visible virtual tour, video, Matterport, iframe, YouTube, and Vimeo links.

saveHtml

Saves detail page HTML snapshots in the default key-value store. Useful for debugging or selector updates.

maxConcurrency

Default is 2. Keep it low without proxies.

requestHandlerTimeoutSecs

Default is 75 seconds.

maxRequestRetries

Default is 2 retries.

keywords

Optional post-filter. The Actor first extracts data, then checks whether the extracted text contains your keywords.

This is useful for filtering results such as:

garage
no fee
dog friendly
washer dryer
near subway

For native Apartments.com keyword searches, use the Apartments.com website, copy the resulting URL, and paste it into startUrls.

keywordMatchMode

Use one of:

any
all
phrase
  • any: save listing if at least one keyword matches
  • all: save listing only if every keyword matches
  • phrase: same as all, but intended for exact phrases such as washer dryer

proxyConfiguration

This input is intentionally last.

Default:

{
"useApifyProxy": false
}

So by default the Actor uses no proxies.

Enable Apify Proxy or custom proxies only if Apartments.com blocks or throttles the run. When using no proxy, keep maxConcurrency low.

Output example

{
"id": "abc1234",
"url": "https://www.apartments.com/example-property-city-st/abc1234/",
"propertyName": "Example Apartments",
"address": "123 Main St, New York, NY 10001",
"phone": "(555) 123-4567",
"rent": "$2,500 - $3,800",
"beds": "1-2 Beds",
"baths": "1-2 Baths",
"sqft": "650 - 1,100 Sq Ft",
"coordinates": {
"latitude": 40.7128,
"longitude": -74.006
},
"description": "Property description text...",
"amenities": ["Washer & Dryer", "Parking", "Fitness Center"],
"images": [
{ "url": "https://...jpg", "alt": "Example Apartments" }
],
"virtualTours": [],
"source": {
"type": "detail",
"searchUrl": "https://www.apartments.com/new-york-ny/",
"searchPage": 1,
"startUrl": null
},
"scrapedAt": "2026-05-20T00:00:00.000Z"
}

How to run on Apify

Upload ZIP in Apify Console

  1. Open Apify Console.
  2. Create a new Actor.
  3. Choose upload from ZIP or import source files.
  4. Upload this package.
  5. Build the Actor.
  6. Open the Input tab and set your URLs or builder fields.
  7. Run it.

Run locally

npm install
npm start

With a local input file, use Apify CLI storage or set the default input in local storage.

Files included

.actor/actor.json
Dockerfile
INPUT_SCHEMA.json
README.md
package.json
sample-input.json
src/main.js
src/url-builder.js
src/extractors.js
src/keyword-filter.js
test/url-builder.test.js
test/keyword-filter.test.js

Validation included

The package includes simple unit tests for:

  • URL generation
  • location slug normalization
  • bedroom and price filters
  • pagination URL generation
  • property URL detection
  • keyword filtering

Run:

npm test
npm run check

Practical recipes

Scrape New York apartments under 3000 USD

{
"startUrls": [],
"locations": ["new-york-ny"],
"homeTypes": ["all"],
"priceMax": 3000,
"maxItems": 100,
"maxPages": 3,
"proxyConfiguration": { "useApifyProxy": false }
}

Scrape Miami houses, pet friendly

{
"startUrls": [],
"locations": ["miami-fl"],
"homeTypes": ["houses"],
"petPolicy": "pet-friendly",
"maxItems": 100,
"maxPages": 3,
"proxyConfiguration": { "useApifyProxy": false }
}

Scrape Toronto rentals

{
"startUrls": [],
"locations": ["toronto-on"],
"homeTypes": ["all"],
"maxItems": 100,
"maxPages": 3,
"proxyConfiguration": { "useApifyProxy": false }
}

Scrape an exact map area

{
"startUrls": [
{ "url": "https://www.apartments.com/?bb=_slx7yjq0H1g4mu2nD" }
],
"maxItems": 100,
"maxPages": 3,
"includeDetails": true,
"proxyConfiguration": { "useApifyProxy": false }
}

Use a custom URL from Apartments.com filters

{
"startUrls": [
{ "url": "https://www.apartments.com/new-york-ny/2-bedrooms/washer-dryer/" }
],
"maxItems": 100,
"maxPages": 3,
"includeDetails": true,
"proxyConfiguration": { "useApifyProxy": false }
}

Troubleshooting

The run returns few or no results

Try these steps:

  1. Open the URL manually in a browser to verify it has results.
  2. Paste the exact Apartments.com URL in startUrls instead of using builder fields.
  3. Increase maxPages.
  4. Disable keywords temporarily.
  5. Enable proxies if the page is blocked.

The site blocks the run

Apartments.com may apply anti-bot or security checks. Try:

  • lower maxConcurrency
  • enable Apify Proxy
  • use residential proxies if your Apify plan allows it
  • reduce maxPages
  • use fewer start URLs per run

A filter is missing

Use Apartments.com in your browser, select the filter, copy the resulting URL, and paste it into startUrls.

Or copy only the filter slug into extraFilterSlugs.

Notes for maintainers

  • List extraction is intentionally generic and avoids relying on one fragile CSS class.
  • Detail extraction combines JSON-LD, meta tags, visible text sections, image tags, and links.
  • The Actor stores a RUN-SUMMARY object in the default key-value store after each run.
  • If Apartments.com changes its layout, enable saveHtml and inspect the saved HTML snapshots.

Keywords

apartments.com scraper, apartments scraper, apify apartments actor, apartments.com apify actor, apartments.com crawler, apartment listings scraper, rental listings scraper, real estate scraper, property scraper, apartments.com rentals, apartments.com search scraper, apartments.com detail scraper, apartments.com map scraper, apartments.com city scraper, apartments.com houses scraper, apartments.com condos scraper, apartments.com townhomes scraper, apartments.com pet friendly scraper, apartments.com washer dryer scraper, apartments.com rent data, apartments.com listings data, apartments.com rental data, apartments.com url scraper, apartments.com playwright scraper, apartments.com crawlee scraper