Rent.com Scraper avatar

Rent.com Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Rent.com Scraper

Rent.com Scraper

Scrape rental listings from Rent.com — apartments, houses, condos and townhouses across all US cities. Extract rent prices, floor plans, amenities, pet policies, parking, photos, phone numbers and availability. Filter by city, price range, bedrooms and property type.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Rent.com Scraper — US Apartment, House & Condo Rental Listings Data Extractor

The fastest way to extract Rent.com rental listings at scale. Pull every apartment, house, condo and townhouse on Rent.com across every US metro — with rent ranges, bedroom/bathroom counts, square footage, amenities, pet policies, parking, photos, leasing phone numbers and live availability — structured as clean JSON ready for rent comps, multifamily analytics, prop-tech apps, relocation tools and rental market dashboards.

Apify Actor


What This Actor Does

The Rent.com Scraper is a production-grade Apify Actor that extracts the complete public rental inventory from Rent.com — one of the largest US apartment and house listing portals operated on the RentPath / Redfin network. The actor returns structured JSON for every listing in any US city, state or custom search URL you target, with optional deep-scrape of each property's detail page for amenities, floor plans, pet policies, parking, fees and full photo galleries.

In a typical run the actor pulls back rental properties across the following categories:

  • Apartments — large multifamily apartment complexes, mid-rises, high-rises and garden-style communities
  • Houses & Condos — single-family rentals, condos and townhouses listed for lease
  • Luxury Apartments — premium-tier communities filtered for high-end finishes and amenities
  • Cheap / Budget Apartments — affordable rentals filtered by Rent.com's value-tier
  • All Property Types — every apartments_townhouses_condos_houses listing in one sweep

Each record includes property ID, name, full address, latitude/longitude, neighborhood, rent range (low/high), bedroom range, bathroom range, square footage range, availability text, special move-in deals, pet-friendly flag, leasing phone number, photo URLs, average rating, review count and the canonical listing URL. With scrapeDetails: true you also get floor plans, amenities, pet policy, parking info, deposits, and rich descriptions — making this the most complete Rent.com data extractor on Apify for rent comp analysis, multifamily underwriting, brokerage data feeds, relocation services and rental market reports.

Why scrape Rent.com yourself when this exists?

Rent.com is built on the RentPath / Redfin Next.js stack. The listings are not in a public API — they live inside the server-rendered HTML as a __NEXT_DATA__ JSON blob, alongside application/ld+json ApartmentComplex micro-data. Most teams who try to roll this themselves hit the same wall within a week:

  • The __NEXT_DATA__ JSON shape changes silently with every Next.js release — fields disappear, get renamed or move under new nesting levels
  • Listing pricing lives in filterMatchResults[] keyed by listingId, not inside listings[] — you have to join them yourself
  • Detail-page floor plans hide pricing inside floorPlans[].units[], not at the floor-plan root
  • Street addresses are NOT in location.address — you have to pull them from the LD+JSON ApartmentComplex.address.streetAddress and match by name
  • Pet policies, parking and fees are scattered across petPolicies[], parking[], and fees with different shapes per listing
  • Rent.com fingerprints scrapers aggressively — datacenter IPs return 403 or empty pageData within minutes
  • Pagination has no totalPages field — you must detect "last page" from partial-result heuristics
  • Phone numbers split across phoneDesktop, phoneDesktopText, and phoneMobile depending on listing type
  • The site routes some URL slugs as /state/city-apartments and others as /state/city/houses_condos — both must be supported
  • Cheerio + LD+JSON parsing across thousands of listings is 8–20 hours of one-off engineering nobody wants to maintain

This actor handles all of that: city-slug normalization, paginated fetching, __NEXT_DATA__ extraction, listingIdfilterMatchResults joining, LD+JSON address merging, optional detail-page enrichment, deduplication, retry on 4xx/5xx and residential proxy rotation — and gives you clean flat JSON ready for Postgres, BigQuery, Snowflake, a CRM, a dashboard or an LLM pipeline.


Quick Start

One-Click Run

  1. Open the Rent.com Scraper page on the Apify Store and click Try for free
  2. In the Cities field, type or paste slugs like austin-texas, los-angeles-california, new-york-city-new-york, chicago-illinois
  3. Pick a Property Type (Apartments, Houses & Condos, Luxury, All Types, Cheap) and optionally set a price/bedroom range
  4. Click Start — your dataset is ready in 1–10 minutes depending on result volume. Download as JSON, CSV, Excel, HTML or XML

API Run (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("haketa/rent-com-scraper").call(run_input={
"cities": ["austin-texas", "houston-texas", "dallas-texas"],
"propertyType": "apartments",
"minPrice": 1500,
"maxPrice": 3500,
"minBeds": 1,
"maxBeds": 3,
"scrapeDetails": True,
"maxListings": 500
})
for listing in client.dataset(run["defaultDatasetId"]).iterate_items():
print(
listing["propertyName"],
"|", listing["city"], listing["state"], listing["zipCode"],
"|", f"${listing['rentMin']}-${listing['rentMax']}",
"|", f"{listing['bedsMin']}-{listing['bedsMax']}bd",
)

API Run (Node.js / TypeScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('haketa/rent-com-scraper').call({
cities: ['new-york-city-new-york', 'brooklyn-new-york', 'jersey-city-new-jersey'],
propertyType: 'luxury-apartments',
minPrice: 4000,
scrapeDetails: true,
maxListings: 300,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} NYC-area luxury rentals`);
items.slice(0, 5).forEach(i => {
console.log(`${i.propertyName}${i.neighborhood} — $${i.rentMin}-${i.rentMax}`);
});

API Run (cURL)

curl -X POST "https://api.apify.com/v2/acts/haketa~rent-com-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchUrls": [
"https://www.rent.com/california/los-angeles-apartments",
"https://www.rent.com/illinois/chicago-apartments"
],
"scrapeDetails": true,
"maxListings": 1000
}'

How It Works

Rent.com is a Next.js application. Every search-results and property-detail URL is server-rendered into HTML that embeds a giant __NEXT_DATA__ JSON payload in a <script id="__NEXT_DATA__"> tag, plus one or more application/ld+json blocks of @type: ApartmentComplex with structured address and review data. The actor uses got-scraping for HTTP requests (with realistic Chrome 124 headers + sec-ch-ua hints), Cheerio to extract the script tag, and then walks the well-known Next.js paths to pull listings, pricing and addresses.

Source URL patterns (verified April 2026)

EndpointExample URLReturns
Apartments searchhttps://www.rent.com/texas/austin-apartments?page=2~30 apartment cards per page + pricing/beds/baths/sqft via filterMatchResults[]
Typed searchhttps://www.rent.com/california/los-angeles/luxury-apartmentsProperty-type-filtered listing cards
Property detailhttps://www.rent.com/apartment/{slug}-{id}Full property record: floor plans, amenities, pet policy, parking, fees, deals, photos, walk score, schools, office hours, property manager

Engineering details

  • Engine — HTTP via got-scraping with Chrome 124 User-Agent, sec-ch-ua client hints, and full Accept-Language headers. No headless browser overhead.
  • Data pathprops.pageProps.pageData.location.listingSearch.listings[] for listing cards; props.pageProps.pageData.location.listingSearch.filterMatchResults[] for pricing/beds/baths/sqft; joined by listingId.
  • Address enrichmentapplication/ld+json ApartmentComplex blocks parsed for streetAddress, addressLocality, aggregateRating.ratingValue and reviewCount; matched to listings by property name.
  • Detail-page enrichment — when scrapeDetails: true, the actor fetches each urlPathname and pulls pageData.listing.floorPlans[].units[] for unit-level rents, amenitiesWithSubcategories[], petPolicies[], parking[], fees, deals[] and photos[].
  • Pagination?page=N query param. The actor stops when the listings array is empty, when fewer than 10 cards return on a page (last-page heuristic), or when maxPages / maxListings is hit.
  • Anti-bot — residential proxy support via Apify Proxy (RESIDENTIAL group default), configurable requestDelay (0–15s) and maxConcurrency (1–5). Defaults are deliberately conservative because Rent.com blocks aggressive crawls.
  • DeduplicationpropertyId (Rent.com internal listing ID) tracked across all search tasks; the same property appearing in multiple city searches is saved once.
  • State slug mapping — built-in 51-entry lookup converting texasTX, district-of-columbiaDC, etc., for both cities slug parsing and search-URL parsing.
  • Deterministic output — same input always produces the same dataset shape; new optional fields are added under null for backward compatibility.

Input Parameters

{
"cities": ["austin-texas", "los-angeles-california", "chicago-illinois"],
"propertyType": "apartments",
"minPrice": 1500,
"maxPrice": 4000,
"minBeds": 1,
"maxBeds": 3,
"scrapeDetails": true,
"maxListings": 500,
"maxPages": 25,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
},
"requestDelay": 800,
"maxConcurrency": 1
}

Parameter reference

ParameterTypeDefaultDescription
searchUrlsarray<string>[]Direct Rent.com search URLs. Overrides cities + propertyType when provided. Example: https://www.rent.com/florida/miami-apartments.
citiesarray<string>["austin-texas", "los-angeles-california"]City slugs in city-state format. Examples: new-york-city-new-york, seattle-washington, washington-district-of-columbia. The actor splits at the last known state name.
propertyTypestring enumapartmentsOne of apartments, houses_condos, luxury-apartments, apartments_townhouses_condos_houses (All Types), cheap-apartments. Only used with cities.
minPriceinteger0Minimum monthly rent in USD. 0 = no minimum. Pushed to Rent.com via ?rent_min=.
maxPriceinteger0Maximum monthly rent. 0 = no maximum.
minBedsinteger (0–5)0Minimum bedrooms. 0 = studio / any.
maxBedsinteger (0–5)0Maximum bedrooms. 0 = no limit.
scrapeDetailsbooleanfalseWhen true, fetches each listing's detail page for floor plans, amenities, pet policy, parking, fees, photos and description. Roughly 2–4× the runtime + cost.
maxListingsinteger200Hard cap on total saved records across all search tasks. 0 = unlimited.
maxPagesinteger25Maximum pages per individual city/URL search. Each page returns ~20–30 cards.
proxyConfigurationobject{ useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"] }Apify proxy config. Residential proxies strongly recommended — datacenter IPs are blocked within minutes.
requestDelayinteger (0–15000 ms)800Delay between page/detail requests. Increase if you see 403s.
maxConcurrencyinteger (1–5)1Parallel fetches. Keep at 12 for safety. Rent.com fingerprints concurrent traffic from the same session.

Tip: Use either cities or searchUrls, not both. If you need fine-grained filters Rent.com itself supports (e.g. specific neighborhoods, transit access, square-footage min/max), build the URL on rent.com first, copy it, and pass via searchUrls.


Output Schema

Every record uses the same flat JSON schema regardless of property type or search method, so downstream consumers (databases, CRMs, analytics tools, LLMs) can ingest the full dataset without per-type branching.

Core listing fields (always present from search-card parse)

FieldTypeDescription
propertyIdstringRent.com internal listing ID — unique and stable across runs
propertyNamestringProperty / community name (e.g. The Domain at Round Rock)
addressstring | nullStreet address from LD+JSON ApartmentComplex when available
citystringCity (parsed from listing.location.city)
statestringTwo-letter state abbreviation (e.g. TX, CA, NY)
zipCodestring | null5-digit ZIP
neighborhoodstring | nullNeighborhood / submarket label
latitudenumber | nullDecimal latitude
longitudenumber | nullDecimal longitude
propertyTypestring | nullApartment, House, Condo, Townhouse, or category badge from Rent.com
listingUrlstringCanonical absolute Rent.com URL for the property

Pricing & unit fields (from filterMatchResults)

FieldTypeDescription
rentMinnumber | nullLowest available monthly rent across all floor plans (USD)
rentMaxnumber | nullHighest available monthly rent (USD)
bedsMininteger | nullSmallest bedroom count available (0 = studio)
bedsMaxinteger | nullLargest bedroom count available
bathsMinnumber | nullSmallest bathroom count (supports half-baths, e.g. 1.5)
bathsMaxnumber | nullLargest bathroom count
sqftMininteger | nullSmallest unit square footage
sqftMaxinteger | nullLargest unit square footage
availabilityStatusstring | nullHuman-readable availability text (e.g. 8 units available)
specialDealsarray<string> | nullMove-in deals and promotions (e.g. 1 Month Free, $500 Off First Month)

Contact & engagement fields

FieldTypeDescription
phoneNumberstring | nullLeasing office phone (from desktop or mobile listing card)
petFriendlyboolean | nulltrue if amenities mention pets/dogs/cats; refined to true on detail-scrape if petPolicies[] exists
photoCountinteger | nullNumber of photos on the listing card (or full gallery after detail-scrape)
ratingnumber | nullLD+JSON aggregateRating.ratingValue (0–5)
reviewCountinteger | nullLD+JSON aggregateRating.reviewCount

Detail-page-only fields (populated when scrapeDetails: true)

FieldTypeDescription
amenitiesarray<string> | nullFlat list combining amenitiesWithSubcategories[] + uniqueHighlights[]
floorPlansarray<object> | nullPer-floor-plan: { name, beds, baths, sqft, rentMin, rentMax, available, availableCount }
petPolicystring | nullConcatenated pet rules: pet types allowed, max count, weight limit, deposit, monthly fee, comments
parkingInfostring | nullPer-spot type, per-space fee, assigned/unassigned, total spaces, parking comments
leaseTermstring | nullLease term info when published
depositnumber | nullAdmin fee, application fee or refundable deposit (USD)
descriptionstring | nullFree-text property description
photosarray<string> | nullUp to 50 photo URLs from listing.photos[]

Provenance fields

FieldTypeDescription
searchCitystring | nullThe city the search was run against (helps trace records back to input)
searchStatestring | nullThe state abbreviation for the search
scrapedAtstringISO-8601 timestamp of extraction

Example: Apartment-community listing (search-card only)

{
"propertyId": "8731249",
"propertyName": "The Domain at Round Rock",
"address": "200 University Blvd",
"city": "Round Rock",
"state": "TX",
"zipCode": "78665",
"neighborhood": "North Austin",
"latitude": 30.5239,
"longitude": -97.6892,
"propertyType": "Apartment",
"rentMin": 1395,
"rentMax": 3210,
"bedsMin": 1,
"bedsMax": 3,
"bathsMin": 1,
"bathsMax": 2,
"sqftMin": 681,
"sqftMax": 1432,
"availabilityStatus": "12 units available",
"specialDeals": ["1 Month Free on Select 2BR Units"],
"petFriendly": true,
"phoneNumber": "(512) 555-0142",
"amenities": null,
"floorPlans": null,
"petPolicy": null,
"parkingInfo": null,
"leaseTerm": null,
"deposit": null,
"description": null,
"photoCount": 28,
"photos": null,
"rating": 4.3,
"reviewCount": 187,
"listingUrl": "https://www.rent.com/apartment/the-domain-at-round-rock-8731249",
"searchCity": "austin",
"searchState": "TX",
"scrapedAt": "2026-05-16T14:22:08.117Z"
}

Example: Single-family house listing with detail-scrape

{
"propertyId": "9912034",
"propertyName": "1428 Maple Grove Dr",
"address": "1428 Maple Grove Dr",
"city": "Atlanta",
"state": "GA",
"zipCode": "30309",
"neighborhood": "Midtown",
"latitude": 33.7860,
"longitude": -84.3870,
"propertyType": "House",
"rentMin": 3250,
"rentMax": 3250,
"bedsMin": 3,
"bedsMax": 3,
"bathsMin": 2.5,
"bathsMax": 2.5,
"sqftMin": 1840,
"sqftMax": 1840,
"availabilityStatus": "Available Now",
"specialDeals": null,
"petFriendly": true,
"phoneNumber": "(404) 555-0199",
"amenities": ["Hardwood Floors", "Stainless Appliances", "Fenced Yard", "Washer/Dryer In Unit"],
"floorPlans": [
{ "name": "3bd/2.5ba", "beds": 3, "baths": 2.5, "sqft": 1840, "rentMin": 3250, "rentMax": 3250, "available": "Available Now", "availableCount": 1 }
],
"petPolicy": "Dogs allowed | Cats allowed | Max 2 pets | Weight limit: 50 lbs | Deposit: $500 | +$50/mo",
"parkingInfo": "Driveway, 2 spaces, Assigned",
"leaseTerm": "12 months",
"deposit": 3250,
"description": "Charming 3BR/2.5BA single-family rental in the heart of Midtown Atlanta. Walk to Piedmont Park, the BeltLine and MARTA.",
"photoCount": 34,
"photos": ["https://photos.rent.com/abc123", "https://photos.rent.com/abc124"],
"rating": null,
"reviewCount": null,
"listingUrl": "https://www.rent.com/apartment/1428-maple-grove-dr-9912034",
"searchCity": "atlanta",
"searchState": "GA",
"scrapedAt": "2026-05-16T14:22:39.604Z"
}

Property & Unit-Type Taxonomy Reference

Rent.com indexes listings under several property-type and unit categories. Use the propertyType input to scope each search, then filter the output propertyType field downstream for finer cuts.

Search-input property types

propertyType valueUI labelTypical listings returned
apartmentsApartmentsMultifamily apartment communities (mid-rise, high-rise, garden-style)
houses_condosHouses & CondosSingle-family rentals, townhouses, condos
luxury-apartmentsLuxury ApartmentsPremium-tier apartments — concierge, rooftop, high-end finishes
apartments_townhouses_condos_housesAll TypesEvery rental category in one sweep
cheap-apartmentsCheap / BudgetLower-tier units filtered by Rent.com's affordability index

Output propertyType taxonomy (from listing data)

CategoryDescription
ApartmentUnit inside a multifamily community
HouseDetached single-family home for rent
CondoOwner-leased condominium unit
TownhouseMulti-story attached townhouse
DuplexTwo-unit shared-wall property
LoftOpen-plan converted-industrial unit
StudioSingle-room unit (bedsMin = 0)
Senior HousingAge-restricted community
Student HousingCollege-area community
Corporate / Short-TermFurnished, short-lease units

Availability status values you'll see

availabilityStatusMeaning
Available NowMove-in immediately
N units availableMultifamily community with N live units
Available SoonPre-leasing — coming-soon inventory
WaitlistAll units leased, application open for next vacancy
Contact for AvailabilityProperty manager handles availability manually

Use Cases

Rent Comp Analysis & Multifamily Underwriting

Multifamily acquisition teams, syndicators, BRRRR investors and REIT analysts use Rent.com data to:

  • Pull rent comps for a target asset by ZIP, neighborhood or 1-mile radius in seconds, not days
  • Compare effective vs. asking rent by subtracting visible concessions in specialDeals
  • Benchmark per-square-foot rent across stabilized vs. lease-up properties in a submarket
  • Underwrite acquisition pro formas with current market rent, not stale CoStar pulls
  • Track concession trends ("1 month free" prevalence) as a leading indicator of market softness
  • Validate property-tax appeals by demonstrating actual market rents vs. assessor assumptions

Prop-Tech & Rental Listing Aggregators

Rental search apps, relocation tools, roommate-matching products and apartment-finder sites use the actor to:

  • Build a US-wide rental inventory without integrating a paid MLS or RentPath feed
  • Refresh listings nightly so users always see live availability and current pricing
  • Power autocomplete with real neighborhood names and ZIP codes from location fields
  • De-duplicate against other aggregator feeds using the stable propertyId and lat/long
  • Generate SEO landing pages ("3 Bedroom Apartments in Midtown Atlanta Under $3,000") from filtered slices

Real Estate Brokerage & Property Management Data

Brokerages, leasing brokers and third-party property managers use Rent.com data to:

  • Generate weekly market reports for landlord clients showing average rent, vacancy and concessions
  • Benchmark their own portfolio against directly competing properties in the same submarket
  • Source leasing leads by identifying high-vacancy properties that might switch managers
  • Power broker emails with curated top-listings in each city
  • Audit listing data hygiene vs. the brokerage's own MLS data

Relocation Services & Corporate Housing

Corporate-relocation firms and global-mobility providers use the actor to:

  • Pull pet-friendly, school-zone, and walk-score filtered options for an inbound employee
  • Pre-vet listings by amenities (parking, in-unit laundry, gym) before client tours
  • Compare cost-of-housing across destination cities during offer-letter negotiations
  • Match transferees with floor plans (bedsMin / bedsMax) that fit family size

Rental Market Reports & Real-Estate Journalism

Economists, market researchers and data journalists use Rent.com data to:

  • Publish monthly rent reports by metro, neighborhood or property class
  • Track year-over-year rent changes by archiving runs and diffing
  • Identify gentrification signals through rent growth at the ZIP / neighborhood level
  • Cover supply-demand stories with concrete inventory counts (availabilityStatus)
  • Map concession heatmaps showing where landlords are offering the most aggressive deals

Lender, Insurance & Eviction-Risk Modeling

Mortgage lenders, multifamily insurers and eviction-risk analysts use the dataset to:

  • Model collateral value of multifamily loan portfolios using current market rents
  • Underwrite landlord insurance policies with realistic rent-loss assumptions
  • Score eviction risk by tracking rapid concession increases as a financial-distress proxy
  • Support FHFA / HUD reporting with real, geocoded rent data per HUD market area

Location Intelligence & Site Selection

Retail site-selection analysts and mixed-use developers use rental density and pricing as a demographic signal:

  • Score trade areas by median apartment rent (a proxy for disposable income)
  • Identify rising neighborhoods where rent growth outpaces the metro average
  • Map "renters within 1 mile" as a target market metric
  • Pair with workforce-density data for HQ-relocation studies

LLM & AI Real-Estate Products

GenAI rental concierges and embedding-based recommender systems use the actor to:

  • Ground retrieval-augmented LLM responses with structured up-to-date listing data
  • Build vector indexes over property descriptions + amenities for semantic search
  • Power "find me an apartment like X" recommenders using lat/long, rent and amenity embeddings
  • Generate tour-prep briefs summarizing a listing's amenities, pet policy and parking in natural language

Sample Queries & Recipes

Recipe 1: NYC + Brooklyn + Jersey City luxury apartments above $4,000

{
"cities": ["new-york-city-new-york", "brooklyn-new-york", "jersey-city-new-jersey"],
"propertyType": "luxury-apartments",
"minPrice": 4000,
"scrapeDetails": true,
"maxListings": 300
}

Recipe 2: Pet-friendly 2-bedroom apartments in Austin under $2,500

{
"cities": ["austin-texas"],
"propertyType": "apartments",
"maxPrice": 2500,
"minBeds": 2,
"maxBeds": 2,
"scrapeDetails": true
}

Then filter downstream:

pet_friendly = [r for r in records if r.get("petFriendly")]

Recipe 3: All single-family houses for rent across the Texas Triangle

{
"cities": ["houston-texas", "dallas-texas", "austin-texas", "san-antonio-texas", "fort-worth-texas"],
"propertyType": "houses_condos",
"scrapeDetails": true,
"maxListings": 1500
}

Recipe 4: Direct URL with custom Rent.com filters

{
"searchUrls": [
"https://www.rent.com/california/los-angeles/luxury-apartments?rent_max=8000&beds_min=2"
],
"scrapeDetails": true,
"maxListings": 500
}

Recipe 5: Quick sample run for testing (50 records, no detail-scrape)

{
"cities": ["miami-florida"],
"propertyType": "apartments",
"scrapeDetails": false,
"maxListings": 50,
"maxPages": 3
}

Recipe 6: Build a Seattle + Denver tech-corridor rental dataset

{
"cities": ["seattle-washington", "bellevue-washington", "denver-colorado", "boulder-colorado"],
"propertyType": "apartments",
"minPrice": 2000,
"scrapeDetails": true,
"maxListings": 800
}

Recipe 7: Budget-tier rentals nationwide for affordable-housing research

{
"cities": [
"houston-texas", "phoenix-arizona", "atlanta-georgia",
"philadelphia-pennsylvania", "detroit-michigan", "memphis-tennessee"
],
"propertyType": "cheap-apartments",
"maxPrice": 1500,
"scrapeDetails": false,
"maxListings": 2000
}

Integration Examples

Google Sheets (via Apify Integration)

  1. Set up an Apify schedule running this actor weekly with your target cities and filters
  2. Add the Export to Google Sheets integration to the schedule
  3. Each run appends a fresh sheet — perfect for weekly rent comp pulls or market-tracking dashboards

Make.com / Zapier / n8n

Use the Apify connector available in every major automation platform. Common triggers:

  • New listings (current run minus last run, keyed on propertyId)
  • Rent drops (compare rentMin between runs and route to Slack)
  • New concessions appearing in specialDeals
  • Pet-friendly inventory thresholds crossed in a target ZIP

Power BI / Tableau / Looker / Looker Studio

Connect Apify's REST API as a data source. Refresh on schedule. Visualize:

  • Median rent by metro / ZIP / neighborhood
  • Concession prevalence heatmap
  • Rent-per-square-foot scatterplot by property class
  • Year-over-year rent change tracking
  • Vacancy (availabilityStatus) maps

Postgres / Snowflake / BigQuery

Use the Apify webhook integration to POST run results to a serverless ingestion endpoint (AWS Lambda, Cloud Function, Vercel API route). Upsert on propertyId for SCD-2 history of rent and amenity changes.

Salesforce / HubSpot / Pipedrive

Build Account records keyed on propertyName + address for prop-tech B2B sales, multifamily property-management cold outreach, or leasing-tech demos. Trigger Tasks when rent drops > 5% (signal of soft demand) or when availabilityStatus indicates a sudden vacancy spike.

Webhooks & Custom Pipelines

Every Apify run can POST to your webhook on ACTOR_RUN_SUCCEEDED. Use this for:

  • Slack alerts when a watched ZIP gets new luxury listings
  • Email notifications to clients when matching properties hit the market
  • Database upserts into a vector index for semantic search
  • Real-time dashboard refresh for prop-tech apps

Major US Rental Markets Covered

The actor works for every city Rent.com indexes — which is essentially every US metro and most suburbs. The table below highlights high-volume rental markets used heavily by Rent.com Scraper customers; you can request any city slug ({city}-{state}).

MetroSlug exampleNotes
New York Citynew-york-city-new-yorkThe deepest rental market in the country — high luxury inventory + dense submarkets like Manhattan, Brooklyn, Queens
Los Angeleslos-angeles-californiaSprawling — pair with santa-monica-california, west-hollywood-california, pasadena-california
Chicagochicago-illinoisStrong mix of high-rises (Loop, River North) and brownstones (Lincoln Park, Wicker Park)
Houstonhouston-texasLargest no-zoning market — luxury high-rises + sprawling garden communities
Miamimiami-floridaHigh-rise condo / luxury rental market — strong international leasing
Seattleseattle-washingtonTech-driven rent growth; pair with bellevue-washington, redmond-washington
Austinaustin-texasFast-growing — high concession activity, lots of new lease-up inventory
Bostonboston-massachusettsTight market dominated by student leasing cycles
Denverdenver-coloradoActive multifamily build-out — many lease-up properties with deals
Atlantaatlanta-georgiaHeavy SFR + multifamily mix; great for portfolio investor research
Dallas / Fort Worthdallas-texas / fort-worth-texasSuburban garden + urban high-rise — major institutional landlord presence
San Franciscosan-francisco-californiaHighest rents in the US — niche concierge multifamily
Washington DCwashington-district-of-columbiaUse the district-of-columbia state slug for DC proper
Phoenixphoenix-arizonaBooming Sun Belt rental market
Philadelphiaphiladelphia-pennsylvaniaStable, mid-priced — strong row-house rental supply
Portlandportland-oregonMid-rise heavy; eco-conscious amenities common
Charlottecharlotte-north-carolinaBanking-driven rental demand
Nashvillenashville-tennesseeMusic-city growth driving rent increases
Tampa / Orlandotampa-florida / orlando-floridaHot Sun Belt secondary markets
Las Vegaslas-vegas-nevadaHigh pet-friendly inventory, low base rents

Cost & Performance

MetricValue
EngineHTTP fetch + __NEXT_DATA__ JSON parse (no headless browser)
Runtime (1 city, search-cards only)30–120 seconds
Runtime (1 city, scrapeDetails: true, 200 listings)5–15 minutes
Runtime (5 cities, full detail, 1000 listings)30–60 minutes
Pricing modelPay-per-event (per-record + run start)
Data freshnessLive at run time (Rent.com is updated continuously by landlords / property managers)
Auth requiredNone
Proxy requiredResidential strongly recommended (default)
Concurrency1–2 safe; 5 maximum (Rent.com fingerprints concurrent sessions)
Memory footprint256 MB sufficient for search-only; 512 MB recommended with scrapeDetails
Browser requiredNo
Login requiredNo

  • Public data only — every field returned is publicly visible to any unauthenticated user on rent.com
  • No PII — Rent.com does not publish tenant data, and the actor never accesses tenant-side or landlord-portal pages
  • No financial data — no SSNs, no credit information, no banking data
  • No emails — Rent.com surfaces leasing phone numbers but generally not direct email; we don't infer or scrape any
  • Phone numbers are the leasing-office phone (publicly published on the listing) — not personal-cell numbers
  • Photos are property/marketing photos hosted by Rent.com — respect the original rights holder when republishing
  • Robots.txt deference — the actor honors a conservative crawl pattern (1 req/s default) to avoid burdening rent.com infrastructure
  • ToS deference — Rent.com's Terms of Service prohibit certain commercial republication of full datasets. You are responsible for confirming your use case is compliant. Consider attribution / linking back to listings when republishing.
  • GDPR / CCPA — listings are not personal data of EU/CA consumers; compliance with downstream uses (e.g. marketing to leasing-office contacts) is the data consumer's responsibility
  • CAN-SPAM / TCPA — calling or texting leasing offices using extracted phone numbers is regulated commercial outreach; comply locally

Important: Do NOT use this data to engage in housing discrimination (Fair Housing Act), to harass landlords/managers, to manipulate listing rankings, or to defraud renters. Data extraction is for legitimate business intelligence, market research and product development.


Frequently Asked Questions

How fresh is the data?

The actor fetches live HTML at run time — meaning the rent, availability, photos, deals and amenities you see are exactly what's on rent.com right now. There's no caching layer between the actor and the site.

How many listings can I get per city?

Rent.com indexes tens of thousands of listings per major metro. The actor respects your maxListings and maxPages caps. Each page returns ~20–30 cards, so maxPages: 25 ≈ 500–750 listings per city before stopping.

Do I need a Rent.com account or API key?

No. Rent.com listings are publicly accessible. You only need an Apify account to run the actor.

Does it work for houses, condos and townhouses or just apartments?

Yes — use propertyType: "houses_condos" for single-family rentals + condos + townhouses, or apartments_townhouses_condos_houses for everything in one sweep.

Why do I see a residential proxy as the default?

Rent.com aggressively blocks datacenter IPs. Residential proxies via Apify Proxy keep the actor reliable. The cost is small relative to the data value.

Can I scrape detail pages (amenities, pet policy, floor plans, photos)?

Yes — set scrapeDetails: true. The actor fetches each listing's detail URL after parsing the search results, and merges floor plans, amenities, pet policies, parking, fees, deals and photo URLs into the same record.

Are floor-plan-level rents and unit availability included?

Yes when scrapeDetails: true. Each floorPlans[] entry has name, beds, baths, sqft, rentMin, rentMax, available and availableCount. Unit-level rent ranges come from the embedded units[] array inside each floor plan.

How do I filter by ZIP code or neighborhood?

Rent.com's URL filters are city/state level. To target a ZIP or neighborhood, either (a) build a custom Rent.com URL on the site with their filters and pass via searchUrls, or (b) post-filter the dataset output by zipCode / neighborhood.

Can I run this on a schedule?

Yes — Apify's built-in Scheduler lets you trigger this actor hourly, daily, weekly, or on any cron. Combine with webhook output for fully automated rent-comp pipelines.

What about coverage outside the US?

Rent.com is US-only. For other countries we maintain sibling actors: Apartments.com (US), Realtor.ca (Canada), Domain.com.au (Australia), Immoweb.be (Belgium), Zameen (Pakistan), VivaReal & ZAP Imóveis (Brazil), Lamudi (Philippines), Realestate.com.kh (Cambodia).

Why are some addresses null?

Rent.com sometimes serves only an approximate map pin for fair-housing reasons (especially for single-family homes). The actor pulls the most specific address available via LD+JSON; when none exists, address is null but latitude / longitude typically are not.

Does the actor deduplicate listings?

Yes. It tracks propertyId (Rent.com's stable internal ID) across all search tasks in a single run. The same property appearing in multiple city searches is saved once.

Can I extract listing photos and use them?

Photo URLs are returned in photos[] (up to 50) when scrapeDetails: true. Photos are owned by the property manager / Rent.com; if you republish them, respect rights and link back to the source listing.

Are reviews / ratings included?

Yes when available — rating (0–5) and reviewCount come from the LD+JSON aggregateRating. Individual review text is not extracted.

Will this work on the Apify Free Plan?

Yes — full functionality on free tier. A small filtered run (e.g. 50 listings, no detail-scrape) costs pennies in Compute Units.

What's the difference between this actor and the Apartments.com Scraper?

They cover overlapping but distinct inventories. Many properties list on both sites, but each has unique listings, different concession data, and different photo galleries. For complete US rental coverage, run both and dedupe by lat/long + property name. See our Apartments.com Scraper.

How do I report a bug or request a feature?

Open an Issue on the Apify Store actor page, or message the developer directly through the Apify Console.

What data export formats are supported?

JSON, CSV, Excel (XLSX), HTML, XML, RSS — directly from the Apify dataset UI. The API also supports JSON Lines for streaming consumers.


If you're building a global real-estate data product, pair this actor with the rest of our rental and property-listing catalog:


Comparison vs. Alternatives

ApproachSetup timeData freshnessCost (1K listings)Schema normalizationDetail enrichmentMaintenance
This actor< 1 minuteLive at run timeA few centsBuilt-inYes (toggle)Zero
Manual copy/paste from rent.comHours per cityLiveFreeNoneManualPainful
Custom Puppeteer/Playwright script1–2 weeks devLiveServer + proxyDIYDIYHigh — breaks on Next.js updates
Paid MLS / RentPath data feedDays/weeks legalDaily batch$$$$ / yearProvider's schemaYesVendor lock-in
CoStar / Yardi MatrixLong sales cycleMonthly$$$$$$$ / yearYesYesHeavy
Other Apify scrapers< 1 minuteLiveVariesVariesVariesVendor-dependent

Why Pay-Per-Event Pricing?

Most rental-data products charge a monthly subscription whether or not you use them, or per-Compute-Unit (unpredictable when proxies and detail-scrapes vary). This actor uses transparent pay-per-event pricing:

  • You only pay when the actor runs and per record delivered
  • Charges scale with how much data you actually consume
  • Transparent line-item billing inside the Apify Console
  • No monthly minimums — perfect for ad-hoc rent comps
  • Free to evaluate — sample with maxListings: 50 for a few cents
  • Predictable scaling — 10× the listings ≈ 10× the cost

Changelog

VersionDateNotes
1.0.02026-05Initial public release — Next.js __NEXT_DATA__ parser, LD+JSON address enrichment, optional detail-page enrichment, residential proxy default, pay-per-event pricing

Keywords

Rent.com scraper · Rent.com data extractor · Rent.com API · US apartment data · rental listings API · US rental scraper · apartment scraper US · rent price analytics · multifamily data scraper · multifamily rent comps · rental comp scraper · rental market data US · apartment listings scraper · apartment finder data · house rental scraper · single family rental data · SFR data scraper · luxury apartment data · cheap apartment data · pet-friendly rental data · rent.com extractor · RentPath data · Redfin rentals data · NYC apartment scraper · Los Angeles rental data · Chicago apartment data · Houston rental scraper · Miami apartment data · Seattle rental scraper · Austin apartment data · Boston rental data · Denver apartment data · Atlanta rental scraper · prop-tech data feed · relocation services data · rental market reports · rent comp analysis · rental concession data · apartment amenities scraper · floor plan data scraper · real estate brokerage data · landlord intelligence · lender risk modeling · multifamily underwriting data · rental yield analytics · BRRRR investor data · Apify real estate actor · US rental inventory · apartment listings JSON · rental data extraction


Support

  • Bug reports: Use the Issues tab on the Apify Store actor page
  • Feature requests: Same place — please include your use case and the URLs/cities you're targeting
  • Direct contact: Through the Apify developer profile

If this actor saves you time on rent comps, multifamily underwriting or your prop-tech stack, a 5-star rating on the Apify Store helps other real-estate teams discover it. Thank you!