Rent.com Scraper at a glance
Rent.com Scraper is a ready-to-run Apify actor from abotapi for collecting real estate data. Its documented output includes id, url, name, type and price min, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.50 per 1,000 results on the Apify Free plan and from $0.80 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Real Estate, Automation, Developer Tools
- Pricing
- $1.50 per 1,000 results (Free plan), from $0.80 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 22 options
Extract rental listings from rent.com. Get comprehensive data including monthly rent ranges, full address with GPS, beds/baths/sqft ranges, three contact phone channels, special offers, pet policy, photos, amenities, floor plans, and per-day office hours. Apartments, houses, condos, and townhomes.
What Rent.com Scraper can do
- Two ways to search. Build a search from city, state and filters, or paste any Rent.com search result URL you refined in your own browser for filters not exposed below. A single property page (/apartment/...-lc) is also accepted.
- Every US market. All 50 states plus DC, and all four property types: apartments, houses, condos and townhomes.
- 40+ fields from the search results alone. Price, full address, GPS, beds/baths/sqft ranges, photos, amenities, special offers, pet policy and leasing office phones, all without an extra request per listing.
- Detail enrichment on demand. Switch on detail pages for the full description, complete amenity list, individual floor plans, ratings and pet-policy details, and pay the same per-listing price either way.
- Multi-location in one run. Add as many city and state pairs as you want, and the run walks every result page for each of them automatically, up to your Max pages / Max listings limits.
- Built for schedules. Turn on incremental mode to get only what changed on a recurring run, with no run ID to paste each time.
Choose what to collect
These inputs let you configure Rent.com Scraper - Rentals, Prices, Floor Plans & Contacts. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | Search mode = pick city + state + filters below. URL mode = paste any rent.com URL refined in a browser (recommended for filters not exposed below). |
locationsarray | Cities to search. Add one or more entries, the scraper visits each city. State is the 2-letter US code. Search mode only. |
propertyTypestring | Which kind of rental to search. In Search mode this is encoded into the URL path segment (e.g. apartments → //-apartments) and determines what gets fetched. In URL mode it never filters: each record's type comes from rent.com's own listing data first, then the type named in the pasted URL's path segment, and this field is used only as a last-resort fallback label when neither is present. |
bedroomsstring | Exact bedroom count. Rent.com only exposes integer counts (no min/max ranges) on its SEO URLs. Search mode only. Rent.com applies only ONE filter per search: if you set several, only the first in this order is applied (Bedrooms, Pet-friendly, Furnished, Luxury, Income-restricted, Deals only, Max price) and the log names the ones skipped. |
maxPriceinteger | Snapped to the nearest rent.com SEO band: 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 2000. Values above 2000 disable the max-price filter (rent.com has no canonical band above $2000). Optional. Search mode only. Rent.com applies only ONE filter per search: if you set several, only the first in this order is applied (Bedrooms, Pet-friendly, Furnished, Luxury, Income-restricted, Deals only, Max price) and the log names the ones skipped. |
petFriendlyboolean | Show only pet-friendly listings. Rent.com URL filter is pet-friendly (combines cats AND dogs); separate cat/dog filters are not exposed. Search mode only. Rent.com applies only ONE filter per search: if you set several, only the first in this order is applied (Bedrooms, Pet-friendly, Furnished, Luxury, Income-restricted, Deals only, Max price) and the log names the ones skipped. |
furnishedboolean | Show only furnished listings. Search mode only. Rent.com applies only ONE filter per search: if you set several, only the first in this order is applied (Bedrooms, Pet-friendly, Furnished, Luxury, Income-restricted, Deals only, Max price) and the log names the ones skipped. |
Show 15 more inputs
| Input | What it controls |
|---|---|
luxuryboolean | Show only premium / luxury listings. Search mode only. Rent.com applies only ONE filter per search: if you set several, only the first in this order is applied (Bedrooms, Pet-friendly, Furnished, Luxury, Income-restricted, Deals only, Max price) and the log names the ones skipped. |
dealsOnlyboolean | Show only listings with active rent specials (e.g. 1 month free). Search mode only. Rent.com applies only ONE filter per search: if you set several, only the first in this order is applied (Bedrooms, Pet-friendly, Furnished, Luxury, Income-restricted, Deals only, Max price) and the log names the ones skipped. |
incomeRestrictedboolean | Show only income-restricted (affordable housing) listings. Search mode only. Rent.com applies only ONE filter per search: if you set several, only the first in this order is applied (Bedrooms, Pet-friendly, Furnished, Luxury, Income-restricted, Deals only, Max price) and the log names the ones skipped. |
urlsarray | One or more full rent.com URLs: city searches (apartments, houses, condos, townhouses), near-me pages (rent.com/near-me/apartments), neighborhood pages, paginated /page-N, one filter segment (bedrooms, studio, price band, amenity) and single property pages. rent.com serves only one filter segment per search URL. Room-for-rent detail pages (rent.com/r/...) are not supported. State landing pages (for example rent.com/california, a list of cities with no listings) and rent-trends pages (a 6-listing teaser, not a search) are not supported and are skipped with a warning. Left untouched in URL mode, the field holds one example of each supported shape; they are scraped in order until Max listings is reached (with the default of 20, only the first example is reached). Pagination starts at the page in the URL and walks forward. Search-mode fields above have no effect on which listings are fetched, except Property type, which is used as a fallback label when neither the pasted URL nor rent.com's own listing data states one, see its own description. |
maxPagesinteger | How many SERP pages to walk per location/URL. Each page returns up to ~30 listings. Leave empty to walk every result page (still bounded by Max listings). |
maxListingsinteger | Stop after this many listings across all locations. 0 = no cap. |
fetchDetailsboolean | When ON, fetch each listing's detail page for full description, complete amenity list, individual floor plans, ratings, and pet-policy details. Multiplies request count ~30× per SERP page. Default OFF, SERP cards already include 40+ fields. Detail fetches share the same warm session, so they consume no extra credits. |
resumeFromRunIdstring | Paste a previous run ID or dataset ID to continue an unbounded walk across separate runs. Listings already collected there (matched by id) are skipped, so this run only saves the new ones. Leave empty for a normal fresh run. See incrementalMode below for recurring/scheduled monitoring instead. |
incrementalModeboolean | When ON, this run compares itself with the last successfully committed run of the SAME search (matched by stateKey, or an automatic key derived from your search/URL/filter settings) and adds changeType (NEW, UPDATED, UNCHANGED, REAPPEARED, EXPIRED), changedFields, firstSeenAt, lastSeenAt to every emitted record. What is compared: every listing field (rent range, beds/baths, availability, units text, special offers, deals, phone, floor plans, amenities, and the rest). What is excluded from the comparison (still present in the output): scrapedAt and the photo fields photos, primaryImage, imageCount, plus anything you list in ignoreFieldsForChanges. By default only NEW, UPDATED, and REAPPEARED are returned (see emitUnchanged and emitExpired below). No KV store or run ID pasting needed, this actor remembers state itself. Default OFF, so existing scheduled tasks keep their current output unchanged. |
emitUnchangedboolean | When ON, incremental mode also outputs listings whose data did not change since the last run, tagged changeType: UNCHANGED. These rows ARE billed like any other dataset item. Default OFF: unchanged listings are scanned (so change detection still works) but not returned or charged. |
emitExpiredboolean | When ON, incremental mode also outputs previously-tracked listings no longer found, tagged changeType: EXPIRED, but ONLY after a run that completed a full scan of the tracked search (no page cap or item cap cut it short, and no page was blocked). These rows ARE billed like any other dataset item. If a run cannot prove a complete scan, EXPIRED detection is skipped for that run and the prior tracked state is kept as-is (nothing is falsely marked gone). Default OFF. |
ignoreFieldsForChangesarray | Incremental mode only. Extra output fields to leave out of change detection, so a difference in them alone never marks a listing UPDATED and never appears in changedFields. The fields stay in the output. A plain name (phoneText) matches that field at any depth; a dotted path (floorPlans.unitsAvailable) matches that exact path, looking inside lists. Built-in exclusions (scrapedAt, photos, primaryImage, imageCount) always apply. |
mcpConnectorsarray | Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com). |
notionParentPageUrlstring | URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap on items written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
idIDurlURL (link)nameNamepropertyTypeTypepriceMinPrice minpriceMaxPrice maxpriceLabelPrice labelbedsMinBeds minbedsMaxBeds maxbedsLabelBeds labelbathsMinBaths minbathsMaxBaths maxShow 37 more fields
bathsLabelBaths labelsqftMinSqft minsqftMaxSqft maxfullAddressAddresscityCitystateStatezipZIPlatitudeLatlongitudeLngphonePhonespecialOfferOfferpetsCatsCatspetsDogsDogslistingTierTiercategoryBadgesBadgesdealsDealsdealTypesDeal typesunitsAvailableTextAvailabilitysquareFeetTextSqft textpriceDropAmountsPrice dropstourUrlsTour URLsvideoUrlsVideo URLsimageCountImagesscrapedAtScrapedchangeTypeChangechangedFieldsChanged fieldsfirstSeenAtFirst seenlastSeenAtLast seendescriptionDescriptionamenitiesAllAmenitiesfloorPlansFloor plansphotosPhotosratingRatingreviewCountReviewsyearBuiltYear builtfeesFeespetPolicyDetailsPet policyExample output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"id": "lc00012345",
"url": "https://www.rent.com/apartment/willow-creek-apartments-austin-tx-lc00012345",
"name": "Willow Creek Apartments",
"propertyType": "APARTMENTS",
"listingTier": "diamond",
"isLuxury": false,
"verified": true,
"fullAddress": "482 Maple Grove Rd, Austin, TX 78701",
"street": "482 Maple Grove Rd",
"city": "Austin",
"state": "TX",
"stateName": "Texas",
"zip": "78701",
"latitude": 30.2672,
"longitude": -97.7431,
"bedsMin": 1,
"bedsMax": 3,
"bedsLabel": "1-3 Beds",
"bathsMin": 1,
"bathsMax": 2,
"bathsLabel": "1-2 Baths",
"sqftMin": 650,
"sqftMax": 1150,
"priceMin": 1400,
"priceMax": 2600,
"priceLabel": "$1,400+",
"availability": "TODAY",
"unitsAvailableText": "4 Units Available",
"phone": "5125550142",
"phoneText": "(512) 555-0142",
"phoneSem": "5125550142",
"phoneSemText": "(512) 555-0142",
"specialOffer": "Up to 6 Weeks Free",
"specialOfferCategory": "FreeRent",
"deals": [
"Up to 6 Weeks Free"
],
"categoryBadges": [],
"amenitiesHighlighted": [
"Pet Friendly",
"Pool",
"Fitness Center"
],
"amenitiesAll": [
"Pet Friendly",
"Pool",
"Fitness Center"
],
"petsCats": true,
"petsDogs": true,
"petPolicyDetails": null,
"hasVideo": false,
"hasVirtualTour": true,
"hasPriceDrops": false,
"incomeRestrictions": [],
"propertyManagement": "Meadowbrook Residential Management",
"cplEligible": true,
"revenue": 6,
"sourceId": "10000001",
"bedCountData": [
{
"beds": 1,
"pricesLow": 1400,
"pricesHigh": 1700,
"sqftLow": 650,
"sqftHigh": 750
}
],
"floorPlans": [
{
"beds": 1,
"baths": 1,
"availableCount": 2,
"priceMin": 1400,
"priceMax": 1700,
"sqftMin": 650,
"sqftMax": 750,
"availableDate": null,
"units": []
}
],
"officeHours": [
{
"day": "Monday",
"open": "09:00 AM",
"close": "06:00 PM"
}
],
"leasingTerms": [],
"description": null,
"rating": null,
"reviewCount": null,
"yearBuilt": null,
"fees": null,
"photos": [
{
"id": "00000",
"url": "https://i.rent.com/t_3x2_fixed_webp_lg/00000",
"caption": null
}
],
"primaryImage": "https://i.rent.com/t_3x2_fixed_webp_lg/00000",
"imageCount": 24,
"updatedAt": "2026-01-01T00:00:00.000Z",
"scrapedAt": "2026-01-01T00:00:00.000Z"
}Ways to use this data
- Rental market researchers: track rent ranges, availability and special offers across neighborhoods and cities over time.
- Property management companies: monitor competitor pricing, amenities and rent specials in their own market.
- Relocation and listing platforms: enrich their own site with fresh Rent.com pricing and availability data.
- Lead-generation and outreach teams: collect leasing office contact numbers and property manager names by market.
- Data teams: build historical pricing and availability datasets for forecasting and reporting.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does Rent.com Scraper return?
The documented output for Rent.com Scraper includes id, url, name, type, price min, price max, price label and beds min. Availability of each field depends on the source page and the selected mode.
How much does Rent.com Scraper cost?
It costs $1.50 per 1,000 results on the Apify Free plan and from $0.80 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Can I get only new or changed listings on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Unchanged listings are not billed unless you turn on Emit unchanged. Listings that disappear are only tagged EXPIRED, and can only later come back tagged REAPPEARED, once you have run with Emit expired on for a run that completed a full scan.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.
