# Craigslist Housing Scraper (`lentic_clockss/craigslist-housing-scraper`) Actor

Scrape Craigslist apartments, rooms, sublets, vacation rentals, and real estate listings. Extract price, beds, baths, photos, and detail data — no login or API key.

- **URL**: https://apify.com/lentic\_clockss/craigslist-housing-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.20 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Craigslist Housing Scraper

**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](https://www.craigslist.org/) 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.

***

### More Actors like this

Looking for another **housing / property portal**, or a scraper outside Craigslist? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for **Craigslist** housing search and optional detail enrichment across US/CA area slugs.

#### Similar real estate Actors

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)

#### Prefer another specialized scraper?

**Jobs & Freelance**

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

**E-commerce**

- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)

**Travel & Stays**

- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

**Social & Content**

- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

**General Tools**

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic\_clockss](https://apify.com/lentic_clockss).

***

### 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)

| 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.

<details>
<summary>For developers: JSON input example</summary>

```json
{
  "locations": ["austin"],
  "category": "apa",
  "maxItems": 20,
  "scrapeDetails": true,
  "hasPic": true,
  "sort": "date"
}
```

</details>

***

### 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 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.

<details>
<summary>Example output row</summary>

```json
{
  "source": "craigslist",
  "sourceLayer": "detail",
  "postingId": "1234567890",
  "title": "Sunny 2BR near downtown",
  "price": 1850,
  "category": "apa",
  "bedrooms": 2,
  "bathrooms": 1,
  "sqft": 900,
  "city": "Austin",
  "url": "https://austin.craigslist.org/apa/d/sunny-2br/1234567890.html",
  "postedAt": "2026-07-17T12:00:00.000Z"
}
```

</details>

***

### 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):

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:

| 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=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

***

### 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

***

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

## `locations` (type: `array`):

Craigslist area slugs used in /search/area/{slug}, e.g. austin, sfbay, newyork.

## `category` (type: `string`):

Housing category. Use "all" to scrape every housing-related category. Shortcuts reo/reb map to real-estate by owner/broker.

## `purveyor` (type: `string`):

Only used for real estate for sale. Leave blank for all, owner for by-owner, dealer for by-broker.

## `query` (type: `string`):

Optional Craigslist keyword query.

## `minPrice` (type: `integer`):

Optional minimum price / rent.

## `maxPrice` (type: `integer`):

Optional maximum price / rent.

## `minBedrooms` (type: `integer`):

Optional minimum bedroom count.

## `maxBedrooms` (type: `integer`):

Optional maximum bedroom count.

## `minBathrooms` (type: `integer`):

Optional minimum bathroom count (SAPI filter).

## `maxBathrooms` (type: `integer`):

Optional maximum bathroom count (SAPI filter).

## `hasPic` (type: `boolean`):

Filter search results to postings that have at least one photo.

## `postedToday` (type: `boolean`):

Filter search results to postings published today.

## `sort` (type: `string`):

Craigslist search sort. When maxItems > 360, the actor also shards across alternate sorts/price buckets because SAPI /full has no true offset pagination.

## `startUrls` (type: `array`):

Optional Craigslist search URLs or detail URLs. Search URLs override category/location for that URL. Detail URLs are fetched directly.

## `maxItems` (type: `integer`):

Maximum listings to save (1–2000). Each SAPI request returns up to 360 rows; values above 360 automatically enable sort/price sharding. Free Apify plan users are capped at 1,000 listings per run and 10 total runs of this Actor — limits set by the Actor developer.

## `scrapeDetails` (type: `boolean`):

Fetch public listing detail pages for body text, attributes, JSON-LD, map address, bathrooms, and full images. Does not access /reply contact endpoints.

## `maxDetailConcurrency` (type: `integer`):

Maximum number of public detail pages fetched in parallel when enrichment is enabled.

## `imageSize` (type: `string`):

Image size suffix used when constructing SAPI image URLs.

## `requestDelayMillis` (type: `integer`):

Politeness delay applied before search shards and detail-page requests.

## `proxyConfiguration` (type: `object`):

Optional Apify Proxy. Leave enabled residential/US if you hit blocks; default path works without proxy. Set Actor env WORKER\_PROVIDES\_PROXY=1 when the Cloud Run worker supplies its own PROXY\_URL.

## `workerBaseUrl` (type: `string`):

Override the Cloud Run worker origin for this run. Defaults to Actor env WORKER\_BASE\_URL. Production migrations should update WORKER\_BASE\_URL in Actor settings (no code change).

## Actor input object example

```json
{
  "locations": [
    "austin"
  ],
  "category": "apa",
  "purveyor": "",
  "hasPic": false,
  "postedToday": false,
  "sort": "date",
  "startUrls": [
    {
      "url": "https://www.craigslist.org/search/area/austin?cat=apa"
    }
  ],
  "maxItems": 50,
  "scrapeDetails": true,
  "maxDetailConcurrency": 5,
  "imageSize": "600x450",
  "requestDelayMillis": 250,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "workerBaseUrl": ""
}
```

# Actor output Schema

## `listings` (type: `string`):

Normalized Craigslist housing records.

## `runSummary` (type: `string`):

Counts, shards, proxy flag, and timestamps for a successful run.

## `inputEcho` (type: `string`):

Normalized non-secret input for the run.

## `errorSummary` (type: `string`):

Structured failure details when input validation or acquisition fails.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "locations": [
        "austin"
    ],
    "startUrls": [
        {
            "url": "https://www.craigslist.org/search/area/austin?cat=apa"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    },
    "workerBaseUrl": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/craigslist-housing-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "locations": ["austin"],
    "startUrls": [{ "url": "https://www.craigslist.org/search/area/austin?cat=apa" }],
    "proxyConfiguration": { "useApifyProxy": False },
    "workerBaseUrl": "",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/craigslist-housing-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locations": [
    "austin"
  ],
  "startUrls": [
    {
      "url": "https://www.craigslist.org/search/area/austin?cat=apa"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "workerBaseUrl": ""
}' |
apify call lentic_clockss/craigslist-housing-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lentic_clockss/craigslist-housing-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/6spDfk76DLBxqmbyQ/builds/YKfBtjbL9UHykXp14/openapi.json
