Craigslist Housing Scraper avatar

Craigslist Housing Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Craigslist Housing Scraper

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

kane liu

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

21 hours ago

Last modified

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. Set WORKER_PROVIDES_PROXY=1 when the worker supplies its own PROXY_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

  1. Open the Actor in Apify Console.
  2. Enter one or more Craigslist area slugs (for example austin).
  3. Choose a housing category (default: apartments / housing for rent).
  4. Set Max listings and whether to enrich from detail pages.
  5. Click Start and download the dataset as JSON, CSV, or Excel.

Free Apify plan limits (set by this Actor's developer)

LimitFree Apify planPaid Apify plan
Runs of this Actor10 runs totalUnlimited
Listings per run (maxItems)Up to 1,000Up 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

FieldTypeDefaultDescription
locationsstring[]["austin"]Craigslist area slugs used in search URLs
categorystringapaHousing category code, or all
purveyorstring(all)For sale: blank / owner / dealer
querystringOptional keyword query
minPrice / maxPriceintegerPrice / rent bounds
minBedrooms / maxBedroomsintegerBedroom filters
minBathrooms / maxBathroomsintegerBathroom filters (SAPI)
hasPicbooleanfalseOnly listings with photos
postedTodaybooleanfalseOnly postings published today
sortstringdatedate, dateoldest, priceasc, pricedsc
startUrlsrequest listOptional search or detail URLs
maxItemsinteger50Max listings (1–2000); free users capped at 1,000/run + 10 runs total
scrapeDetailsbooleantrueEnrich from public detail pages
maxDetailConcurrencyinteger5Parallel detail fetches (1–15)
imageSizestring600x450Search image size suffix
requestDelayMillisinteger250Politeness delay between requests
proxyConfigurationobjectproxy offOptional Apify Proxy

Output

Each dataset item is one Craigslist housing posting. Core fields include:

FieldDescription
postingIdCraigslist posting ID
titleListing title
priceNumeric price when available
categoryHousing category code
location / cityArea / city signals
bedrooms / bathrooms / sqftUnit facts when present
urlPublic listing URL
postedAtPosting timestamp when available
sourceAlways craigslist
images / geo / detail fieldsPresent when search or detail enrichment provides them

Key-value store artifacts:

  • INPUT_ECHO — normalized public input
  • RUN_SUMMARY (and SUMMARY) — run stats and shard notes
  • ERROR_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

CodeMeaning
apaApartments / housing for rent
swpHousing swap
offOffice & commercial
prkParking & storage
reaReal estate for sale
rooRooms & shares
subSublets & temporary
vacVacation rentals
houWanted: apts / housing
hswWanted: all housing
shaWanted: room / share
reoSale by owner shortcut → rea + owner
rebSale by broker shortcut → rea + dealer
allAll housing categories above

How the Craigslist scraper works

The Actor is HTTP-first (got-scraping + Cheerio):

  1. Primary search via Craigslist SAPI /web/v8/postings/search/full
  2. Optional public detail HTML enrichment (JSON-LD, attributes, map, images)
  3. Optional Apify Proxy when you enable it in input
  4. Never calls Craigslist /reply contact 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:

EventPrice
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=true when you need bathrooms, body text, map address, or full image lists.
  • Raise maxItems above 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 maxItems values take longer because of sharding and politeness delays

Craigslist apartments scraper · Craigslist housing scraper · Craigslist rooms for rent scraper · Craigslist real estate scraper · Craigslist vacation rentals data · Craigslist API alternative for housing