Craigslist Housing Scraper
Pricing
from $2.00 / 1,000 results
Craigslist Housing Scraper
Scrape Craigslist apartments, rooms, sublets, vacation rentals, and real estate listings. Extract price, beds, baths, photos, and detail data — no login or API key.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Scrape Craigslist apartments, rooms, sublets, vacation rentals, and real estate listings into a clean dataset — no login, no API key, no browser farm.
Architecture: thin Apify Actor → craigslist-com Cloud Run worker (HTTPS + API key).
Worker URL is config (WORKER_BASE_URL), not hardcoded-only — migrate the worker by updating Actor env without a code change. SetWORKER_PROVIDES_PROXY=1when the worker supplies its ownPROXY_URL.
- Search any Craigslist area slug (
austin,sfbay,newyork, …) across all housing categories - Pull price, beds, baths, sqft, photos, geo, and posting URLs from Craigslist search results
- Optionally enrich from public detail pages (JSON-LD, attributes, map address, full image lists)
- Go beyond Craigslist’s 360-result search cap with automatic sort/price sharding
- Pay only for what you use: $0.005 per run + $2.00 per 1,000 listings (plus platform usage)
Craigslist does not offer a public housing API for third-party apps. This Actor reads the same public search and listing pages people browse on Craigslist and returns structured rows you can export as JSON, CSV, or Excel — or pipe into Sheets, Make, n8n, Zapier, and AI agents.
What does the Craigslist Housing Scraper do?
This Actor is a Craigslist apartments scraper and broader Craigslist housing data extractor. Give it one or more area slugs, pick a housing category (or all), set how many listings you want, and it returns structured posting data from Craigslist search — with optional detail-page enrichment.
It is useful when you need:
- Rent and sale inventory snapshots for a city
- Room / share / sublet monitoring
- Vacation rental and parking / office commercial scans
- A Craigslist API alternative for housing research workflows
What you can scrape from Craigslist housing
1. Scrape Craigslist apartments for rent
Monitor apartments and housing-for-rent (apa) in a target market. Filter by price, bedrooms, bathrooms, photos, or “posted today”, then download a table of listings.
2. Collect rooms, shares, and sublets
Use roo (rooms & shares) or sub (sublets & temporary) to track shared housing and short-term inventory without manually refreshing search pages.
3. Pull real estate for sale and vacation rentals
Scrape rea (real estate for sale), owner/broker shortcuts (reo / reb), or vac vacation rentals for market research and lead lists.
4. Cover every housing category in one run
Set category to all to sample across apartments, swaps, offices, parking, sale, rooms, sublets, vacation, and wanted categories with a fair per-category quota.
5. Feed housing data into AI or automation tools
Ask an AI assistant to “scrape Craigslist apartments in Austin under $2,000” — or schedule the Actor in Apify and push results into Sheets, CRM, or alerting workflows.
How to scrape Craigslist housing listings
- Open the Actor in Apify Console.
- Enter one or more Craigslist area slugs (for example
austin). - Choose a housing category (default: apartments / housing for rent).
- Set Max listings and whether to enrich from detail pages.
- Click Start and download the dataset as JSON, CSV, or Excel.
Free Apify plan limits (set by this Actor's developer)
| Limit | Free Apify plan | Paid Apify plan |
|---|---|---|
| Runs of this Actor | 10 runs total | Unlimited |
Listings per run (maxItems) | Up to 1,000 | Up to 2,000 |
These caps are enforced by the Actor developer (not Apify platform errors). When you hit the 10-run limit, the run finishes gracefully with a clear status message asking you to upgrade.
Input
| Field | Type | Default | Description |
|---|---|---|---|
locations | string[] | ["austin"] | Craigslist area slugs used in search URLs |
category | string | apa | Housing category code, or all |
purveyor | string | (all) | For sale: blank / owner / dealer |
query | string | — | Optional keyword query |
minPrice / maxPrice | integer | — | Price / rent bounds |
minBedrooms / maxBedrooms | integer | — | Bedroom filters |
minBathrooms / maxBathrooms | integer | — | Bathroom filters (SAPI) |
hasPic | boolean | false | Only listings with photos |
postedToday | boolean | false | Only postings published today |
sort | string | date | date, dateoldest, priceasc, pricedsc |
startUrls | request list | — | Optional search or detail URLs |
maxItems | integer | 50 | Max listings (1–2000); free users capped at 1,000/run + 10 runs total |
scrapeDetails | boolean | true | Enrich from public detail pages |
maxDetailConcurrency | integer | 5 | Parallel detail fetches (1–15) |
imageSize | string | 600x450 | Search image size suffix |
requestDelayMillis | integer | 250 | Politeness delay between requests |
proxyConfiguration | object | proxy off | Optional Apify Proxy |
Output
Each dataset item is one Craigslist housing posting. Core fields include:
| Field | Description |
|---|---|
postingId | Craigslist posting ID |
title | Listing title |
price | Numeric price when available |
category | Housing category code |
location / city | Area / city signals |
bedrooms / bathrooms / sqft | Unit facts when present |
url | Public listing URL |
postedAt | Posting timestamp when available |
source | Always craigslist |
| images / geo / detail fields | Present when search or detail enrichment provides them |
Key-value store artifacts:
INPUT_ECHO— normalized public inputRUN_SUMMARY(andSUMMARY) — run stats and shard notesERROR_SUMMARY— written when the run fails
Empty result sets fail the run (NoRowsCollectedError) so schedules and automations do not silently succeed with zero rows.
Housing categories supported
| Code | Meaning |
|---|---|
apa | Apartments / housing for rent |
swp | Housing swap |
off | Office & commercial |
prk | Parking & storage |
rea | Real estate for sale |
roo | Rooms & shares |
sub | Sublets & temporary |
vac | Vacation rentals |
hou | Wanted: apts / housing |
hsw | Wanted: all housing |
sha | Wanted: room / share |
reo | Sale by owner shortcut → rea + owner |
reb | Sale by broker shortcut → rea + dealer |
all | All housing categories above |
How the Craigslist scraper works
The Actor is HTTP-first (got-scraping + Cheerio):
- Primary search via Craigslist SAPI
/web/v8/postings/search/full - Optional public detail HTML enrichment (JSON-LD, attributes, map, images)
- Optional Apify Proxy when you enable it in input
- Never calls Craigslist
/replycontact endpoints
SAPI /full returns at most 360 rows per request and does not expose a reliable offset. When maxItems > 360, the Actor automatically shards across alternate sorts (dateoldest, price asc/desc) and category-aware price buckets (rent vs sale vs commercial) to collect more unique postings. For category=all, unused per-category quota is refilled on a second pass.
Pricing
Pay per event:
| Event | Price |
|---|---|
Actor start (apify-actor-start) | $0.005 per run |
Result (apify-default-dataset-item) | $2.00 / 1,000 listings |
Users also pay Apify platform usage costs for the run (compute and any Apify Proxy usage you enable).
Examples:
- 50 enriched apartment listings ≈
$0.005 + (50 × $0.002)= $0.105 in Actor events (plus platform usage) - 1,000 listings ≈
$0.005 + $2.00= $2.005 in Actor events (plus platform usage)
Free Apify plan: up to 10 runs of this Actor and 1,000 listings per run. Upgrade to a paid Apify plan for unlimited runs (schema max still applies). Limits set by the Actor developer.
Tips for better Craigslist housing data
- Start with a real area slug from the Craigslist site URL (
/search/area/{slug}). - Keep
scrapeDetails=truewhen you need bathrooms, body text, map address, or full image lists. - Raise
maxItemsabove 360 only when you need deeper coverage; sharding fetches more pages. - Enable residential proxy if your network path is blocked from
sapi.craigslist.org. - Prefer smaller scheduled runs (for example posted-today + modest
maxItems) over giant one-off dumps.
FAQ
Why am I limited to 10 runs / 1,000 listings on the free plan?
Those limits are set by this Actor's developer for free Apify plan users (not an Apify platform bug). Upgrade to a paid Apify plan for unlimited runs of this Actor. Event pricing (PPE) is separate from these free-tier caps.
Can I scrape Craigslist apartments without an API key?
Yes. This Actor uses public Craigslist search and listing pages. You do not need a Craigslist API key or account login.
Does this scrape Craigslist contact / reply info?
No. The Actor does not call Craigslist /reply endpoints. It only reads public search and detail content.
Why do I sometimes get fewer than maxItems?
Craigslist may simply have fewer matching postings for your area, category, and filters. The Actor fails only when it collects zero rows.
How do I scrape more than 360 Craigslist results?
Set maxItems above 360. The Actor shards across alternate sorts and price buckets because SAPI /full has no true offset pagination.
Can I scrape all Craigslist housing categories at once?
Yes. Set category to all. The Actor splits the maxItems budget fairly across categories.
Is there a Live-view / Standby API?
Yes, but it is metadata only. Standby exposes discovery endpoints (/, /health, /input-example, /openapi.json) and does not scrape Craigslist or return listings. Full scraping still runs as a normal Apify Actor batch run so listings land in the default dataset.
Integrations
- Apify API / SDK — start runs and fetch the dataset programmatically
- Schedules — daily or hourly housing monitors
- Make, n8n, Zapier — push new listings into Sheets, Slack, or CRM
- MCP / AI agents — use the Actor as a Craigslist housing data tool
Limitations
- Public listings only; no private or authenticated Craigslist data
- Contact/reply endpoints are intentionally out of scope
- Result volume depends on live Craigslist inventory and filters
- Very large
maxItemsvalues take longer because of sharding and politeness delays
Related searches
Craigslist apartments scraper · Craigslist housing scraper · Craigslist rooms for rent scraper · Craigslist real estate scraper · Craigslist vacation rentals data · Craigslist API alternative for housing