Craigslist Classifieds Scraper
Pricing
from $0.03 / 1,000 item extracteds
Craigslist Classifieds Scraper
Scrape Craigslist classifieds by city, category, query, filters, or search URL. Export local listing data for pricing, housing, resale, and alert workflows.
Pricing
from $0.03 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape public Craigslist listings by city, category, keyword, filters, or search URL.
Use this Actor to export local listing data for resale research, housing scans, pricing checks, classified alerts, and API workflows. It saves one dataset row per public listing and can optionally open listing detail pages for richer fields.
At a glance
- Best for: Craigslist search exports, local marketplace monitoring, apartment scans, garage-sale tracking, and price research.
- Inputs: Craigslist search URLs or structured city/category/query filters, price range, image filter, sort order, posted-today filter, item limit, detail mode, and proxy settings.
- Outputs: Listing URL, title, price, city/site, category, location, neighborhood, timestamps, description, attributes, images, map coordinates, reply-button availability, and scrape timestamp.
- Access: Public Craigslist pages only. No login, cookies, private seller data, or private contact extraction.
- Cost:
$0.005per run plus theitemevent for each saved Craigslist listing.
Ready-to-run examples
- Austin Apartments Search - apartment listings in Austin with a small result cap.
- Search URL With Details - starts from a Craigslist search URL and opens detail pages.
- Seattle Garage Sales Today - today's garage-sale posts in Seattle.
- SF Bay Desk Listings - desk listings in the SF Bay area.
These public example links were verified from the tracked task table for this Actor.
What can it do?
Craigslist Classifieds Scraper turns public Craigslist searches and listing URLs into structured local-listing rows.
- Export Craigslist search results by city, category, keyword, price range, image filter, sort order, and posted date.
- Open listing pages when needed to collect public descriptions, attributes, images, timestamps, and map fields.
- Monitor local marketplaces for housing, resale, jobs, garage sales, community posts, and other public categories.
- Build alerts and dashboards by scheduling stable Craigslist searches and deduplicating listing URLs.
- Use it as a Craigslist listings API for CSV, JSON, Excel, RSS, Dataset API, or AI-agent workflows.
Input example
{"cityOrSite": "sfbay","category": "sss","query": "desk","maxItems": 10,"includeDetails": true,"minPrice": 20,"maxPrice": 250,"hasImage": true,"sort": "date","postedWithin": "anytime","proxyConfiguration": {"useApifyProxy": false}}
Output example
{"id": "1234567890","url": "https://sfbay.craigslist.org/sfc/fuo/d/san-francisco-standing-desk/1234567890.html","title": "Standing desk","price": 120,"currency": "USD","category": "sss","cityOrSite": "sfbay","neighborhood": "San Francisco","location": "San Francisco","postedAt": "2026-07-03T09:30:00-0700","updatedAt": null,"description": "Adjustable standing desk in good condition.","attributes": {"condition": "good"},"imageUrls": ["https://images.craigslist.org/example.jpg"],"latitude": 37.7749,"longitude": -122.4194,"sellerContactAvailable": true,"scrapedAt": "2026-07-03T10:00:00.000Z"}
Input configuration
| Setting | JSON key | What it does |
|---|---|---|
| Craigslist search URLs | startUrls | One or more public Craigslist search/category URLs. |
| City/site subdomain | cityOrSite | Craigslist city subdomain such as sfbay, newyork, losangeles, chicago, seattle, or austin. |
| Category code | category | Craigslist category code such as sss, apa, jjj, gms, or ccc. |
| Search query | query | Keyword used when building a structured search URL. |
| Maximum listings | maxItems | Caps saved listings. The Actor enforces a maximum of 10,000. |
| Open listing detail pages | includeDetails | Visits each listing page for description, attributes, images, timestamps, and map data when public. |
| Minimum price | minPrice | Adds Craigslist min_price for categories that support prices. |
| Maximum price | maxPrice | Adds Craigslist max_price for categories that support prices. |
| Listings with images only | hasImage | Adds the Craigslist image filter. |
| Sort order | sort | Uses date, rel, priceasc, or pricedsc for structured searches. |
| Posted within | postedWithin | Uses all visible posts or today's posts only. |
| Proxy configuration | proxyConfiguration | Optional Apify Proxy or custom proxy settings. |
Output fields
| Field | Type | Description |
|---|---|---|
id | string or null | Craigslist posting ID parsed from the listing URL. |
url | string | Public Craigslist listing URL. |
title | string or null | Listing title. |
price | number or null | Numeric price when shown. |
currency | string or null | Detected currency, usually USD. |
category | string or null | Craigslist category code. |
cityOrSite | string or null | Craigslist city subdomain. |
neighborhood | string or null | Neighborhood or locality text when visible. |
location | string or null | Search-card or detail-page location text. |
postedAt | string or null | Posted timestamp from the detail page. |
updatedAt | string or null | Updated timestamp from the detail page. |
description | string or null | Listing body text when detail mode succeeds. |
attributes | object | Category-specific public attributes from the listing page. |
imageUrls | array | Public image URLs found on the listing. |
latitude, longitude | number or null | Public map coordinates when exposed. |
sellerContactAvailable | boolean | Whether a public reply button was detected. This is not a private contact field. |
scrapedAt | string | ISO timestamp when the row was saved. |
Pricing
| Charge event | Exact price | Charged when |
|---|---|---|
start | $0.005 | Once when the run starts. |
item | $0.000031004 at BRONZE tier | For each Craigslist listing saved to the dataset. |
At the BRONZE tier, the saved-listing charge is about $0.031004 per 1,000 saved listing rows, plus the run start fee.
Common workflows
- Local price research: Track prices for furniture, bikes, cars, tools, or rentals in a city.
- Housing scans: Search apartment category
apawith price limits and detail pages enabled. - Daily alerts: Schedule a small posted-today run for categories such as garage sales or free items.
- API export: Feed public listing rows into spreadsheets, dashboards, internal alerts, or AI agents.
Tips
- Use direct search URLs for exact searches: Paste a Craigslist URL into
startUrlswhen you already tuned filters in a browser. - Use structured inputs for repeatability:
cityOrSite,category, andqueryare easier to schedule and modify. - Open details only when needed:
includeDetailsadds richer fields but makes runs slower. - Keep limits small for alerting: Use
maxItems: 10to50for recurring monitoring.
Limits and caveats
- Public pages only: The Actor does not log in and does not bypass private contact protections.
- Reply button is not contact data:
sellerContactAvailableonly reports whether a public reply control was detected. - Some categories have sparse fields: Price, map, timestamps, image, and attribute fields depend on the listing and category.
- Craigslist can block or throttle traffic: Use modest limits and proxy settings when needed.
API usage
Run through the Apify API with the same JSON keys as the input schema:
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~craigslist-classifieds-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"cityOrSite":"sfbay","category":"sss","query":"desk","maxItems":10,"includeDetails":true}'
MCP and AI agents
For AI agents, use the official Apify MCP server. A focused single-Actor server URL is:
https://mcp.apify.com?tools=fetch_cat/craigslist-classifieds-scraper
Example agent prompt: "Run Craigslist Classifieds Scraper for SF Bay desk listings under 250 dollars, then return title, price, neighborhood, and URL."
FAQ
Can I use any Craigslist city?
Use the public Craigslist city subdomain, such as sfbay, austin, seattle, or newyork.
Does the Actor open every listing page?
Only when includeDetails is enabled. Search-only mode is faster but returns fewer detail fields.
Can I export to CSV, Excel, JSON, or API? Yes. Apify datasets can be downloaded as CSV, Excel, JSON, JSONL, XML, RSS, or accessed through the API.
Can it scrape private seller emails or phone numbers? No. It works with public page data and does not extract private contact details.
Why did I get fewer listings than requested? Craigslist may return fewer public results for the search, remove old posts, throttle a request, or hide detail fields.
Related actors
Changelog
0.1
- Initial public release with URL and structured Craigslist search inputs, optional detail extraction, pricing events, and dataset schema.
Support
Open an issue on the Actor page if a public Craigslist search URL stops parsing or an expected field is missing from output.