Craigslist Listings Scraper — No Login, $10/1k avatar

Craigslist Listings Scraper — No Login, $10/1k

Pricing

from $10.00 / 1,000 listing results

Go to Apify Store
Craigslist Listings Scraper — No Login, $10/1k

Craigslist Listings Scraper — No Login, $10/1k

Scrape Craigslist listings for sale, housing, and jobs. Get prices, locations, descriptions, and contact info. Great for market research. No login or cookies. MCP-ready for AI agents. $10 per 1,000 records.

Pricing

from $10.00 / 1,000 listing results

Rating

0.0

(0)

Developer

Fortuitous Pirate

Fortuitous Pirate

Maintained by Community

Actor stats

0

Bookmarked

48

Total users

2

Monthly active users

9 days ago

Last modified

Share

Craigslist - For Sale, Housing & Jobs Listings with Prices

Overview

Scrape Craigslist classified listings by city and category. Extracts listing title, price, location, coordinates, images and posting ID from the search page, and (with includeDetails) the posting date, full description, attributes (condition, make/model, bedrooms, rent period, ...) and every image from each posting. Categories: for sale, housing, jobs, services, gigs, community.

Works with Craigslist's 2026 site layout: search runs at https://www.craigslist.org/search/area/<city>?cat=<code> and postings live at https://www.craigslist.org/view/d/<slug>/<postingId>. The 22-character postingId is the identifier in that posting URL.

Features

  • Search any Craigslist city (sfbay, newyork, losangeles, chicago, austin, ...)
  • Filter by category, keyword, minimum and maximum price
  • Sort by newest, price ascending or price descending
  • Optional detail scrape: full description, attributes, all images, posted and updated timestamps, map address
  • Export data in JSON, CSV, or Excel formats

How many listings can one run return?

Craigslist now serves one static search page holding the newest ~360 matches; the old s= page offset redirects back to the first page. A run therefore returns at most the listings on that page (usually 300-360), and maxListings above that stops cleanly at what the page provides. To reach different listings, narrow the search with searchQuery, minPrice/maxPrice, a more specific category, or run per city.

Use Cases

  • Monitor - Track prices and availability for used cars, furniture, electronics and rentals
  • Lead generation - Collect housing, jobs and gigs postings for a city
  • Analyze - Compare asking prices across cities and categories
  • Build - Feed listing data into alerts, dashboards or price-comparison tools

Input Parameters

ParameterTypeDescriptionDefault
locationstring (required)The Craigslist city code, e.g. sfbay, newyork, losangeles, chicago, seattle, austinsfbay
categorystring (required)Craigslist category code: sss (all for sale), hhh (all housing), jjj (all jobs), ggg (gigs), bbb (services), ccc (community), cta (cars & trucks), apa (apartments), ...sss
searchQuerystringKeywords to search for (optional)
minPriceintegerMinimum price filter (optional)
maxPriceintegerMaximum price filter (optional)
maxListingsinteger (required)Maximum number of listings to return (capped by what the search page holds, ~360)100
includeDetailsbooleanAlso fetch each posting page for full description, attributes, all images and posted/updated dates. Slower but more complete.false
sortBystringdate (newest first), priceasc, pricedscdate
proxyConfigurationobjectProxy settings for the scraper{"useApifyProxy": true}

Output Example

Search-page fields (every run):

{
"title": "1999 TOYOTA CAMRY V6",
"price": 3425,
"priceFormatted": "$3,425",
"currency": "USD",
"city": "Pflugerville",
"state": "TX",
"location": "Pflugerville, TX",
"locationText": "",
"latitude": 30.4421,
"longitude": -97.6299,
"images": ["https://images.craigslist.org/00w0w_7Be6FaDU5eI_0gw0co_600x450.jpg"],
"url": "https://www.craigslist.org/view/d/pflugerville-1999-toyota-camry-v6/kPq4THTKMZFULt5dXwUkUJ",
"postingId": "kPq4THTKMZFULt5dXwUkUJ",
"postedDate": null,
"category": "cta",
"searchLocation": "austin",
"searchQuery": "toyota",
"scrapedAt": "2026-09-28T21:02:38.179Z"
}

With includeDetails: true each record also carries postedDate, updatedDate, fullDescription, attributes, allImages and mapAddress:

{
"postedDate": "2026-09-28T15:08:11-0500",
"updatedDate": "2026-09-28T15:08:12-0500",
"fullDescription": "1999 TOYOTA CAMRY VIN: JT2BF28K7X0193095 V6 | AUTO | FWD Excellent condition, runs and drives great...",
"attributes": {
"condition": "excellent",
"cylinders": "6 cylinders",
"drive": "fwd",
"fuel": "gas",
"odometer": "198,322",
"title_status": "clean",
"transmission": "automatic",
"type": "sedan"
},
"allImages": ["https://images.craigslist.org/00w0w_7Be6FaDU5eI_0gw0co_600x450.jpg", "..."],
"mapAddress": ""
}

Housing postings get bedrooms, bathrooms and sqft inside attributes when the posting states them. postedDate is null without includeDetails because the search page no longer exposes posting times.

Pricing

Pay per event:

  • $0.01 per listing result ($10.00 per 1,000)
  • $0.005 per actor start

No monthly fees. You only pay for what you scrape. The Apify Free plan includes $5/month in platform credits.

How to Run

Apify Console

  1. Go to the Craigslist - For Sale, Housing & Jobs Listings with Prices actor page
  2. Configure your input parameters
  3. Click Start and wait for the results
  4. Download data in JSON, CSV, or Excel format

API

curl -X POST "https://api.apify.com/v2/acts/fortuitous_pirate~craigslist-listings-for-sale-housing-jobs/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"location": "austin", "category": "cta", "searchQuery": "toyota", "maxListings": 50, "includeDetails": true}'

Python SDK

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("fortuitous_pirate/craigslist-listings-for-sale-housing-jobs").call(
run_input={"location": "sfbay", "category": "apa", "minPrice": 1500, "maxPrice": 3500, "maxListings": 50}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["price"], item["url"])

Integration

  • API access - Programmatic access via Apify API
  • Webhooks - Get notified when scraping completes
  • Scheduling - Set up recurring runs on any schedule
  • Zapier / Make - Connect with 5,000+ apps via Apify integrations
  • Python / Node.js SDKs - Native client libraries for easy integration