Rent.com Scraper collects Rent.com rental listings from any search link or listing link you copy from the website: rent, bedrooms, bathrooms, size, availability, move-in deals, address and map position, the leasing phone number and real, de-duplicated photo links. Every listing also carries its floor plans with unit rents and move-in dates, all amenities, fees and deposits, pet and parking policy, office hours, walk scores, nearby schools and the full description.
Built for property managers and landlords tracking competing rents, rental market analysts and investors, proptech and data teams and researchers who need current Rent.com stock in a spreadsheet or an API without copying listings by hand.
- Any Rent.com search link — set your filters on the website (city, ZIP code, neighbourhood, county, college or military base; price, bedrooms, bathrooms, property type, pets, amenities, move-in date, deals) and paste the address. The words in the link are read with Rent.com's own link dictionary (taken from the site itself: every bedroom, bathroom, size, price, property-type, pet and amenity word it uses, about 70 in all), and sent to Rent.com's search as one request. The run log shows the exact filters sent and the number of listings Rent.com counts for them. Rent.com's curated cheap and luxury pages and rooms-for-rent pages are refused with a message naming the word instead of returning a wider list.
- Single listings in the same box — paste a property link (
…/apartment/…) or a single unit or house link (…/r/…) next to your search links. Listing links are collected first, and a listing found by several links is delivered once. - The rent you asked for — on a search with bedroom, bathroom, price or size filters, each row says which floor plans match and the lowest and highest matching rent, instead of only the building's overall minimum.
- A fixed cap on every run — you always set a maximum number of listings (1 to 100,000), and the run's cost limit in Apify Console applies too.
- Runs that finish cleanly — a listing that was taken down, a place that no longer exists, a link that cannot be used: each becomes one clearly marked, unpaid row, and the run still ends successfully with a plain summary of what was delivered, what was left out and why, and what was charged.
Every listing is one clean row, with its details whenever Rent.com has them.
| Part | What it holds |
|---|---|
| Identity and place | id, listingType (community or single unit), name, url, propertyType, street address, city, state, zip, fullAddress, latitude, longitude |
| Rent and size | rentMin, rentMax, rentText, bedsMin/bedsMax/bedsText, bathsMin/bathsMax/bathsText, sqftMin/sqftMax/sqftText |
| Availability | availability (Available Now, 3 Units Available, Available Dec 7), availableNow, unitsAvailable, earliestAvailableDate |
| Deals | deals (category and text), dealTags (1 Month Free), priceDrops, badges |
| Contact | phone and textPhone (the leasing numbers Rent.com shows for the listing), managementCompany, and for listings fed by an MLS the listingAgent (broker and agent name) |
| Photos | photos (full-size links, no duplicates, in the site's order), thumbnail, photoCount, videos, tours |
| Search-match (filtered searches) | matchingFloorPlans, matchingRentMin, matchingRentMax |
| Details | detailsStatus, description, highlights, amenities, amenitiesByCategory, floorPlans (beds, baths, rent range, size, deposit, availability, offer, photos and units with unit id, rent, size and available date), fees (application, admin, broker, amenity and insurance fees, utilities included or tenant-paid), petPolicies, parking, officeHours, leasingTerms, incomeRestrictions, walkScore, schools, totalUnits, companyDescription |
The scraper adds one _meta block to every row (source link, search label, listing id, time).
Photo sizes. Each photo link is the full-size file. Insert t_3x2_fixed_webp_lg/, t_3x2_fixed_webp_md/ or t_3x2_fixed_webp_sm/ between https://i.rent.com/ and the id for a smaller version (about 25, 13 and 7 KB). The thumbnail field already uses the medium one. Links only: no image files are downloaded or stored.
Said plainly, so there are no surprises:
- Emails. Rent.com does not publish an email address or a management-company website to visitors (none in 3,000 listings checked), so there is nothing to read. The optional contact email search only works for a listing that names a company website; it currently finds none, and you are charged only when an address is found.
- A landlord's personal number.
phoneis the call number Rent.com shows for the listing; it is empty when Rent.com shows none (about a quarter of the listings sampled) or the value is not a complete number. - Reviews, rent history, rent trends, neighbourhood articles, applications or tour booking.
- Photo files. Links only.
- Rooms-for-rent pages and Rent.com's curated cheap and luxury pages, which are refused.
- Hidden or logged-in data. Nothing that needs an account is collected, and no account is needed.
Running it on Apify gives you API access, scheduling, monitoring, integrations (Make, Zapier, n8n, Google Sheets, webhooks) and proxy rotation without managing any infrastructure. Export results as JSON, CSV or Excel.
- Open Rent.com Scraper in Apify Console.
- On rent.com, run your search with the filters you want and copy the page address. Paste it into Search links. Individual property addresses go in the same box.
- Set Maximum listings in total (start small, for example
50). - Click Start, then download the results as JSON, CSV or Excel, or fetch them over the API. Put the run on an Apify schedule to watch a market.
Pay only for what you get. Prices per event:
| Event | Price | When |
|---|---|---|
| Run start | $0.002 | once per run |
| Listing | $0.0005 | each listing delivered |
| Listing details | $0.0004 | add-on for each listing delivered with its details |
| Contact email | $0.01 | add-on for each distinct email address found in the run |
- 1,000 listings cost about $0.90 plus the run start (listing plus details).
- The details event is not charged for a listing for which Rent.com has none (that one costs $0.50 per 1,000), and a listing that was taken down is reported in an unpaid row.
- An email address is charged once per run, however many listings carry it.
- Set a maximum cost per run in Apify Console; the scraper reads it before collecting and stops at that limit. The whole run is also capped by Maximum listings in total.
{
"searchUrls": [
{ "url": "https://www.rent.com/california/counties/el-dorado/apartments_townhouses_condos_houses_studio_1-bedroom_2-bedroom_min-price-200_max-price-1500_sort-price-low" },
{ "url": "https://www.rent.com/apartment/sugar-pine-village-south-lake-tahoe-ca-lc6244368" }
],
"maxItems": 50,
"findContactEmails": false
}{
"id": "lc6244368",
"listingType": "community",
"name": "Sugar Pine Village",
"url": "https://www.rent.com/apartment/sugar-pine-village-south-lake-tahoe-ca-lc6244368",
"propertyType": "APARTMENTS",
"city": "South Lake Tahoe",
"state": "CA",
"zip": "96150",
"latitude": 38.9109237,
"longitude": -120.0086724,
"rentMin": 1263,
"rentMax": 1968,
"rentText": "$1,263+",
"bedsText": "Studio–3 Beds",
"bathsText": "1–2 Baths",
"sqftText": "713–1072 Sqft",
"availability": "Available Now",
"availableNow": true,
"deals": [{ "category": "Special Offer", "description": "Please ask us what our move in specials are." }],
"thumbnail": "https://i.rent.com/t_3x2_fixed_webp_md/baba657f2ab7231db3b09579cde46d61",
"photoCount": 25,
"photos": [
"https://i.rent.com/baba657f2ab7231db3b09579cde46d61",
"https://i.rent.com/dfb0a06c033a76c0cc9b5014a4389cf6"
],
"detailsStatus": "full",
"amenities": ["Bicycle storage", "Bike-centric layout", "Cable", "Central mail"],
"floorPlans": [
{ "id": "lc6244368_1mf47z1e5uvbu_2_1_0", "name": "2 Bedroom", "beds": 2, "baths": 1, "rentMin": 1713, "rentMax": 1713, "rentText": "$1,713/mo", "sqftMin": 713, "sqftMax": 713, "units": [] }
],
"fees": { "application": "$30" },
"petPolicies": [{ "type": "Dogs Allowed" }],
"walkScore": { "walk": { "score": 62, "description": "Somewhat Walkable" }, "bike": { "score": 59, "description": "Bikeable" } },
"_meta": { "_source": "rent-com-graphql", "listing_id": "lc6244368", "scraped_at": "2026-11-04T16:28:00.724Z" }
}A listing that is no longer on Rent.com comes back as one unpaid row: { "_meta": { "type": "not_found", "message": "Rent.com has no listing for …", "source_url": "…" } }.
More real estate scrapers from FlowExtract API:
| Actor | What it adds |
|---|---|
| Zillow Scraper | US homes for sale and for rent from Zillow |
| Realtor.com Scraper | US listings from Realtor.com |
| Crexi Scraper | Commercial real estate with cap rate, NOI and brokers |
No. The scraper needs only the links, and it reads only listing data that Rent.com shows to any visitor: no login, no account and no cookies.
This is not legal advice. The scraper uses no login and bypasses no login or access control, and it collects listing information that is visible to anyone. Rent.com's terms of service restrict automated access to its sites. You are responsible for making sure your use complies with those terms, with the rights of whoever supplies a listing (many listings come from an MLS), and with data-protection law such as GDPR and CCPA. No affiliation with or endorsement by Rent.com is implied.
It can. A listing carries business contact details published with it: the leasing phone number, a management-company name and, for MLS-fed listings, a broker and agent name (in listingAgent). Treat them as personal data where the law does: collect only what you need, keep it only as long as you need it, and honour opt-out and deletion requests. The scraper keeps no copy of it outside your own Apify account's run dataset.
Because the scraper would rather stop than return a wider list. Rent.com's cheap and luxury pages are curated lists with no equivalent filter, rooms-for-rent pages have no room filter, and a minimum price above the maximum price would otherwise drop both prices. The message names the problem; use a maximum price, bedroom or amenity filter instead.
The place (city, ZIP, neighbourhood, county, college, base, point of interest or state) and the property type in the page name (-apartments, -houses, …) come from the address. Every filter word is read with Rent.com's own dictionary, exactly as the site reads it: price (min-price-, max-price-, $200 to $99,999), size (sqft-min-100 to sqft-min-1600), bedrooms (studio, 1-bedroom to 4-bedroom = 4 or more), bathrooms (1-bathroom, 2-bathroom, 3-bathroom = 3 or more), property types, pets (pet-friendly, dog-friendly, cat-friendly, no-pets), amenities (view, pool, waterfront, furnished, ev-charging, … about 40), and the sort order; moveInDate and withDeals in the query string too. The map area (bbox=) is applied as Rent.com applies it. A word Rent.com does not know is named in the run log, as is any link parameter the scraper does not use.
They are combined: every filter type narrows the result (bedrooms AND bathrooms AND price AND size AND property type …), and several values of bedrooms, bathrooms or property type are alternatives (studio and 1-bedroom means either), while several amenities must all be present (pool and fitness center means both). The scraper sends them to Rent.com's own search as one request and Rent.com does all the filtering; nothing is filtered afterwards. A map area is kept too: when you move or zoom the map on rent.com, the link gets a bbox= part, and only listings inside that area are collected. The run log prints the filters sent and Rent.com's count, so you can compare it with the page. On a filtered search each row also shows which floor plans match and their rent.
For a small share of listings Rent.com has no floor plans, amenities or description. They are delivered with detailsStatus: "summary_only" and you are not charged the details event.
Up to Maximum listings in total, at most 100,000 per run. A whole-state search can match tens of thousands.
Yes. Use the Apify API or any client library, a webhook on run completion, or a no-code integration.
It saves progress and resumes without delivering or charging the same listing twice.
The search matches fewer listings than your maximum, links were refused or not found (each is reported), or the run reached its cost limit. The final status message says which.
See below, or open an issue on the Actor's Issues tab.
- 🌐 Website: flowextractapi.com
- 📧 Email: flowextractapi@outlook.com
- 💬 GitHub: FlowExtractAPI
- 💼 LinkedIn: flowextract-api
- 🐦 X (Twitter): @FlowExtractAPI
- 📱 Facebook: flowextractapi
- 🎵 TikTok: @flowextractapi
- Public listing data only — only listing information that Rent.com shows to any visitor; no login, no account, no cookies, and nothing behind a login or access control.
- Moderate request rates — modest request volumes, with back-off when the service slows down.
- Terms of use — Rent.com's terms of service restrict automated access to its sites; you are responsible for making sure your use complies with them.
- Personal data — listings can carry business contact details and, for MLS listings, an agent's name; use them in line with GDPR, CCPA and the other laws that apply to you. The scraper keeps no copy of your results outside your own Apify account.
- Commercial use — suitable for market research and business intelligence, subject to the points above.
- No affiliation with or endorsement by Rent.com is implied.
Rent.com Scraper — by FlowExtract API. Turn any website into structured data.