Craigslist Scraper — Listings, Cars, Housing & Contacts
Pricing
from $0.01 / listing
Craigslist Scraper — Listings, Cars, Housing & Contacts
Scrape any Craigslist city and category: for-sale, cars, housing, jobs, services. Price, date, GPS, all photos, full specs (VIN/odometer, beds/baths/sqft), description, body email + anonymized relay email/phone (no login). Plus dedup, monitoring & region price analytics.
Pricing
from $0.01 / listing
Rating
0.0
(0)
Developer
Yuliia Kulakova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Craigslist Scraper — Listings, Cars, Housing, Jobs & Contacts

Search and scrape any Craigslist city and category — for-sale items, cars & trucks, apartments/housing, jobs, gigs, services and more. Returns clean, structured data with price, exact dates, GPS coordinates, every photo, full specs, description and seller info, plus built-in de-duplication, monitoring mode and region price analytics.
HTTP-only (fast, no browser), no login and no API key required.
Why this scraper
- Two ways to search: by city + keyword + category with rich filters, or paste ready-made Craigslist search / post URLs. Mix both in one run.
- Real coordinates (latitude/longitude + geo accuracy) on every listing.
- Full vehicle specs: year, make, model, VIN, odometer, fuel, transmission, title status, drivetrain, cylinders, paint, body type, condition.
- Full housing specs: bedrooms, bathrooms, sqft, housing type, laundry, parking, rent period, availability, cats/dogs OK, furnished.
- All photos at medium and full resolution.
- Contact data: e-mail addresses written in the post body (including obfuscated
"name at domain dot com" forms), plus — optionally — Craigslist's anonymized relay
email (
xxxx@sale.craigslist.org) and reveal phone, unlocked with no login. - Dealer / bulk-poster detection, repost de-duplication, monitoring mode (only new listings across scheduled runs — set a monitoring store name so it remembers between runs), and per-region price analytics (min/median/mean/max).
Example input
{"subdomain": "newyork","category": "cta","searchQueries": ["honda"],"maxPrice": 20000,"sort": "date","includeDetails": true,"dealerDetection": true,"maxItems": 100}
Or by URL:
{"startUrls": [{ "url": "https://sfbay.craigslist.org/search/apa?query=loft&max_price=4000" },{ "url": "https://www.craigslist.org/view/d/some-listing/abcd1234" }]}
Common category codes
sss all for-sale · cta cars & trucks · cto by owner · ctd by dealer · mcy motorcycles ·
apa apartments/housing · hhh all housing · rea real estate for sale · roo rooms ·
jjj jobs · ggg gigs · bbb services · ele electronics · zip free stuff.
Find your city subdomain in any Craigslist URL — the part before .craigslist.org
(e.g. newyork, losangeles, sfbay, chicago, miami, seattle, london).
Output (per listing)
postId, url, canonicalUrl, title, price, priceText, categoryName, subdomain, neighborhood, mapAddress, address{street,city,region,postalCode,country}, latitude, longitude, geoAccuracy, postedAt, updatedAt, images[], imagesFull[], description, condition, attributes{}, auto{…}, housing{…}, jobs{…}, isDealer, sellerSignals[], email, emails[], phoneNumbers[], replyEmail, replyPhone, priceVsRegionMedianPctcanonicalUrl is always the working https://www.craigslist.org/view/d/<slug>/<hash> form
(Craigslist's own canonical); pasted subdomain .html post URLs with a stale sub-area segment
are resolved automatically. auto{} is only emitted for actual vehicles; a generic item
condition (e.g. "like new") is returned as a top-level condition field instead.
With computeRegionAnalytics a summary row per region is appended
(region, listingCount, minPrice, medianPrice, meanPrice, maxPrice).
Contact extraction
email/emails[]— real e-mail addresses found in the post body, including obfuscated forms ("john at gmail dot com", "john [at] domain"). Always extracted when details are on.phoneNumbers[]— phone numbers written in the body (enable Extract contact info).replyEmail/replyPhone— Craigslist's anonymized relay email (xxxx@sale.craigslist.org) and reveal phone, revealed without any login (enable Unlock anonymized relay email & phone). This is best-effort: some listings can't be unlocked on a given run. Raise Contact-unlock retries and lower Max concurrency for a higher hit-rate.
Proxy
Proxies are configured automatically for reliable runs — you don't need to set anything up. Just make sure your Apify plan includes proxy access.
Pricing
Pay-per-event — you only pay for what you get:
| Event | Price |
|---|---|
| Actor start | $0.01 per run |
| Listing | $0.01 per listing returned (with details, specs, all photos, GPS & body contacts) |
| Relay contact unlocked | $0.10 — charged only when the anonymized relay email and/or reveal phone is actually unlocked |
You are never charged for a relay contact that couldn't be unlocked, and per-region analytics summary rows are free. If you set a maximum cost per run, the actor stops when it is reached and delivers only the listings that fit within it. Apify platform usage (compute & proxies) is billed to your own Apify account on top of these events. Turn off Open each listing for full details for a faster run that uses less compute and proxy (search-card fields only).
Support & feedback
Found a bug, or want another field, category or city supported? Open an issue on the actor's Issues tab, or leave a rating and review on the actor page — it genuinely helps and I read every one.
Notes & limitations
- Craigslist returns up to ~1080 results per search; use multiple queries,
deepCoverageorsearchNearbyfor wider coverage. - Very large runs stop cleanly shortly before the run timeout and keep everything fetched so far — the run's status message says how many listings were delivered. Raise the timeout in Run options or lower Max results to get them all.
- Vehicle VIN and some specs are only returned when the seller includes them in the listing (dealers usually do; many private sellers don't).
- The anonymized relay email/phone unlock is best-effort: not every listing yields a relay email on a given run. Body emails and phone numbers are captured reliably whenever present.
- Scrapes only publicly available data. Use responsibly and within Craigslist's Terms.