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.
Craigslist AutomationLead generationReal estate

Input

Input settings for Craigslist Classifieds Scraper with Category Attributes
SettingTypeRequiredDefaultWhat 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
More input settings for Craigslist Classifieds Scraper with Category Attributes
SettingTypeRequiredDefaultWhat 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.

Cost of Craigslist Classifieds Scraper with Category Attributes results by Apify plan
Apify planPer 1,00010,000 results100,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.

Route diagram for Craigslist dataCraigslist Classifieds Scraper with Category Attributes: stops at 0 of the 10 fields shown; Other Store tools (7): stops at 10 of the 10 fields shown; No public listings API (bulk posting interface only): none, field coverage not compared.CraigslisttitlepricelocationcategorydatedescriptionpostedAtimageUrlslatitudelongitude1+API

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.

Official documentation

Other Store tools for Craigslist

Reference only, from their public listings.

Other Store tools for Craigslist
ToolFieldsPrice / 1K
Craigslist Scraper23$1.80
Craigslist Scraper11$1.49
Craigslist Scraper22$2.30
Craigslist Vehicles Scraper16$2.50
Craigslist Scraper18$3.00

What people use it for

  • search local classifieds
  • find jobs and housing
  • review category listings

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…

120 output fields $0.99 per 1K

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…

10 output fields $0.99 per 1K

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,…

5 output fields $0.99 per 1K

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,…

$0.99 per 1K

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…

10 output fields $0.99 per 1K

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…

13 output fields $0.99 per 1K

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

Actor updated 2026-10-25 Data synced 2026-11-12
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.

Open in Apify Store