Craigslist Scraper: New Listings Alerts & Price Drops avatar

Craigslist Scraper: New Listings Alerts & Price Drops

Pricing

from $0.68 / 1,000 listing delivereds

Go to Apify Store
Craigslist Scraper: New Listings Alerts & Price Drops

Craigslist Scraper: New Listings Alerts & Price Drops

Scrape Craigslist listings from any city: cars, apartments, real estate, for sale, jobs, gigs and services. Paste a search link or pick cities, category, keyword and filters. Schedule it: only new listings and price drops. Error rows are free.

Pricing

from $0.68 / 1,000 listing delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Craigslist Scraper: new listings alerts and price drops

Scrape Craigslist listings from any city site, in many cities in one run, without an account, cookies or a browser. Paste a search link with your filters, or pick cities (New York, Los Angeles, San Francisco, Chicago...), a category (cars, apartments, real estate, for sale, jobs, gigs, services...), a keyword and filters. Every listing comes with title, price, posting date, city, subarea and neighborhood, approximate map coordinates, odometer for vehicles, bedrooms and square feet for housing, compensation for jobs, and every photo.

Built for alerts: schedule the same search every hour or every morning and get only the listings that are new, plus the ones whose price changed, with the previous price and the drop in dollars and percent. A run with nothing new costs nothing.

At a glance

  • Price per 1,000 listings, Free plan: US$ 0.80 (down to US$ 0.68 on Gold and above)
  • Full listing page (optional): US$ 0.533 per 1,000, on top
  • Fee per run start: None
  • Search by Craigslist link or by cities + category + keyword + filters: Yes
  • Many cities in one run: Yes, one search per city
  • Only new listings since the last run (onlyNew): Yes, free when nothing is new
  • Price tracking between runs (trackPriceChanges, onlyPriceDrops): Yes
  • Up to 10,000 listings per search: Yes
  • Advertiser name, phone or e-mail: Never (see below)
  • Error rows (bad link, unknown city, no results, timeout too short): Free, with an errorCode

One real row

From a test run on 2026-10-06 (city "San Francisco", apartments for rent, newest first, full listing pages on), shortened:

{
"type": "listing",
"id": "7979141319",
"url": "https://www.craigslist.org/view/d/san-francisco-sunlit-bernal-heights/uf5goFJDfDKpdzgtw6944s",
"title": "Sunlit Bernal Heights Cottage in Prime Location",
"price": 4800,
"priceFormatted": "$4,800",
"currency": "USD",
"category": "apa",
"categoryName": "apartments / housing for rent",
"section": "housing",
"postedAt": "2026-10-06T21:51:35Z",
"city": "sfbay",
"cityName": "SF bay area",
"region": "CA",
"subarea": "sfc",
"subareaName": "san francisco",
"locationText": "San Francisco",
"latitude": 37.74,
"longitude": -122.42,
"bedrooms": 2,
"bathrooms": 1,
"housingType": "house",
"laundry": "w/d in unit",
"parking": "attached garage",
"rentPeriod": "monthly",
"attributes": {"cats are OK - purrr": true, "dogs are OK - wooof": true},
"imageCount": 3,
"thumbnail": "https://images.craigslist.org/00z0z_cTkzfI4oaCw_0CI0pR_600x450.jpg",
"createdAt": "2026-10-06T21:06:35Z",
"isRepost": false,
"hasDetails": true
}

A car from Los Angeles in the same test came with "odometerMiles": 120306, "sellerType": "dealer", and from the listing page "year": 2021, "makeModel": "Tesla Model 3 AWD Long Range w/Boost", "condition": "excellent", "fuel": "electric", "titleStatus": "clean", "transmission": "automatic", "bodyType": "sedan".

What you can do with it

  • Car flippers and buyers: a Task per city that checks cars by owner under a price every hour and sends only new listings and price drops to Slack, e-mail or Google Sheets.
  • Renters and relocation teams: daily alerts of new apartments in New York, Los Angeles or San Francisco that match budget, bedrooms and ZIP code.
  • Resellers and collectors: watch furniture, electronics, tools or free stuff in several cities at once for a keyword.
  • Recruiters and job seekers: new jobs and gigs by city and keyword, with compensation and employment type.
  • Market research: asking prices of used cars, rents per bedroom or item prices by city and neighborhood, with coordinates for maps.
  • Datasets and AI: clean, typed rows (numbers as numbers, dates as ISO), ready for spreadsheets and models.

Input

FieldWhat it does
startUrlsCraigslist search links with your filters (every filter in the link is kept), or listing links (returned with the full listing page)
citiesCity names (New York, Los Angeles, San Francisco, Portland, OR), boroughs or subareas (Brooklyn, Manhattan) or site names (newyork, sfbay); one search each
categoryallForSale (default), cars, carsByOwner, carsByDealer, motorcycles, apartmentsForRent, realEstateForSale, rooms, allJobs, gigs, allServices, furniture, electronics, free and more
categoryCodeAny Craigslist category code from a link (cto, sof, fuo...); overrides category
queryKeyword, as in the Craigslist search box
searchTitlesOnlyMatch the keyword in titles only
minPrice, maxPricePrice range (monthly rent for rentals)
hasPic, postedTodayOnly listings with photos; only listings posted today
postalCode, searchDistanceSearch around a ZIP or postal code, radius in miles
minYear, maxYear, minMiles, maxMiles, makeModelVehicle filters
sellerTypeany (default), owner or dealer
minBedrooms, maxBedrooms, minBathrooms, minSqft, maxSqftHousing filters
sortBynewest (default), oldest, priceLowToHigh, priceHighToLow, relevance
maxItemsListings per search, default 50. 0 = up to 10,000
includeDetailsAlso read each listing page (full description, attributes, every photo), charged as a separate event
onlyNewDeliver only listings not delivered in earlier runs of the same search
trackPriceChangesAdd the price from the previous run and the change; with onlyNew, also deliver seen listings whose price changed
onlyPriceDropsWith onlyNew and trackPriceChanges: of the seen listings, only price drops
proxyConfigurationDefault Apify Proxy (datacenter)

Example: new Tesla listings under 30,000 dollars in Los Angeles and San Francisco, every hour:

{
"cities": ["Los Angeles", "San Francisco"],
"category": "cars",
"query": "tesla",
"maxPrice": 30000,
"minYear": 2019,
"maxItems": 100,
"onlyNew": true,
"trackPriceChanges": true
}

Or paste the search from your browser:

{
"startUrls": ["https://newyork.craigslist.org/search/brk/apa?min_bedrooms=2&max_price=4000"],
"maxItems": 200
}

How alerts work

The Actor remembers each search (same link, or same city, category, keyword and filters) in a named key-value store in your own account, craigslist-scraper-memory: listing id, last price, first and last time seen.

  • onlyNew: the first run delivers up to maxItems and marks the page it read as seen. Later runs read the newest listings first and stop when there is nothing new. A run with nothing new delivers nothing and costs nothing.
  • Craigslist puts renewed listings back on top. A renewed listing you already have is not delivered again (unless its price changed and you track prices). Old listings that the first run never reached are recorded as a price baseline, not delivered as "new".
  • trackPriceChanges: every row gets isNewListing, previousPrice, priceChange, priceChangePct, isPriceDrop, firstSeenAt and previousSeenAt. maxItems then counts listings checked, so the cost of a daily run stays flat.
  • Both on: you get new listings plus listings seen before whose price changed.
  • Delete the key-value store to start over.

Output

Every listing row: id (Craigslist posting id), uuid, url, title, price, priceFormatted, currency, category (Craigslist code), categoryName, section (for sale, housing, jobs, gigs, services, community, events), sellerType (owner or dealer in for-sale categories), postedAt (posted or renewed, UTC), city (site name), cityName, region, country, subarea, subareaName, neighborhood, locationText (the place the advertiser typed), latitude, longitude, odometerMiles, bedrooms, sqft, salary, company, jobTitle, monthlyPayment, images (1200x900), imageCount, thumbnail, position, searchUrl, scrapedAt.

With price tracking: isNewListing, previousPrice, priceChange, priceChangePct, isPriceDrop, firstSeenAt, previousSeenAt.

With full listing pages (hasDetails: true): description, attributes (every attribute Craigslist shows, as label and value), year, makeModel, condition, transmission, fuel, titleStatus, bodyType, drive, paintColor, cylinders, bathrooms, housingType, laundry, parking, rentPeriod, employmentType, compensation, createdAt (first posted), updatedAt, isRepost, and every photo. If a listing page cannot be read, the row still comes with hasDetails: false and detailsError, and only the listing is charged.

No advertiser contact data, by design. Most Craigslist advertisers are private people. The Actor never returns a name, phone number or e-mail, never returns the street address a listing may carry, and replaces phone numbers and e-mail addresses inside titles, place names and descriptions with [contact removed]. Coordinates are rounded to 2 decimals (about 1 km). Use the listing url to reply through Craigslist.

Error codes (never charged)

errorCodeMeaning
INVALID_INPUTA value the Actor does not understand (minimum above maximum, unknown category, a link that is not a Craigslist search or listing, a search Craigslist rejects)
NOT_FOUNDNo Craigslist site for this city name (the row lists the closest names), or the listing was deleted
NO_RESULTSNo listing for this search and filters in this city
BLOCKEDCraigslist refused every attempt on new IPs; run again
TIMEOUT_TOO_SHORTThe run timeout was too short for even the first page; raise it
NOT_REACHEDThe run timeout arrived before this search or listing
UNEXPECTEDA page came in a shape we did not expect; the rest of the run goes on

Pricing

EventPer 1,000
Listing deliveredUS$ 0.80
Full listing page (only with includeDetails or listing links)US$ 0.533

An hourly onlyNew alert on a busy search that finds 5 new cars per hour costs about US$ 0.10 a day. Error rows, duplicates, listings already seen, listings with an unchanged price and listings from nearby areas are free, and there is no start fee.

Limitations

  • When a city has few listings for a search, Craigslist fills the page with listings from nearby areas. Those are left out (they belong to other city sites); add those cities to cities if you want them.
  • Craigslist lists at most 10,000 listings per search. For more, split by subarea, price range or keyword.
  • postedAt is the date Craigslist shows, which moves when a listing is renewed; createdAt (listing page) is the first posting date.
  • Descriptions and attributes are as the advertiser wrote them.
  • This Actor reads public pages only.

FAQ

Do I need a Craigslist account? No. No login, no cookies, and the default datacenter proxy works.

How do I write a city? As you would say it: New York, Los Angeles, San Francisco, Washington DC, St. Louis, Portland, OR, Toronto, London. Capitals and extra spaces do not matter, and a borough or subarea such as Brooklyn searches only that part. The site name from the address bar (sfbay, newyork) also works.

Can I paste a search from my browser? Yes. Keyword, price, year, odometer, bedrooms, ZIP and every other filter in the link are kept.

How do I get an alert only when a price drops? Turn on onlyNew, trackPriceChanges and onlyPriceDrops, schedule the Task and send the dataset to your integration.

Can I use it from n8n, Make, Zapier or an AI agent? Yes, through the Apify app or the Apify MCP server. Error rows are free, so an agent can explore cheaply.

What if a run is cut by its timeout? The Actor stops shortly before the limit and ends successfully with what it delivered, telling you in the status message how to get the rest. If the timeout is too short for even one page, you get a free TIMEOUT_TOO_SHORT row instead of an empty run.

Changelog

  • 0.1 (2026-10-07): first version. Search by Craigslist link or by cities with category, keyword, price, vehicle, housing, seller, photo, posted-today and ZIP filters; many cities per run; up to 10,000 listings per search; optional full listing pages; onlyNew and price tracking between runs for scheduled alerts; free error rows.