Craigslist Scraper
Pricing
from $2.50 / 1,000 results
Craigslist Scraper
Scrape Craigslist listings from any city and category: housing, cars, for sale, jobs and services. Get price, location, coordinates, posting dates, description, attributes, bedrooms and photos for each listing. Paste any Craigslist search URL with your filters.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Anyx Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Security
Limited permissionsShare

Craigslist Scraper
Craigslist listings from any city and category — price, location, map coordinates, dates, full description, attributes and photos — as clean JSON.
Scrape Craigslist listings from any city and category: housing, cars, for sale, jobs and services. Get price, location, coordinates, posting dates, description, attributes, bedrooms and photos for each listing. Paste any Craigslist search URL with your filters: the Actor keeps your search words, price range, bedroom count, make and model, or any other filter you set on the site, and returns every matching listing. Apartments come with bedrooms, bathrooms, square footage and availability; cars with year, make and model, odometer, title status and transmission; jobs with compensation and employment type. There is no login and no API key. Built for rental market research, car dealers and resellers, price monitoring, lead generation and local-market analysts.
⚡ Quick start
{"startUrls": [{ "url": "https://sfbay.craigslist.org/search/apa" }],"maxItems": 5}
🧩 Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | array | yes | — | Craigslist search pages for any city and category, such as https://sfbay.craigslist.org/search/apa or https://newyork.craigslist.org/search/sss?query=bike. Search words and filters are kept. Single listing pages work too. |
includeDetails | boolean | no | true | Open every listing for its description, attributes, posting dates, street address, housing details and all photos. Turn it off for a faster run with the search-page fields only. |
maxItems | integer | no | — | Maximum number of listings per search URL. The input form starts at 5; a search page shows up to about 360 listings, so leave it empty to get them all. |
proxyConfiguration | object | no | { "useApifyProxy": false } | Proxy settings. Craigslist works without a proxy for most runs; switch to a residential proxy if requests get blocked. |
Search URLs. Open Craigslist, pick the city and category, type your search and set the filters,
then copy the address bar. Every city site works (sfbay, newyork, toronto, london...), as
does the www.craigslist.org/search/area/<city>?cat=<category> form Craigslist redirects to.
Include listing details is on by default; with it off, each row has the fields a search page
shows (title, price, neighbourhood, and coordinates, bedrooms and photos where Craigslist lists them).
Maximum listings per search applies to each search URL separately. Leave the
Proxy configuration off unless runs start failing.
📤 Output
Each listing is one dataset row, in the order the search shows them. Fields the listing does not
have are null (or empty), so every row has the same shape.
Fields
| Field | Type | Description |
|---|---|---|
id | string | The listing's id, as in its URL. |
postId | string | Craigslist's numeric post id, shown on the listing page. null with details off. |
url | string | The listing on Craigslist. |
title | string | Listing title. |
price | number | Price as a number; null when none is given (most jobs and services). |
currency | string | Currency of the price, e.g. USD, CAD, GBP. |
location | string | The neighbourhood or place the poster gave, e.g. san jose west. |
address | string | Street address, when the poster published one. |
site | string | The Craigslist city site, as in its URL: sfbay, newyork. |
siteName | string | The city site's name: SF bay area. |
subarea | string | The sub-area the listing is filed under, e.g. south bay. |
category | string | Category code, e.g. apa, cto, sss. |
categoryName | string | Category name, e.g. apartments / housing for rent. |
latitude | number | Map latitude of the listing. |
longitude | number | Map longitude of the listing. |
postedAt | string | When the listing was posted (ISO 8601, UTC). |
updatedAt | string | When the listing was last edited (ISO 8601, UTC); null if never. |
description | string | The listing text as plain text, line breaks kept. |
descriptionHtml | string | The listing text as HTML. |
attributes | object | The listing's attribute table as key/value pairs: condition, odometer, laundry, parking, compensation, employment_type... |
housing | object | For housing: bedrooms, bathrooms, sqft and available. null for other listings. |
images | array | Photo URLs, in gallery order. |
searchUrl | string | The search URL the listing was found on; null for a listing URL given directly. |
💡 Use cases
- Rental market research — track asking rents by neighbourhood, bedroom count and square footage, with coordinates for mapping.
- Used-car sourcing and pricing — pull every listing for a make and model with year, odometer, title status and price.
- Price monitoring — schedule a search and compare runs to see new listings, price drops and listings that come down.
- Lead generation — find local businesses advertising services, or landlords and dealers posting at volume.
- Local job-market data — collect job posts with compensation and employment type by city.
❓ FAQ
- Which cities and categories work? All of them: every Craigslist city site, and every category from housing and cars to for sale, jobs, services and gigs.
- Do I need an account or an API key? No. The Actor reads the same public pages anyone can open.
- How many listings can I get per search? A Craigslist search page shows up to about 360 listings. For more, split the search: by price range, by sub-area (for example
sfc,sby), or by search words, and add each as its own URL. - Why is a field
null? Craigslist only shows what the poster filled in. Jobs and services rarely have a price, many listings have no street address, andupdatedAtisnulluntil a listing is edited. - Is there contact information? No. Craigslist hides phone numbers and email addresses behind a reply form, and the Actor does not collect them.
- What does turning off listing details change? The run is much faster (one request per search instead of one per listing), but rows only carry the search-page fields: title, price, neighbourhood, and coordinates, bedrooms and photos where the search page lists them.
- Do I need a proxy? Usually not. Craigslist can block busy shared IP ranges; if a run starts failing, set the proxy to Apify's residential group with a US country.
🔗 More scrapers by Anyx
🤝 Anyx Solutions
We build custom scrapers and data-extraction pipelines.
- Email: tantosthor@gmail.com
🖼 Image credit
Image credit: craigslist.org