Craigslist Housing Scraper | Apartments, Rooms & Rentals
Pricing
from $0.01 / 1,000 results
Craigslist Housing Scraper | Apartments, Rooms & Rentals
Scrape Craigslist housing rental listings by city. Returns address, price, bedrooms, bathrooms, sqft, neighborhood, and listing URL as clean JSON.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
petteri mähönen
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a few seconds ago
Last modified
Categories
Share
🏠 Craigslist Housing Scraper
Scrape rental listings from Craigslist across US cities. Extracts apartment and room rentals with full detail pages — photos, descriptions, amenities, and structured housing specs.
⚡ Features
- Multi-city search — scrape multiple cities in a single run
- Detail page extraction — visit each listing's detail page for enriched data
- Full description text
- All photos (array of image URLs)
- Amenities & attributes
- Address & neighborhood
- Post ID & posted date
- Rent period (monthly/weekly/biweekly)
- Listing type (apartment/room/house/sublet)
- Reply URL for direct contact
- Contact info hints (phone/email mentions from description)
- Structured housing data — beds, baths, sqft parsed from both search results and detail pages
- Studio listings — correctly handles "0BR" studios
- Anti-detection — PlaywrightCrawler with realistic delays
- Configurable — toggle detail extraction, set delays, limit results
Input
| Field | Type | Default | Description |
|---|---|---|---|
locations | string[] | ["San Francisco, CA"] | Cities to scrape |
maxResults | number | 0 | Max listings (0 = no limit) |
fetchDetails | boolean | true | Visit detail pages for enriched data |
detailDelaySecs | number | 2 | Delay between detail page visits |
Example: Basic search
{"locations": ["San Francisco, CA"],"maxResults": 20}
Example: Multi-city with detail extraction
{"locations": ["San Francisco, CA", "New York, NY", "Los Angeles, CA"],"maxResults": 50,"fetchDetails": true,"detailDelaySecs": 3}
Output
Each listing includes:
| Field | Source | Example |
|---|---|---|
title | Search | "Bright 2 Bedroom Apartment" |
price | Search / Detail | "$2,455" |
beds | Search / Detail | "2" |
baths | Search / Detail | "1" |
sqft | Search / Detail | "729" |
neighborhood | Search / Detail | "Mission District" |
link | Search | "https://..." |
thumbnail | Search | image URL |
address | Detail | "123 Main St, San Francisco" |
post_id | Detail | "7947327024" |
posted | Detail | "2026-07-15" |
photos | Detail | ["url1", "url2", ...] |
attributes | Detail | ["hardwood", "laundry", ...] |
description | Detail | "Full description text..." |
listing_type | Detail | "apartment" |
rent_period | Detail | "monthly" |
housing_info | Detail | "2BR / 1Ba 729ft2" |
reply_url | Detail | "https://.../reply/..." |
contact_info | Detail | ["Call: show contact info"] |
contact_websites | Detail | ["https://example.com"] |
has_contact | Detail | true |
location | Input | "San Francisco, CA" |
scraped_at | System | ISO timestamp |
Supported cities
San Francisco, New York, Los Angeles, Seattle, Chicago, Austin, Denver, Miami, Houston, Phoenix, Philadelphia, San Antonio, San Diego, Dallas, Atlanta, Portland, Nashville, Las Vegas.
Use Cases
- Rental market research — track prices and availability across cities
- Lead generation — find properties matching specific criteria for clients
- Price monitoring — run weekly to detect market trends
- Data pipeline — feed structured housing data into analytics or ML models
- Competitive analysis — monitor rental supply in target neighborhoods
Performance
- ~1-2 seconds per search page load
- ~3-5 seconds per detail page visit (network + delays)
- 4 GB RAM allocation (PlaywrightCrawler)
- Supports 18+ US cities via slug mapping
Limitations
- Craigslist does not support pagination URLs — results are dynamically loaded via scroll
- Listings may expire between search and detail fetch — handled gracefully with warnings
- Some listings lack detailed specs (no sqft, no housing_info) — those fields will be
null
💬 Quick Start for AI Assistants
Copy and paste this into ChatGPT, Claude, or another AI assistant to get help using this actor:
You are helping me use the "Craigslist Housing Scraper" on Apify (actor ID: udJ1lSFPz264RxA17). It extracts rental listings (apartments, rooms) from craigslist.org across US cities.
Input fields:
- locations: string array, e.g. ["San Francisco, CA", "New York, NY"]
- maxResults: number, max listings to return (0 = no limit)
- fetchDetails: boolean, visit detail pages for photos, descriptions, amenities
- detailDelaySecs: number, seconds to wait between detail page visits (default: 2)
Output fields per listing: title, price, beds, baths, sqft, neighborhood, link, address, post_id, posted, photos[], attributes[], description, listing_type, rent_period, thumbnail, h1_text, housing_info, reply_url, contact_info[], contact_websites[], has_contact, location, scraped_at.
Help me with the right input, output processing, or troubleshooting.
📋 Changelog
| Version | Date | Changes |
|---|---|---|
| 0.0.16 | 2026-07-15 | Added contact extraction — reply_url, contact_info (phone/email hints from description), contact_websites (URLs in listing description), has_contact flag |
| 0.0.13 | 2026-07-15 | Added AI assistant prompt block, enriched README with use cases and comparison table, updated actor title with keywords |
| 0.0.11 | 2026-07-15 | Fixed beds/baths extraction — parse from housing_info spec line (1BR / 1Ba 729ft2) instead of h1 title. Studio listings now report 0 beds. Decimal baths (2.5BA) supported |
| 0.0.7 | 2026-07-14 | Added detail page extraction — photos, descriptions, amenities, attributes, full address, listing type, rent period |
| 0.0.6 | 2026-07-14 | Cloud-verified extraction across multiple cities, 200 listings, 27s runtime |
| 0.0.1 | 2026-07-13 | Initial release — search result extraction, PlaywrightCrawler, multi-city support |