Apartments.com rental listing scraper in n8n

Search Apartments.com rentals by city, bedroom count, price, property type, pet policy, and amenities, or scrape specific listing URLs directly. Returns rent ranges, per-unit floor plans, walkability scores, amenities, and leasing contact details.

What this workflow does

Import it and n8n runs the Apartments.com Rental Listing & Floor Plan Scraper Actor on Apify every day at 08:00 with the starter input below. Each row comes back with name, address, city, state and 11 more; repeats with the same url are dropped. A Google Sheets append is included and stays off until you add your sheet. The only credential it needs is your Apify API token.

Read from the workflow file, built for Apartments.com Rental Listing & Floor Plan Scraper version 2.0.1. Updated 2026-11-14.

How the rows travel

6 nodes, in the order n8n runs them. The yellow stop is the call to the Apify Actor; the dashed stop is optional.

  1. Daily trigger Schedule trigger
  2. Configure input Code
  3. Run Apify Actor HTTP Request
  4. Normalize + dedupe Code
  5. Rows ready No operation
  6. Google Sheets (optional) Google Sheets, off until you switch it on

From the Short

This workflow is the one the video points to: the number in each video opens this page.

Input

The Configure input node holds the starter input. Change it there; every setting the Actor accepts is listed below.

{
  "searchLocation": "New York, NY",
  "maxItems": 25,
  "maxPages": 1
}
Input settings of Apartments.com Rental Listing & Floor Plan Scraper
SettingTypeRequiredDefaultWhat it does
mode string No search How to find listings: search uses a city or ZIP plus filters; urls uses the Apartments.com URLs you paste; listingKeys looks up the listing keys you paste. One of: search, urls, listingKeys.
searchLocation string No – US city and state (New York, NY) or 5-digit ZIP (10001). Used only in search mode.
bedrooms string No any Match listings with at least one floor plan of this bedroom count. 7 choices.
bathrooms string No any Match listings with a floor plan at or above this bathroom count. One of: any, 1plus, 2plus, 3plus.
priceMin integer No – Lowest monthly rent to include. Leave unset for no minimum.
priceMax integer No – Highest monthly rent to include. Leave unset for no maximum.
sqftMin integer No – Smallest floor plan to include. Leave unset for no minimum.
sqftMax integer No – Largest floor plan to include. Leave unset for no maximum.
propertyType string No any Restrict results to one property type. One of: any, apartments, houses, condos, townhomes.
petPolicy string No any Require listings that allow dogs, cats, or both. One of: any, dogs, cats, pets.
amenities array No – Only return listings that publish every selected amenity. 40 choices.
rentSpecials boolean No false Only return listings advertising a current move-in deal.
minRating string No any Only return listings rated at or above this score (1–5). One of: any, 1, 2, 3, 4, 5.
moveInDate string No – Only return listings with a unit available on or before this date (YYYY-MM-DD).
specialties array No – Return listings matching at least one selected lifestyle or housing program. Student and senior housing are the most consistently published; other values are applied when the… 7 choices.
keywords string No – Keep listings whose name, description, amenities, neighborhood or floor-plan names contain this text. Requires scrapeDetails=true.
sortBy string No relevance How to order returned listings. One of: relevance, priceAsc, priceDesc, bedsAsc, bedsDesc, newest.
startUrls array No – Apartments.com city-search or property URLs. Used only in urls mode. A listing key is also accepted.
listingKeys array No – Apartments.com listing keys such as d3pj6rk. Used only in listingKeys mode.
maximizeCoverage boolean No false When the public listing index cannot fill your request, automatically try the site's search page as a last resort. Off by default.
scrapeDetails boolean No true Fetch floor plans, available units, fees, pets, parking, schools, office hours, manager, website and photos for each listing. Turn off for faster card-level results.
maxItems integer No 50 Maximum listings to return (1–5,000). Search mode also stops at the maxPages scan depth.
maxPages integer No 5 How many 40-listing discovery pages to scan in search mode (1–20). Raise it when filters are narrow.

What each row holds

Every field the Actor returns stays in the row (15 in its dataset schema). Normalize + dedupe trims text, drops empty fields, removes repeats with the same url and adds _source and _scrapedAt. The main fields:

Main output fields of Apartments.com Rental Listing & Floor Plan Scraper
FieldWhat it is
nameName
addressAddress
cityCity
stateState
zipCodeZip Code
priceMinPrice Min
priceMaxPrice Max
priceCurrencyPrice Currency
bedsMinBeds Min
bedsMaxBeds Max
propertyTypeProperty Type
ratingRating
photoCountPhoto Count
propertyManagerProperty Manager
urlUrl

What the first run costs

With the starter input (maxItems = 25) a first run costs about $0.42 on the Apify Free plan: $0.40 to start the run at 4 GB of memory and $0.02 for the results, plus platform usage.

The Actor lists $0.99 per 1,000 results; its catalogue page breaks the price down by Apify plan. The Apify Free plan includes $5 of usage a month.

The Actor behind it

Apartments.com Rental Listing & Floor Plan Scraper: Search Apartments.com rentals by city, bedroom count, price, property type, pet policy, and amenities, or scrape specific listing URLs directly. Returns rent ranges, per-unit floor plans, walkability scores, amenities, and leasing contact details.

The same job from an AI agent

The matching agent skill gives Claude Code, Codex, Cursor and other agents the same Actor, input and fields. Install it in one line:

npx skills add https://scraperfinder.com --skill apartments-com-rental-listing-and-floor-plan-scraper

The apartments.com rental listing scraper skill, with manual install and run steps

Questions people ask

How do I import this workflow into n8n?

Copy https://scraperfinder.com/n8n/apartments-com-rental-listing-and-floor-plan-scraper.json. In n8n, open a new workflow, click the three-dot menu, choose Import from URL and paste it. Or download the JSON file and use Import from File; both give the same 6 nodes.

Do I need an Apify account?

Yes. The workflow calls the Apartments.com Rental Listing & Floor Plan Scraper Actor through the Apify API with your own token, and each run is billed to your Apify account. The Free plan includes $5 of usage a month.

What does a run cost?

With the starter input (maxItems = 25) a first run costs about $0.42 on the Apify Free plan: $0.40 to start the run at 4 GB of memory and $0.02 for the results, plus platform usage. The Actor's Store page shows the current price.

Can I change what it collects?

Yes: edit the input object in the Configure input node. The Actor takes 23 settings; the table on this page lists each one with its default. Raise maxItems once the first rows look right.

Does it work without Google Sheets?

Yes. The rows wait in the Rows ready node, so you can connect any other node there: a database, Airtable, a webhook or an email. The Google Sheets node is only one option.

Workflow updated 2026-11-14