Hotpads Scraper avatar

Hotpads Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Hotpads Scraper

Hotpads Scraper

Scrape rental listings from HotPads.com. Extract price, beds, baths, address, photos, amenities, pet policy, nearby schools and more. Supports apartments, houses, condos and rooms across any US city. Fast mode or full detail mode.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(1)

Developer

wallace

wallace

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Scrape rental listings from HotPads.com — rent, beds, baths, square footage, address, coordinates, photos, amenities, pet policies, nearby schools and per-unit availability — for any US city, neighbourhood or ZIP code. Paste a HotPads search URL, press start, and get a clean spreadsheet.

What does HotPads Scraper do?

HotPads Scraper turns any HotPads.com search page into structured rental data. Give it a search URL — a city, a neighbourhood, or a filtered search — and it walks the results and returns one row per listing with plain-English columns you can open directly in Excel, Google Sheets, or load through the API.

It runs in two modes:

  • Fast mode (default) reads everything the search pages carry: rent, beds, baths, sqft, full address, coordinates, photos, unit counts, price drops and a contact phone. Roughly 200 listings in 20 seconds.
  • Detail mode additionally opens each listing page for the full description, complete amenity list, pet policies and fees, lease terms, office hours, nearby schools, popularity stats, and a per-unit breakdown of every available apartment in a building.

Running on Apify means you also get scheduling, a REST API, webhooks, integrations with Make, Zapier, Google Sheets and Slack, automatic proxy rotation, and run monitoring — without maintaining any of it yourself.

Why use HotPads Scraper?

  • Rental market research — track asking rents, price drops and availability across neighbourhoods over time.
  • Lead generation — build lists of property managers and landlords with contact phone numbers.
  • Competitive analysis — see how comparable buildings price, what they offer, and how long they sit on the market.
  • Real estate investment — evaluate rental yields by area with square footage, bed/bath mix and per-unit pricing.
  • Relocation and tenant search — filter thousands of listings offline instead of clicking through pages.
  • Academic and policy research — assemble reproducible housing datasets with coordinates and timestamps.

How to use HotPads Scraper

  1. Find your search on HotPads.com — pick a city, then apply any filters you want (price, beds, property type). Copy the URL from your browser, e.g. https://hotpads.com/san-francisco-ca/apartments-for-rent.
  2. Open this Actor and click Try for free.
  3. Paste the URL into Start URLs. You can add several at once.
  4. Set your limitsMax Items caps how many listings you save, Max Pages caps how many result pages are followed (HotPads itself stops at 40 pages, about 1,600 listings per search).
  5. Choose a mode — leave Scrape Detail Pages off for a fast, cheap run, or switch it on for the full dataset.
  6. Click Start, then download from the Output tab as JSON, CSV, Excel or HTML — or pull it through the API.

Getting more than 1,600 listings from one city

HotPads caps any single search at 40 pages. To go deeper, split the city into several narrower searches — by neighbourhood, by ZIP, or by price band — and pass them all as Start URLs. Each one gets its own 40-page allowance.

Input

FieldTypeDefaultDescription
Start URLsURL listOne or more HotPads search page URLs
Max Itemsinteger0 (unlimited)Stop after this many listings
Max Pagesinteger40Result pages to follow per URL (40 is HotPads' own cap)
Scrape Detail PagesbooleanfalseOff: search-page data only, ~10× faster and cheaper. On: opens every listing for description, amenities, pets, schools and per-unit pricing
Block ImagesbooleanfalseSkips downloading listing photos to cut proxy bandwidth. Photo URLs are still extracted. Note it does not make runs faster — measured slightly slower — so leave it off unless bandwidth is what you are optimising
Proxy ConfigurationproxyApify Residential (US)Residential proxies are required. HotPads blocks datacenter IPs outright

Example input:

{
"startUrls": [{ "url": "https://hotpads.com/san-francisco-ca/apartments-for-rent" }],
"maxItems": 100,
"maxPages": 3,
"includeDetails": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Output

One row per listing. Download as JSON, CSV, Excel or HTML.

{
"url": "https://hotpads.com/33-8th-at-trinity-place-san-francisco-ca-94103-23y7253/pad",
"name": "33 8th at Trinity Place",
"property_type": "Apartment building",
"rent": 4114,
"rent_max": 6341,
"rent_display": "$4,114 – $6,341",
"bedrooms": 0,
"bedrooms_max": 2,
"bathrooms": 1,
"sqft": 382,
"sqft_max": 685,
"full_address": "33 8th St, San Francisco, CA 94103",
"address": "33 8th St",
"city": "San Francisco",
"state": "CA",
"zip": "94103",
"latitude": 37.77844882678356,
"longitude": -122.41362422704697,
"units_available": 15,
"price_drops": 7,
"contact_phone": "1-707-847-4228",
"photos": ["https://photos.zillowstatic.com/fp/01ae778a92392c6dcf1a5755615b23d2-rentals_medium_500_500.webp"],
"photo_count": 12,
"listed_date": "2023-07-27T12:33:33.979Z",
"updated_date": "2026-08-20T12:30:31.416Z",
"scraped_at": "2026-08-20T20:33:07.112Z",
"source": "hotpads.com"
}

How ranges work

Most listings quote a single figure, so rent, bedrooms, bathrooms and sqft hold that value and the matching _max column stays empty. When a building spans a range — a 15-unit building from studios to 2-beds — rent holds the starting figure and rent_max the top of the range. rent_display gives the formatted version for reports.

Data dictionary

Returned in both modes

ColumnTypeDescription
urlstringListing page URL
namestringBuilding or listing name
property_typestringApartment building, House, Condo, Townhouse, Room for rent
rentnumberMonthly rent, or the starting rent for a range
rent_maxnumberTop of the rent range, empty when there is a single price
rent_displaystringFormatted rent, e.g. $4,114 – $6,341
bedrooms, bedrooms_maxnumberBedroom count (0 means studio)
bathrooms, bathrooms_maxnumberBathroom count
sqft, sqft_maxnumberInterior square footage
full_addressstringSingle-line address, ready for geocoding or a CRM
address, city, state, zipstringAddress components
latitude, longitudenumberCoordinates
unitstringUnit number, when the listing is a specific unit
units_availablenumberUnits currently available in the building
new_units, price_dropsnumberRecently added units, and units whose price dropped
accepting_applicationsbooleanWhether the landlord takes applications; empty when unstated
special_offerstringPromotion text, e.g. one month free
has_3d_tourbooleanWhether a 3D tour exists
contact_phonestringListing contact number
photosarrayPhoto URLs
photo_countnumberNumber of photos
listed_date, updated_datedateWhen the listing appeared and last changed
scraped_atdateWhen this row was collected
sourcestringAlways hotpads.com

Added by detail mode

ColumnTypeDescription
descriptionstringFull listing description
neighborhoodstringNeighbourhood name
available_datestringSoonest move-in date
amenities, unit_amenitiesarrayBuilding and in-unit amenity lists
laundry, parking, securitystringe.g. In Unit, Yes
air_conditioning, gym, pool, dishwasher, furnishedbooleanAmenity flags
pets_allowedstringe.g. Cats and Dogs Allowed
cat_allowed, dog_allowedbooleanPer-species permission
cat_deposit, dog_deposit, cat_monthly_fee, dog_monthly_feenumberPet costs
pet_restrictionsstringBreed or size restrictions
lease_terms, office_hoursstringLease lengths offered, leasing office hours
fees_and_depositsarrayFees and deposits
total_units_in_buildingnumberTotal units in the building
unitsarrayPer-unit rows: unit number, floorplan, beds, baths, sqft, rent, availability, price drop
schoolsarrayNearby schools with name, type, rating, grades and distance
views_count, favorites_count, inquiries_countnumberPopularity on HotPads
contact_name, contact_companystringLeasing contact and company
is_broker_listingbooleanWhether a broker listed it
websitestringProperty website
student_housing, senior_housing, military_housingbooleanHousing programme flags

Search pages do not carry amenity, school or description data, so those columns are omitted in fast mode rather than returned empty. Turn on detail mode to populate them.

How much does it cost to scrape HotPads?

This Actor is pay per result: $0.003 per listing saved, plus a negligible start fee. There is no platform surcharge on top of the result price.

RunListingsApproximate cost
Quick sample10$0.03
One city page40$0.12
Full search (40 pages)~1,600$4.80

Detail mode returns the same number of rows, so the result cost is identical — it simply takes longer and uses more proxy bandwidth, since it opens a page per listing.

Keeping costs down: set Max Items on exploratory runs, leave detail mode off unless you need descriptions or amenities, and schedule incremental runs (a few pages, sorted by newest) instead of re-scraping whole cities.

Tips and advanced usage

  • Filter on HotPads first. Applying price, bed and property-type filters on the site produces a narrower search URL and means fewer paid rows.
  • Multiple cities in one run. Add several Start URLs; each is paginated independently.
  • Schedule it. Daily or weekly runs with updated_date make it easy to spot new listings and price changes.
  • Deduplicate on url. It is stable per listing and is the natural key for joining runs over time.
  • Residential proxies are not optional. HotPads is behind PerimeterX and refuses datacenter IPs immediately.

Migrating from version 2

Version 3 renames the output columns to plain English, decodes HotPads' internal codes, and drops columns that were always empty. If you have a pipeline built on v2 field names:

v2v3
display_namename
price_min / price_maxrent / rent_max
price_displayrent_display
bedrooms_min / bedrooms_maxbedrooms / bedrooms_max
bathrooms_min, sqft_minbathrooms, sqft
street_addressaddress (plus the new full_address)
property_type: "large"property_type: "Apartment building"
rental_application_status: "accepted"accepting_applications: true
is_apartment_buildingfolded into property_type
listed_by_phone / listed_by_name / listed_by_companycontact_phone / contact_name / contact_company
posted_datelisted_date
listing_sourcesource
hvacair_conditioning
unit_countunits_available
pet_policypets_allowed

FAQ

Is scraping HotPads legal? This Actor collects only publicly available listing information — no login, no personal accounts. Public data collection is broadly lawful, but how you use the data is your responsibility, particularly for contact details, which are subject to privacy and marketing rules such as GDPR and CCPA. Review HotPads' Terms of Use and take your own legal advice for commercial use.

Why do I need residential proxies? HotPads sits behind PerimeterX, which blocks datacenter IP ranges on sight. The default Apify Residential (US) configuration works out of the box.

Why did a few listings fail? Anti-bot systems occasionally challenge individual requests. The Actor retries with a fresh session, and the run log states exactly why anything was skipped. A small number of failures in a large run is normal.

Can I get more than 1,600 listings from one city? Not from a single search — that is HotPads' own limit. Split the city into neighbourhood, ZIP or price-band searches and pass them together.

Some detail columns are empty on a few listings. HotPads occasionally serves a detail page that omits part of its data. Those rows still carry everything from the search result — rent, address, coordinates, photos and contact — so the row remains usable.

Support

Found a bug or need a field that is missing? Open an issue on the Issues tab and include the run ID and input you used. Requests for related scrapers or custom real estate data pipelines are welcome.

Disclaimer

This Actor is not affiliated with, endorsed by, or connected to HotPads or Zillow Group. It collects publicly accessible information only. You are responsible for ensuring your use complies with applicable laws and with HotPads' Terms of Use.