Craigslist Scraper - Housing Jobs Cars Worldwide
Pricing
from $1.32 / 1,000 results
Craigslist Scraper - Housing Jobs Cars Worldwide
Scrape Craigslist classifieds worldwide: housing, jobs, cars, services, gigs, community, events, and resumes. 707 official cities. Price, photos, URLs — no login or API key.
Pricing
from $1.32 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Craigslist Scraper — Housing Jobs Cars + Phones & 门牌
Scrape Craigslist classifieds in 707 official cities — housing, jobs, cars, services, gigs, community, events, and resumes — plus outreach fields: phones found in listing text, street/门牌 from detail JSON-LD, and Craigslist relay emails when the public reply popup is not captcha-gated.
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 official Craigslist area slug (
austin,toronto,london,sydney,berlin,mexicocity, …) across 707 sites worldwide - Cover every Craigslist section: housing, for sale, jobs, gigs, services, community, events, and resumes (144 category codes)
- Pull price, photos, geo, category, country, and posting URLs from Craigslist search results
- Enrich from public detail pages by default (JSON-LD, attributes, map/门牌, images) and attach lead keys:
phones,emails,address,person,leadAbsences - Go beyond Craigslist’s 360-result search cap with automatic sort/price sharding
- Pay only for what you use: $0.005 per run + $1.80 per 1,000 listings (FREE/Bronze list price)
Craigslist does not offer a public 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.
Need a dedicated scraper for one website?
This Actor is the general tool for protected public pages. If you already have one specific site and a field list, a dedicated scraper is faster and more stable: listing + detail, your export format, delivered to your Apify account or as a standalone runnable client.
I confirm the tier before you pay. The clock starts after that confirmation.
Start here: Submit a custom scraper request
| Starter $50 | Dedicated $100 | Hard target $200–999 | |
|---|---|---|---|
| Site | 1 simple anti-bot public site | 1 medium anti-bot public site | Cloudflare / aggressive anti-bot / custom parser |
| Scope | Full listing + detail fields | Listing + detail + pagination, your field list | Agreed fields, repeatable runs |
| Delivery | CSV/JSON · Apify Actor or standalone runnable client (script/CLI) | Same, plus a sample run and short instructions | Feasibility first, then build |
| Time | 24 hours after we confirm the URL is in scope | 48 hours after confirmation | Quoted after feasibility |
| Fixes | 30 days for small public-layout changes | 30 days | Scoped in the quote |
Hard-target sites are not a 100% uptime promise. You get a dedicated parser that can be re-run on the agreed fields. If the URL is not feasible, you get a refund or pay an assessment fee only — you will know before the build starts.
Not in Starter/Dedicated: login-walled data, native APK / Windows installer / full web apps, or two-year maintenance. Those are a separate quote.
What does the Craigslist Scraper do?
This Actor is a Craigslist classifieds scraper for the whole site, not housing only: apartments and rooms, cars and furniture, jobs and gigs, services, community, events, and resumes. Give it one or more official area slugs anywhere Craigslist operates, pick a category (or a section code such as sss / jjj), set how many listings you want, and it returns structured posting data — with optional detail-page enrichment.
It is useful when you need:
- Rent, sale, and room inventory snapshots for a city
- Cars, furniture, and other for-sale listings
- Job and gig monitoring across Craigslist markets
- A Craigslist API alternative for research, lead lists, and automation
What you can scrape from Craigslist
1. Scrape Craigslist apartments, rooms, and real estate
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. Use roo, sub, rea, or vac for rooms, sublets, for-sale housing, and vacation rentals.
2. Scrape Craigslist cars, furniture, and for-sale ads
Use section sss or a leaf such as cta (cars & trucks) or fua (furniture). Dealer vs owner filters apply on for-sale searches (purveyor).
3. Scrape Craigslist jobs, gigs, and services
Use jjj for jobs, ggg for gigs, bbb for services, or a leaf such as sof (software jobs). Jobs and gigs skip price sharding; the Actor still shards by sort when you need more than 360 rows.
4. Cover housing leaves in one run — or a whole site section
Set category to all to sample across apartments, swaps, offices, parking, sale, rooms, sublets, vacation, and wanted housing with a fair per-category quota. For the rest of Craigslist use section codes sss, jjj, ggg, bbb, ccc, eee, rrr.
5. Search outside the US
Area slugs from the official Craigslist sites list resolve cc / lang automatically (toronto → Canada, london → UK, sydney → Australia, berlin → Germany, mexicocity → Mexico, montreal → lang=fr). Override with country / lang if needed. Historic city hosts (toronto.craigslist.ca, london.craigslist.co.uk) are accepted as start URLs.
6. Feed Craigslist data into AI or automation tools
Ask an AI assistant to “scrape Craigslist apartments in Toronto under $2,000” or “Craigslist cars in sfbay” — or schedule the Actor in Apify and push results into Sheets, CRM, or alerting workflows.
More Actors like this
Looking for another classifieds / housing / jobs scraper, or a site outside Craigslist? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for Craigslist search and optional detail enrichment across official worldwide area slugs.
Similar real estate Actors
- Zillow & Zumper Scraper
- Realtor.com Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Zillow Group Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- Idealista Scraper
- ImmoScout24 Scraper
- realestate.com.au Scraper
- Bayut Scraper
- Property Finder Scraper
- Funda Scraper
- 99.co Scraper
Prefer another specialized scraper?
Jobs & Freelance
- LinkedIn Jobs Scraper
- Indeed Jobs Scraper
- Upwork Jobs Scraper
- Glassdoor Scraper
- Fiverr Gigs Scraper
- Bayt Jobs Scraper
E-commerce
- Walmart Product Scraper
- Amazon Search Scraper
- Shopee Search Scraper
- Etsy Scraper
- SHEIN Product Scraper
- Temu Product Scraper
- Target Product Scraper
- Allegro Scraper
Travel & Stays
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.
How to scrape Craigslist listings
- Open the Actor in Apify Console.
- Enter one or more Craigslist area slugs (for example
toronto,london, orsfbay). - Choose a category — housing leaf (
apa), for-sale (cta/sss), jobs (jjj), or another 3-letter code. - 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[] | ["phoenix"] | Official area slugs (phoenix, toronto, london, sydney, …) |
country / lang | string | auto | Override SAPI cc / lang. Blank uses the 707-area catalog |
category | string | apa | Any 3-letter Craigslist code; all = housing expander; sss/jjj/… = section |
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) |
minSqft / maxSqft | integer | — | Housing sqft filters |
housingType / laundry / parking | integer | — | Craigslist housing facet codes |
catsOk / dogsOk / furnished / noSmoking | boolean | false | Housing amenity filters |
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 | 1 | Max listings (1–2000); Store Test default is 1; 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 posting. Core fields include:
| Field | Description |
|---|---|
postingId | Craigslist posting ID |
title | Listing title |
price | Numeric price when available |
category / categorySection | 3-letter code and section (housing, forsale, jobs, …) |
location / city / country / cc | Area slug, city, catalog country, SAPI cc |
bedrooms / bathrooms / sqft | Unit facts when present (housing) |
url | Public listing URL |
postedAt | Posting timestamp when available |
source | Always craigslist |
phones[] | { value, type, e164? } from listing body / tel: — never the numeric posting id. Empty + leadAbsences.phones when the ad has no number |
emails[] | { value, type } including Craigslist relay addresses (hex@hous.craigslist.org) when /reply/…/popup is reachable. Captcha/404 → empty + 闸门锁 |
address | { street, unit, locality, region, postalCode, country, full }. unit is 门牌 when Craigslist shows it (often absent). Legacy streetAddress / mapAddress strings are kept |
geo | { lat, lng } from #map / JSON-LD, in addition to street |
person | { name, role } poster name from reply flap (contact name: …) when ungated |
org / web | Structured agency/website are usually 本站无 on Craigslist P2P ads |
leadSource / leadReveal | search | detail | reveal-xhr and visible | click | gated | absent |
leadAbsences | Per-subfield 本站无 / 闸门锁 / 未验证 when a lead key is empty |
| images / other 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 searches return SUCCEEDED with zero dataset rows when the worker reports NO_MATCH (valid area, nothing listed) or LOCATION_UNRESOLVED (unknown slug). Hard blocks still fail the run.
Categories supported
Housing leaves stay the default. Section codes search that whole Craigslist column in one SAPI request. all still expands housing leaves only.
| 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 / hsw / sha / sbw | Wanted housing |
reo / reb | Sale by owner / broker shortcuts |
all | All housing leaves (not the whole site) |
hhh / sss / jjj / ggg / bbb / ccc / eee / rrr | Housing / for sale / jobs / gigs / services / community / events / resumes |
Leaf codes such as cta (cars), sof (software jobs), and fua (furniture) are in the input dropdown (144 codes from the live sfbay homepage). Country/area catalog: 707 official slugs from craigslist.org/about/sites.
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) | $1.80 / 1,000 listings (FREE / Bronze list price) |
Paid Apify plans get Store volume discounts on the result event (Silver → Diamond). Platform compute for this Actor is paid by the developer (User pays platform usage = No). If you enable Apify Proxy in input, proxy usage is billed separately.
Examples at the list price:
- 50 listings ≈
$0.005 + (50 × $0.0018)= $0.095 in Actor events - 1,000 listings ≈
$0.005 + $1.80= $1.805 in Actor events
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 data
- Start with a real area slug from the Craigslist site URL (
/search/area/{slug}), including non-US markets. - Pick the right section or leaf (
apa,cta,jjj,sss, …).category=allis housing leaves only, not the whole site. - Keep
scrapeDetails=true(default) when you need bathrooms, body text, map/门牌, phones in the ad, or reply-popup emails. - 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. A valid empty search (NO_MATCH or unknown slug LOCATION_UNRESOLVED) still SUCCEEDED with zero rows. Hard 403/429 blocks fail.
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 housing leaves. For the rest of Craigslist use section codes (sss for sale, jjj jobs, ggg gigs, bbb services, ccc community) or a leaf such as cta.
Which countries does this cover?
All 707 official area slugs from craigslist.org/about/sites, including the US, Canada, UK, Europe, Asia, Latin America, Oceania, and Africa. The Actor sets cc / lang from the catalog unless you override them.
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 monitors for housing, jobs, or for-sale ads
- Make, n8n, Zapier — push new listings into Sheets, Slack, or CRM
- MCP / AI agents — use the Actor as a Craigslist classifieds data tool
Limitations
- Public listings only; no private or authenticated Craigslist data
- Reply / contact is best-effort, not guaranteed. The worker GETs
{city}.craigslist.org/reply/{area}/{cat}/{id}/popupafter the detail page. Session-less fetches often return 404; browser sessions may hit hCaptcha. This Actor does not solve CAPTCHA or send messages. Emptyemails/personthen includeleadAbsencesreason闸门锁 - Phones are parsed from listing body /
tel:only. Most professionally posted apartments have no number on the page. Numeric posting ids are not phones - Street / 门牌 is richest on US housing detail JSON-LD (example:
5035 E. Chandler Blvd). Many PH listings and some for-sale ads have locality only - Poster name appears on some rooms ads after reply popup (
contact name: Elijahin recon); apartment ads often have none - Result volume depends on live Craigslist inventory and filters
- Very large
maxItemsvalues take longer because of sharding, detail fetches, and politeness delays
Related searches
Craigslist scraper · Craigslist classifieds scraper · Craigslist apartments scraper · Craigslist jobs scraper · Craigslist cars scraper · Craigslist rooms for rent scraper · Craigslist API alternative
Related Actors
All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.
Jobs & Freelance
- LinkedIn Jobs Scraper
- Bayt Jobs Scraper
- Fiverr Gigs Scraper
- Freelancer.com Scraper
- Glassdoor Scraper
- Himalayas Jobs Scraper
- Indeed Jobs Scraper
- Jobicy Remote Jobs Scraper
- RemoteOK Jobs Scraper
- SEEK Jobs Scraper
- Upwork Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- 99.co Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Bayut Scraper
- Craigslist Scraper
- Daft.ie Scraper
- Dot Property Scraper
- FINN.no Scraper
- Funda Scraper
- Hepsiemlak Scraper
- Idealista Scraper
- Immobiliare.it Scraper
- ImmoScout24 Scraper
- Naver Land Scraper
- OpenSooq Scraper
- Otodom Scraper
- Property Finder Scraper
- PropertyGuru Scraper
- realestate.com.au Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- SeLoger Scraper
- SUUMO Scraper
- Zillow Group Scraper
E-commerce
- Shopee Search Scraper
- E-commerce Scraper
- 1688 Global Product Search Scraper
- Allegro Scraper
- Amazon Search Scraper
- ASOS Product Scraper
- Cdiscount Product Scraper
- Costco Product Scraper
- Coupang Product Scraper
- Etsy Scraper
- Lazada Scraper
- MercadoLibre Scraper
- Mercari Japan Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
- Target Product Scraper
- Temu Product Scraper
- Walmart Product Scraper
Travel & Stays
- Booking.com & Airbnb Scraper
- Agoda Scraper
- Airbnb Listings Scraper
- Booking.com Hotels Scraper
- Despegar Scraper
- Expedia Scraper
- Traveloka Scraper
- Travelstart Flights Scraper
- Trip.com Scraper
- TripAdvisor Scraper
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ Browse the full profile: apify.com/lentic_clockss