Craigslist Cars and Trucks Scraper avatar

Craigslist Cars and Trucks Scraper

Pricing

from $2.00 / 1,000 new listings

Go to Apify Store
Craigslist Cars and Trucks Scraper

Craigslist Cars and Trucks Scraper

Scrapes Craigslist cars and trucks from any city - by owner, by dealer, or both. Returns only what was posted since your last check, so you can run it on a schedule instead of re-downloading the whole market. Price, mileage, photo and link, ready as JSON or CSV.

Pricing

from $2.00 / 1,000 new listings

Rating

0.0

(0)

Developer

Digital User

Digital User

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

15 hours ago

Last modified

Share

Scrape used cars and trucks posted on Craigslist in about two seconds — for sale by owner, by dealer, or both. Catch a vehicle while the listing is still fresh, not hours later.


What is Craigslist Cars and Trucks Scraper?

This tool is designed to extract used car and truck listings from Craigslist. Use it to catch vehicles minutes after they post, track prices, and watch a market instead of downloading it — cars, trucks, SUVs and vans, for sale by owner or by dealer.

With Craigslist Cars and Trucks Scraper, you can:

⚡ Scrape a full page of listings in about two seconds

⏱️ Get only what was posted in the last N minutes — the age filter

🏙️ Search one city exactly, or a ZIP code and radius across many

👤 Filter by seller: for sale by owner, by dealer, or both

🎯 Narrow by price, mileage, model year, keyword, clean title

🔗 Get a permanent link and photo for every listing

🔓 Run it with no login and no proxy — nothing to configure

📄 Export as JSON, JSONL, CSV, XML, HTML table, or Excel

🔌 Send results to Make, Zapier, Google Sheets, Slack, or a webhook

🕒 Put it on a schedule and let it watch the market for you


What Craigslist car data can I extract?

🚗 Title, year, make and model💵 Asking price, as a number
🛣️ Odometer reading📍 Neighbourhood and city
🖼️ Photo🔗 Permanent listing link
🕒 Exact posting time⏱️ Age in minutes when you pulled it
🆔 Posting id, stable for de-duplication

How do I scrape Craigslist cars and trucks?

  1. Click Save & Start. The optional URL field is already filled in, so this works before you change anything.
  2. Swap in your own city. Search on Craigslist as usual, copy the address bar url, paste it over the example.
  3. Narrow it down. Set price, mileage, year, keyword or seller type. Leave the rest alone.
  4. Only want what is new? Set the age filter to 15 minutes. Every run then brings just the fresh listings.

Which URL you paste decides how wide the search goes:

the URL you pastewhat you get
a plain city page, e.g. craigslist.org/search/area/sfbay?cat=ctathat city exactly
the same page after you set a ZIP and distancethat range, neighbouring cities included

Does Craigslist have an API?

No public one. There is no Craigslist API key to request and no official Craigslist API documentation. That is why people look for a Craigslist scraper.

This Actor is the practical answer: one endpoint, clean JSON, nothing for you to maintain.


Input

{
"startUrl": "https://www.craigslist.org/search/area/sfbay?cat=cta",
"newerThanMinutes": 15,
"minPrice": 5000,
"maxPrice": 25000,
"maxMiles": 120000,
"minYear": 2015,
"purveyor": "owner",
"cleanTitleOnly": true,
"maxItems": 25
}

Output sample

{
"id": 7972408404,
"title": "2020 Toyota Prius L eco LOW MILES",
"price": 21500,
"miles": 44800,
"city": "belmont, sfbay",
"url": "https://www.craigslist.org/view/d/belmont-2020-toyota-prius-eco-low-miles/jkfU797Jj1wGhpzSDDMJkg",
"image": "https://images.craigslist.org/00G0G_h5PsYXKiMLJ_0t20CI_300x300.jpg",
"postedAt": "2026-09-24T23:29:46.000Z",
"ageMinutes": 785
}

Price and mileage are numbers, not strings. Links are permanent. Timestamps are real.


Why scrape Craigslist cars and trucks?

🔧 Flipping and dealing — spot a mispriced car while it is still for sale

🔎 Hunting one model — keyword, year range, mileage cap, checked every 15 minutes

📊 Price tracking — a steady feed of what is listed, where, and for how much

🔔 Alerts — push new listings to Slack, email or your own app. You can ask for help via email.

🗂️ Building inventory — used car data from as many cities as you want to watch, anywhere Craigslist runs


How fast is this Craigslist scraper?

About two seconds per run. No browser to boot, nothing to warm up, no pages crawled one after another.


How much does scraping Craigslist cost?

$2.00 per 1,000 listings, plus $0.01 per check.

You pay for the check, then only for what the check found. That is what makes a tight schedule affordable — the usual way to price a scraper bills every row of every run, so you pay again for the same listings each time.

watching one cityhereif every row were billed each run
once an hour~$12 / month~$1,000 / month
every 15 minutes~$33 / month~$4,100 / month
once a day~$5 / month~$43 / month, data up to 24h old

About $33 a month for listings minutes old, against about $43 for a once-a-day snapshot. Less money, fresher data.

A quiet market costs almost nothing. Nothing new, nothing to pay for — this is a real run on a real city:

360 listings fetched, 0 passed the filters
charged: 1 check ($0.01), 0 listings ($0.00) -> $0.01 for that run

Maximum results caps the rest. Listings come back newest first, so setting it to 25 means "the 25 freshest and no more". One search matched 50 cars; capped at 25 it cost $0.06 instead of $0.11.

Apify also lets you set a hard spending cap on any run or schedule. Use it.


Integrations

Results land in a standard Apify dataset, so they go wherever you already work — Make, Zapier, Google Sheets, Slack, or any webhook.

Fire a webhook on run completion and a fresh listing can reach your phone before the seller has answered anyone.


Using this Craigslist scraper with the Apify API

curl -X POST "https://api.apify.com/v2/acts/digital_user~craigslist-cars-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"startUrl": "https://www.craigslist.org/search/area/sfbay?cat=cta",
"newerThanMinutes": 15
}'

Official clients exist for JavaScript and Python. The Apify CLI works too.


Ready-made setups

Each of these is this scraper already configured for one job. Open one, press Save & Start, and change the city afterwards if you want a different market.

setupwhat it pulls
Cars and trucks for sale by ownerprivate sellers only, Los Angeles
Cars and trucks under $10,000the affordable end, San Francisco Bay Area
New car listing alertsonly the last hour, New York
Trucks for salepickups, Dallas
Low-mileage used cars2018 or newer, under 80,000 miles, Chicago
Cheap cars under $5,000the budget end, Atlanta
Toyota cars for saleone brand, San Francisco Bay Area
Honda cars for saleone brand, Seattle
Cars for sale in Houstonone city, nothing from next door
Cars for sale in Phoenixone city, nothing from next door

Web scraping is legal when you are collecting publicly available data, and a Craigslist listing is public by design — it is posted so that people can read it. What you should respect are the boundaries around it: personal data and intellectual property.

This scraper stays well inside both. It returns only what the listing shows on its own card — title, price, mileage, location, photo and a link — and no personal data at all: no seller names, no phone numbers, no email addresses. Descriptions and photos are never republished; every row points back to the original post on Craigslist.

If your own plans go further than that, check the rules that apply where you are before you start.


Craigslist Cars and Trucks Scraper not working?

I keep improving this scraper. If something breaks, a city misbehaves, or you want a field it does not return yet, create an issue on the Actor's Issues tab.

You can also write to goto.nature.mood@gmail.com. I read everything.