Craigslist Scraper - Listings, Prices, Photos, GPS avatar

Craigslist Scraper - Listings, Prices, Photos, GPS

Pricing

Pay per event

Go to Apify Store
Craigslist Scraper - Listings, Prices, Photos, GPS

Craigslist Scraper - Listings, Prices, Photos, GPS

Scrape Craigslist listings in any city: title, price, date, neighborhood, GPS, photos, optional description, emails and phones. Filters: keyword, price range, condition, photo, posted today; sort by date or price. Beyond the 360-result limit. $1 per 1,000 listings, no start fee.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Khandji Omar

Khandji Omar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Craigslist Scraper — Listings, Prices, Photos, GPS

Scrape Craigslist listings from any city, category and search link: title, price, date, area and neighborhood, GPS coordinates, photos and link — and optionally the full description and attributes (bedrooms, condition, odometer, make…). Works beyond Craigslist's 360-result limit. No login. $1 per 1,000 listings, no start fee.

Free tier — 20 results free on every run

The first 20 results of every run are free, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.

What does this Craigslist scraper do?

Paste the Craigslist search links you already use (with your filters: price, bedrooms, keywords, "has image"…), or just pick cities + a category + keywords. The scraper reads Craigslist's own search API, so it is fast and returns every listing of the search, newest first. Big searches (more than 360 results) are split automatically into price bands and merged without duplicates.

Compared with solidcode/craigslist-scraper

Read on the Store on 2026-10-23 (Craigslist Scraper). Where it does better, this section says so.

  • Built on the site's own data, not a resold scraper: no second Actor between you and the source.
  • Free results on every run and a hard cost cap (maxTotalChargeUsd).
  • Price: $1 per 1,000 here, $1.8 there.

Why use it

  1. Every result, not just the first page. Searches with thousands of listings are covered.
  2. GPS + neighborhood on every listing — map housing, cars or deals instantly.
  3. Photos as direct image links.
  4. Details option: description, all attributes and the map address.
  5. Any city in the world (US, Canada, Europe, Asia…) and any category: housing, cars, jobs, for sale, services, gigs.
  6. Cheaper than the market leaders and no start fee.

How to use it in 3 steps

  1. Click Try for free — a search link is prefilled.
  2. Paste your Craigslist search links, or choose cities, a category and keywords.
  3. Click Start and download JSON, CSV or Excel.

Input

FieldWhat it does
searchUrlsCraigslist search links with your filters (up to 50).
citiesOr Craigslist city hostnames: newyork, losangeles, sfbay, chicago, london, paris, toronto…
categoryWith cities: for sale, apartments, housing, rooms, cars & trucks, jobs, gigs, services, furniture, electronics, bicycles, free stuff.
keywordsWith cities: one search per city and keyword.
priceMin / priceMaxPrice range.
conditionnew, like-new, excellent, good, fair or salvage (for sale only).
hasImageOnly postings with a photo.
postedTodayOnly postings from the last 24 hours.
sortdate (default), rel, priceasc or pricedsc.
maxItemsPerSearchNewest first, 1 to 10,000. Default 100.
postedAfterOptional YYYY-MM-DD.
includeDetailsDescription, attributes and address (one extra page per listing). Also adds condition, emails and phoneNumbers found in the text.
maxTotalChargeUsdOptional hard cost cap for the run.
{
"searchUrls": ["https://newyork.craigslist.org/search/brk/apa?max_price=3000&min_bedrooms=2"],
"maxItemsPerSearch": 500,
"includeDetails": true
}

Output

Real example with details (description and photos trimmed):

{
"postingId": 7976179122,
"title": "Giant Contend Road Bike",
"price": 500,
"priceText": "$500",
"url": "https://www.craigslist.org/view/d/brentwood-giant-contend-road-bike/1PB6ceiMSvGMPzgDqEj1hz",
"postedAt": "2026-10-01T17:13:32Z",
"category": "bia",
"area": "sfbay",
"subarea": "eby",
"latitude": 37.9324,
"longitude": -121.6894,
"imageUrls": ["https://images.craigslist.org/00m0m_2mu5FwFEw2_0t20CI_600x450.jpg"],
"imageCount": 6,
"description": "Like new Giant Contend Road Bike. Hardly ridden.…",
"attributes": [
"bicycle type: road",
"frame size: Medium",
"condition: like new",
"make / manufacturer: Giant",
"model name / number: Contend"
],
"updatedAt": "2026-10-01T10:09:32-0700",
"searchTotal": 214,
"status": "ok"
}

Housing listings also carry bedrooms and neighborhood.

How much does it cost?

EventPrice
Listing (search data)$0.001 ($1 per 1,000)
Listing with description and attributes$0.0015
Start feenone

Up to 20 listings of every run are free (at most half of the run). A listing that was deleted before its details could be read is charged as a plain listing. Paid Apify plans get lower tier prices.

Use cases

  • Real estate — rents by neighborhood, new rentals every morning.
  • Car dealers and flippers — new cars under a price, with odometer and condition.
  • Resellers — underpriced items and free stuff, mapped with GPS.
  • Lead generation — services and gigs posted in your area.
  • Market research — price distributions by city and category.

Use it from code (API)

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("om_kh/craigslist-scraper").call(run_input={
"cities": ["losangeles", "sandiego"],
"category": "cta",
"keywords": ["tesla"],
"maxItemsPerSearch": 1000,
})
for car in client.dataset(run["defaultDatasetId"]).iterate_items():
print(car["postedAt"], car["price"], car["title"], car["url"])
curl -X POST "https://api.apify.com/v2/acts/om_kh~craigslist-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchUrls": ["https://sfbay.craigslist.org/search/sss?query=bike"], "maxItemsPerSearch": 50}'

Integrations and MCP

Schedule it every hour with postedAfter and send new listings to Slack, Telegram, Google Sheets or a CRM with n8n, Make or Zapier. AI agents can call it through https://mcp.apify.com as om_kh/craigslist-scraper.

Tips and limits

  • Craigslist hides posters' emails behind a relay; contact details are not provided.
  • Craigslist may add a few listings from nearby areas, exactly as on its website.
  • For very large cities and categories, add filters (price, keywords) to keep runs short.

FAQ

Do I need a Craigslist account? No.

Is it legal? It reads public listings. Use the data in line with the laws and terms that apply to you.

Your feedback

Did this Actor save you time? A short review on the Reviews tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the Issues tab: it is answered and fixed fast.