Craigslist Scraper
Pricing
Pay per event
Craigslist Scraper
Scrape listings from Craigslist — for sale, housing, jobs, gigs, and services. Filter by city, category, and keyword. Extracts post title, price, location, description, images, post date, and attributes from any of 700+ Craigslist subdomains.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape listings from Craigslist — for sale, housing, jobs, gigs, and services. Supply one or more Craigslist search/category URLs as input; the scraper visits each listing page and extracts structured post data.
Features
- Scrape any Craigslist category across all 700+ subdomains (sfbay, nyc, chicago, london, and more)
- Extracts: post title, price, description, post date, location, attributes, images, and post ID
- Works with any search filter URL — keyword, category, neighborhood
- Respects
maxItemsto cap output size for sampling or budget control - Server-rendered HTML — fast and lightweight (no browser required)
Input
| Field | Type | Description |
|---|---|---|
startUrls | Array | Craigslist search URLs to scrape. Each URL is one search result page. |
maxItems | Integer | Maximum records to scrape (0 = unlimited). Default: 0. |
Example Input
{"startUrls": [{ "url": "https://sfbay.craigslist.org/search/sss" },{ "url": "https://newyork.craigslist.org/search/jjj?query=software+engineer" }],"maxItems": 100}
Finding the right URL
- Visit craigslist.org and choose your city
- Navigate to the category you want (e.g. "for sale", "jobs", "housing")
- Optionally add keywords or filters using Craigslist's search box
- Copy the URL from your browser's address bar — paste it into
startUrls
Output
Each record in the dataset represents one Craigslist post:
| Field | Description |
|---|---|
post_id | Unique 10-digit Craigslist post ID |
url | Full URL of the post |
title | Post title |
price | Asking price (e.g. "$195") |
description | Full post body text |
post_date | Date and time the post was published |
location | City/neighborhood from the post |
listing_location | Location shown in the search results |
attributes | Additional attributes (condition, make, model, etc.) |
images | Comma-separated list of image URLs |
category | Craigslist category label |
scraped_at | ISO 8601 timestamp of when the record was scraped |
Example Output Record
{"post_id": "7932671587","url": "https://sfbay.craigslist.org/scz/pts/d/aptos-1963-corvette-stingray-fuel-door/7932671587.html","title": "1963 Corvette Stingray Fuel Door","price": "$195","description": "For all 1963 Corvette Stingrays Coupe or Convertible...","post_date": "2026-05-06 21:34","location": null,"listing_location": "Aptos","attributes": "condition: excellent\nmake / manufacturer: Chevrolet Corvette","images": "https://images.craigslist.org/00m0m_kAZboEDqSKq_0CI0hR_600x450.jpg","category": "auto parts","scraped_at": "2026-06-05T08:00:00.000Z"}
Notes
- Craigslist search pages display up to ~360 listings per page (the full result set in one load)
- Listings without images will have
images: null - Posts without a displayed price will have
price: null - The
locationfield comes from the post detail page map;listing_locationis from the search result card
Legal
Use responsibly and in accordance with Craigslist's Terms of Use. Intended for personal research, lead generation, and market analysis.