Craigslist Scraper — Listings, Cars, Housing & Contacts avatar

Craigslist Scraper — Listings, Cars, Housing & Contacts

Pricing

from $0.01 / listing

Go to Apify Store
Craigslist Scraper — Listings, Cars, Housing & Contacts

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

Yuliia Kulakova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Craigslist Scraper — Listings, Cars, Housing, Jobs & Contacts

Craigslist Scraper

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

canonicalUrl 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:

EventPrice
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, deepCoverage or searchNearby for 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.