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.
- Daily trigger Schedule trigger
- Configure input Code
- Run Apify Actor HTTP Request
- Normalize + dedupe Code
- Rows ready No operation
- 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
} | Setting | Type | Required | Default | What 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:
| Field | What it is |
|---|---|
| name | Name |
| address | Address |
| city | City |
| state | State |
| zipCode | Zip Code |
| priceMin | Price Min |
| priceMax | Price Max |
| priceCurrency | Price Currency |
| bedsMin | Beds Min |
| bedsMax | Beds Max |
| propertyType | Property Type |
| rating | Rating |
| photoCount | Photo Count |
| propertyManager | Property Manager |
| url | Url |
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.