Craigslist Scraper — Listings, Jobs, Housing & For Sale avatar

Craigslist Scraper — Listings, Jobs, Housing & For Sale

Pricing

Pay per usage

Go to Apify Store
Craigslist Scraper — Listings, Jobs, Housing & For Sale

Craigslist Scraper — Listings, Jobs, Housing & For Sale

Extract Craigslist listings across 30+ categories including apartments, jobs, cars, services, and items for sale. Scrape titles, prices, descriptions, images, locations, and contact info. Filter by city, category, price range, and keywords. All US cities supported.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Categories

Share

Craigslist Listings Scraper

Scrape any Craigslist listing category across all US cities. Extract housing, jobs, items for sale, services, gigs, and more with full detail page data including descriptions, images, and listing attributes.

Features

  • 30+ categories — apartments, jobs, cars, electronics, furniture, gigs, services, and more
  • All Craigslist cities — any valid subdomain (newyork, sfbay, losangeles, chicago, etc.)
  • Full detail extraction — descriptions, image URLs, attributes (bedrooms, sqft, etc.), map coordinates
  • Smart pagination — automatically follows Craigslist's 120-per-page pagination
  • Price filtering — set min/max price ranges directly in the search
  • Keyword search — filter listings by search terms
  • Rate limit handling — respectful crawling with configurable concurrency
  • CAPTCHA detection — detects blocks and stops gracefully with a warning
  • Proxy support — optional Apify proxy configuration for large-scale scrapes
  • Pay-per-event — charged per listing scraped

Use Cases

Real Estate Analysis

Scrape apartment listings across multiple cities to compare rental prices, track market trends, and identify undervalued neighborhoods.

Job Market Research

Monitor software engineering, design, or other job postings to analyze salary ranges, required skills, and hiring trends by city.

Price Monitoring

Track prices for specific items (electronics, furniture, vehicles) to find deals or understand market value.

Academic Research

Collect structured data on housing markets, labor economics, or consumer behavior for research projects.

Inventory Sourcing

Find items for resale by scanning for sale listings filtered by category and price range.

Input

FieldTypeDefaultDescription
cityStringnewyorkCraigslist city subdomain (e.g., sfbay, losangeles, chicago)
categoryStringsssListing category code (see table below)
queryString(empty)Optional keyword search
maxListingsInteger100Maximum listings to scrape (0 = unlimited)
minPriceInteger0Minimum price filter (0 = no minimum)
maxPriceInteger0Maximum price filter (0 = no maximum)
scrapeDetailsBooleantrueVisit detail pages for full descriptions and images
maxConcurrencyInteger3Parallel requests (lower = safer from blocks)
proxyConfigurationObject(none)Apify proxy settings

Category Codes

CodeCategoryCodeCategory
sssAll For SaleapaApartments
reaReal EstatesubSublets
sofSoftware JobsengEngineering Jobs
webWeb Design JobsctoCars (Owner)
ctaCars (Dealer)eleElectronics
fuaFurnituregggGigs
bbbServicescomCommunity

Full list: see the actor's input schema for all 30 categories.

Common City Codes

CityCodeCityCode
New YorknewyorkSan Francisco Baysfbay
Los AngeleslosangelesChicagochicago
SeattleseattleBostonboston
DenverdenverAustinaustin
MiamimiamiPortlandportland
Washington DCwashingtondcPhiladelphiaphiladelphia
HoustonhoustonDallasdallas
AtlantaatlantaMinneapolisminneapolis

Full list: https://www.craigslist.org/about/sites

Input Examples

Apartments in San Francisco under $3,000

{
"city": "sfbay",
"category": "apa",
"maxListings": 200,
"maxPrice": 3000,
"scrapeDetails": true
}

Software jobs in New York mentioning "Python"

{
"city": "newyork",
"category": "sof",
"query": "python",
"maxListings": 50
}

Used electronics under $100 in Chicago

{
"city": "chicago",
"category": "ele",
"maxPrice": 100,
"maxListings": 100
}

Cars for sale by owner in Los Angeles, $5K-$15K

{
"city": "losangeles",
"category": "cto",
"minPrice": 5000,
"maxPrice": 15000,
"maxListings": 300,
"maxConcurrency": 2
}

Output

Each listing is saved to the default dataset with the following fields:

{
"title": "Spacious 2BR apartment in downtown",
"price": 2400,
"priceRaw": "$2,400",
"location": "Financial District",
"datePosted": "2026-02-28T10:30:00.000Z",
"url": "https://newyork.craigslist.org/mnh/apa/d/spacious-2br-apartment/1234567890.html",
"category": "Apartments",
"cityCode": "newyork",
"description": "Beautiful 2-bedroom apartment with hardwood floors, updated kitchen, in-unit laundry...",
"images": [
"https://images.craigslist.org/00a0a_abc123_600x450.jpg",
"https://images.craigslist.org/00b0b_def456_600x450.jpg"
],
"attributes": {
"bedrooms": 2,
"bathrooms": 1,
"sqft": 950,
"housing_type": "apartment",
"laundry": "w/d in unit",
"parking": "street parking",
"cats_are_ok": true,
"dogs_are_ok": true
},
"latitude": 40.7128,
"longitude": -74.006,
"postingId": "1234567890",
"scrapedAt": "2026-02-28T12:00:00.000Z"
}

When scrapeDetails is disabled, description, images, attributes, latitude, longitude, and postingId will be null/empty.

Performance Tips

  1. Start small — test with maxListings: 10 to verify the scraper works for your city/category before scaling up.
  2. Use proxies for large scrapes — Craigslist will block IPs after too many requests. Apify residential proxies work best.
  3. Lower concurrencymaxConcurrency: 2 is safest. Increase only if using proxies.
  4. Disable details for speed — set scrapeDetails: false for 5-10x faster scraping when you only need titles, prices, and URLs.
  5. Use price filters — narrow your search on Craigslist's side to reduce the number of pages to scrape.

Rate Limiting and Blocks

Craigslist aggressively rate-limits scrapers. This actor handles it by:

  • Limiting requests to 30/minute by default
  • Detecting CAPTCHA pages and stopping gracefully
  • Supporting proxy rotation via Apify's proxy infrastructure
  • Retrying failed requests up to 3 times

If you see "CAPTCHA or IP block detected" in the logs, the scraper will save all data collected so far and exit cleanly. Use Apify residential proxies to avoid this.

Pricing (Pay Per Event)

This actor uses Apify's pay-per-event model. You are charged for each listing successfully scraped and saved to the dataset.

This actor is provided as a technical tool. Users are responsible for ensuring their use of this actor complies with Craigslist's Terms of Use and all applicable laws. The actor is designed for personal research and analysis purposes.