Craigslist Scraper avatar

Craigslist Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Craigslist Scraper

Craigslist Scraper

Scrape Craigslist listings from any city and category: housing, cars, for sale, jobs and services. Get price, location, coordinates, posting dates, description, attributes, bedrooms and photos for each listing. Paste any Craigslist search URL with your filters.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Anyx Solutions

Anyx Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Security

Limited permissions

Share

banner

Craigslist Scraper

Craigslist listings from any city and category — price, location, map coordinates, dates, full description, attributes and photos — as clean JSON.

Scrape Craigslist listings from any city and category: housing, cars, for sale, jobs and services. Get price, location, coordinates, posting dates, description, attributes, bedrooms and photos for each listing. Paste any Craigslist search URL with your filters: the Actor keeps your search words, price range, bedroom count, make and model, or any other filter you set on the site, and returns every matching listing. Apartments come with bedrooms, bathrooms, square footage and availability; cars with year, make and model, odometer, title status and transmission; jobs with compensation and employment type. There is no login and no API key. Built for rental market research, car dealers and resellers, price monitoring, lead generation and local-market analysts.

⚡ Quick start

{
"startUrls": [{ "url": "https://sfbay.craigslist.org/search/apa" }],
"maxItems": 5
}

🧩 Input

FieldTypeRequiredDefaultDescription
startUrlsarrayyes—Craigslist search pages for any city and category, such as https://sfbay.craigslist.org/search/apa or https://newyork.craigslist.org/search/sss?query=bike. Search words and filters are kept. Single listing pages work too.
includeDetailsbooleannotrueOpen every listing for its description, attributes, posting dates, street address, housing details and all photos. Turn it off for a faster run with the search-page fields only.
maxItemsintegerno—Maximum number of listings per search URL. The input form starts at 5; a search page shows up to about 360 listings, so leave it empty to get them all.
proxyConfigurationobjectno{ "useApifyProxy": false }Proxy settings. Craigslist works without a proxy for most runs; switch to a residential proxy if requests get blocked.

Search URLs. Open Craigslist, pick the city and category, type your search and set the filters, then copy the address bar. Every city site works (sfbay, newyork, toronto, london...), as does the www.craigslist.org/search/area/<city>?cat=<category> form Craigslist redirects to. Include listing details is on by default; with it off, each row has the fields a search page shows (title, price, neighbourhood, and coordinates, bedrooms and photos where Craigslist lists them). Maximum listings per search applies to each search URL separately. Leave the Proxy configuration off unless runs start failing.

📤 Output

Each listing is one dataset row, in the order the search shows them. Fields the listing does not have are null (or empty), so every row has the same shape.

Fields

FieldTypeDescription
idstringThe listing's id, as in its URL.
postIdstringCraigslist's numeric post id, shown on the listing page. null with details off.
urlstringThe listing on Craigslist.
titlestringListing title.
pricenumberPrice as a number; null when none is given (most jobs and services).
currencystringCurrency of the price, e.g. USD, CAD, GBP.
locationstringThe neighbourhood or place the poster gave, e.g. san jose west.
addressstringStreet address, when the poster published one.
sitestringThe Craigslist city site, as in its URL: sfbay, newyork.
siteNamestringThe city site's name: SF bay area.
subareastringThe sub-area the listing is filed under, e.g. south bay.
categorystringCategory code, e.g. apa, cto, sss.
categoryNamestringCategory name, e.g. apartments / housing for rent.
latitudenumberMap latitude of the listing.
longitudenumberMap longitude of the listing.
postedAtstringWhen the listing was posted (ISO 8601, UTC).
updatedAtstringWhen the listing was last edited (ISO 8601, UTC); null if never.
descriptionstringThe listing text as plain text, line breaks kept.
descriptionHtmlstringThe listing text as HTML.
attributesobjectThe listing's attribute table as key/value pairs: condition, odometer, laundry, parking, compensation, employment_type...
housingobjectFor housing: bedrooms, bathrooms, sqft and available. null for other listings.
imagesarrayPhoto URLs, in gallery order.
searchUrlstringThe search URL the listing was found on; null for a listing URL given directly.

💡 Use cases

  • Rental market research — track asking rents by neighbourhood, bedroom count and square footage, with coordinates for mapping.
  • Used-car sourcing and pricing — pull every listing for a make and model with year, odometer, title status and price.
  • Price monitoring — schedule a search and compare runs to see new listings, price drops and listings that come down.
  • Lead generation — find local businesses advertising services, or landlords and dealers posting at volume.
  • Local job-market data — collect job posts with compensation and employment type by city.

❓ FAQ

  • Which cities and categories work? All of them: every Craigslist city site, and every category from housing and cars to for sale, jobs, services and gigs.
  • Do I need an account or an API key? No. The Actor reads the same public pages anyone can open.
  • How many listings can I get per search? A Craigslist search page shows up to about 360 listings. For more, split the search: by price range, by sub-area (for example sfc, sby), or by search words, and add each as its own URL.
  • Why is a field null? Craigslist only shows what the poster filled in. Jobs and services rarely have a price, many listings have no street address, and updatedAt is null until a listing is edited.
  • Is there contact information? No. Craigslist hides phone numbers and email addresses behind a reply form, and the Actor does not collect them.
  • What does turning off listing details change? The run is much faster (one request per search instead of one per listing), but rows only carry the search-page fields: title, price, neighbourhood, and coordinates, bedrooms and photos where the search page lists them.
  • Do I need a proxy? Usually not. Craigslist can block busy shared IP ranges; if a run starts failing, set the proxy to Apify's residential group with a US country.

🔗 More scrapers by Anyx

🤝 Anyx Solutions

We build custom scrapers and data-extraction pipelines.

🖼 Image credit

Image credit: craigslist.org