Craigslist Classifieds Scraper with Category Attributes
Scrape Craigslist search results and individual posts across any city subdomain, with category-specific attributes for jobs, housing, autos, and for-sale posts. No login or proxy required.
Open in Apify Store$0.99 / 1K on Free
Short answer
Craigslist Classifieds Scraper with Category Attributes is an Apify Store Actor for Craigslist data. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 33 input settings; one is required (mode). Last updated Oct 25, 2026.
From the public Store listing and published build schema, synced 2026-11-12.Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | Yes | search | What to collect: keyword search, a category browse, specific Craigslist URLs, or the region/subarea reference list. |
| region | string | No | sfbay | Craigslist city/region to search (mode=search/category). Pick a common region, or use Custom region for any of the 707 Craigslist sites. |
| customRegion | string | No | – | Any Craigslist hostname or abbreviation (e.g. humboldt, tokyo, sfbay). Overrides Region. (mode=search/category) |
| subarea | string | No | – | Optional Craigslist subarea abbreviation inside the region (e.g. sfc, eby, brk). Leave blank for the whole region. (mode=search/category) |
| category | string | No | sss | Craigslist category to search or browse. The default is all for-sale listings. |
| searchQueries | array | No | [] | One or more keywords. Each query is searched separately; results are de-duplicated. Leave empty for a category browse. (mode=search) |
| startUrls | array | No | [] | Craigslist search pages, new-style /view/d/... post URLs, or old /region/category/post-id.html URLs. (mode=byUrl) |
| minPrice | integer | No | – | Only listings at or above this price. Posts without a price are excluded when a price filter is set. |
| maxPrice | integer | No | – | Only listings at or below this price. Posts without a price are excluded when a price filter is set. |
| postedToday | boolean | No | false | Only listings posted in the last 24 hours (Craigslist's posted-today filter). |
Show the other 23 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| hasImage | boolean | No | false | Only listings with at least one photo. |
| titlesOnly | boolean | No | false | Match the keywords against titles only instead of titles and descriptions. |
| sellerType | string | No | all | Filter by owner, dealer, or either. |
| sortBy | string | No | newest | Order of results within each query. |
| condition | string | No | any | For for-sale and auto categories: only items in this condition. |
| minBedrooms | integer | No | – | Housing only. |
| maxBedrooms | integer | No | – | Housing only. |
| minBathrooms | integer | No | – | Housing only. |
| maxBathrooms | integer | No | – | Housing only. |
| minSqft | integer | No | – | Housing only. |
| maxSqft | integer | No | – | Housing only. |
| autoMakeModel | string | No | – | Auto categories only, e.g. honda civic. |
| minAutoYear | integer | No | – | Auto categories only. |
| maxAutoYear | integer | No | – | Auto categories only. |
| maxAutoMiles | integer | No | – | Auto categories only. |
| postalCode | string | No | – | Optional ZIP/postal code to anchor the search geographically. Use with Search radius. |
| searchRadiusMiles | integer | No | – | Distance around the postal code. Requires Postal code. |
| hideDuplicates | boolean | No | false | Ask Craigslist to group duplicate/reposted listings together. |
| deliveryAvailable | boolean | No | false | For-sale and auto categories: only listings offering delivery. |
| cryptoOk | boolean | No | false | For-sale and auto categories: only listings that accept crypto. |
| countryCode | string | No | – | Two-letter country code to filter the areas list (mode=areas), e.g. US, CA, GB. Leave blank for all 707 sites. |
| maxItems | integer | No | 100 | Hard cap across all queries and URLs. Craigslist returns at most 10,000 results per search. |
| includeDetails | boolean | No | true | Fetch each listing's full description, attributes, images, coordinates, and repost status. Turn off for faster search-card-only results. |
Example input
Built from the input form's published example values and defaults.
{
"mode": "search",
"region": "sfbay",
"category": "sss",
"searchQueries": [
"bike"
],
"startUrls": [],
"postedToday": false,
"hasImage": false,
"titlesOnly": false,
"sellerType": "all",
"sortBy": "newest",
"condition": "any",
"hideDuplicates": false,
"deliveryAvailable": false,
"cryptoOk": false,
"maxItems": 3,
"includeDetails": true
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search",
"region": "sfbay",
"category": "sss",
"searchQueries": [
"bike"
],
"startUrls": [],
"postedToday": False,
"hasImage": False,
"titlesOnly": False,
"sellerType": "all",
"sortBy": "newest",
"condition": "any",
"hideDuplicates": False,
"deliveryAvailable": False,
"cryptoOk": False,
"maxItems": 3,
"includeDetails": True
}
run = client.actor("vexaloom-labs/craigslist-classifieds-scraper-with-category").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "search",
"region": "sfbay",
"category": "sss",
"searchQueries": [
"bike"
],
"startUrls": [],
"postedToday": false,
"hasImage": false,
"titlesOnly": false,
"sellerType": "all",
"sortBy": "newest",
"condition": "any",
"hideDuplicates": false,
"deliveryAvailable": false,
"cryptoOk": false,
"maxItems": 3,
"includeDetails": true
};
const run = await client.actor("vexaloom-labs/craigslist-classifieds-scraper-with-category").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~craigslist-classifieds-scraper-with-category/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"search","region":"sfbay","category":"sss","searchQueries":["bike"],"startUrls":[],"postedToday":false,"hasImage":false,"titlesOnly":false,"sellerType":"all","sortBy":"newest","condition":"any","hideDuplicates":false,"deliveryAvailable":false,"cryptoOk":false,"maxItems":3,"includeDetails":true}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vexaloom-labs/craigslist-classifieds-scraper-with-category",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among Craigslist routes
It ranks 1 of 1 catalogue Actors for Craigslist on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 Craigslist Classifieds Scraper with Category Attributes 0 output fields, pay per event 0 of 7 core fields
$0.99 / 1K - + 7 other Store tools, combined Reference only 7 of 7 core fields
from $1.49 / 1K - API No public listings API (bulk posting interface only) No open API fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: No public listings API (bulk posting interface only)
No open API. Craigslist publishes no API for reading listings. Its bulk posting interface only submits new posts, and access is granted case by case to high-volume posters in a few paid categories.
No public self-serve price is published.
Other Store tools for Craigslist
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Craigslist Scraper | 23 | $1.80 |
| Craigslist Scraper | 11 | $1.49 |
| Craigslist Scraper | 22 | $2.30 |
| Craigslist Vehicles Scraper | 16 | $2.50 |
| Craigslist Scraper | 18 | $3.00 |
What people use it for
- search local classifieds
- find jobs and housing
- review category listings
Similar Actors
AutoScout24 Car Search Across 9 European Markets
Search AutoScout24 car listings across nine European countries by make, price, mileage, fuel type and body type, or fetch full detail records for…
AutoScout24 Vehicle Listings with Dealer Contact Details
Search AutoScout24 across eight European countries by make, price, mileage and location, and get full vehicle specs, equipment, photos and dealer…
Subito.it Classifieds Search & Price Extractor
Search Subito.it classifieds for cars, electronics, or general items by keyword, Italian region, and price range, and get price, location, seller,…
Bayt.com MENA Job Listing & Salary Scraper
Search Bayt.com job listings across Middle East and North Africa countries by keyword, location, career level, and employment type. Get titles,…
Patch.com Local News, Events & Classifieds Finder
Search Patch.com's hyperlocal US news by keyword, town, category, author, or tag, and browse its local events calendar or classifieds board, with…
Willhaben Marketplace, Cars & Real Estate Listings Scraper
Search Willhaben.at classifieds, used cars, and real estate (rent or buy apartments, houses, land) by keyword, price range, and sort order. Get…
Questions people ask
How much does Craigslist Classifieds Scraper with Category Attributes cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What input does Craigslist Classifieds Scraper with Category Attributes need?
Required: mode. Optional settings include region, customRegion, subarea, category, searchQueries, startUrls.
How do I run Craigslist Classifieds Scraper with Category Attributes from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/craigslist-classifieds-scraper-with-category").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/craigslist-classifieds-scraper-with-category").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~craigslist-classifieds-scraper-with-category/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- Craigslist Classifieds Scraper with Category Attributes on Apify Store
- Published build with input and output schema (JSON)
- No public listings API (bulk posting interface only) documentation
Cite this page
Scraper Finder. "Craigslist Classifieds Scraper with Category Attributes." https://scraperfinder.com/catalogue/craigslist-classifieds-scraper-with-category/ (data checked 2026-11-12).
Run Craigslist Classifieds Scraper with Category Attributes
$0.99 per 1,000 results. Paste the example input above, set your Craigslist query, then export the dataset. Still choosing? Compare every Craigslist route.