Craigslist Cars and Trucks Scraper
Pricing
from $2.00 / 1,000 new listings
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
15 hours ago
Last modified
Categories
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?
- Click Save & Start. The optional URL field is already filled in, so this works before you change anything.
- Swap in your own city. Search on Craigslist as usual, copy the address bar url, paste it over the example.
- Narrow it down. Set price, mileage, year, keyword or seller type. Leave the rest alone.
- 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 paste | what you get |
|---|---|
a plain city page, e.g. craigslist.org/search/area/sfbay?cat=cta | that city exactly |
| the same page after you set a ZIP and distance | that 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 city | here | if 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 filterscharged: 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.
| setup | what it pulls |
|---|---|
| Cars and trucks for sale by owner | private sellers only, Los Angeles |
| Cars and trucks under $10,000 | the affordable end, San Francisco Bay Area |
| New car listing alerts | only the last hour, New York |
| Trucks for sale | pickups, Dallas |
| Low-mileage used cars | 2018 or newer, under 80,000 miles, Chicago |
| Cheap cars under $5,000 | the budget end, Atlanta |
| Toyota cars for sale | one brand, San Francisco Bay Area |
| Honda cars for sale | one brand, Seattle |
| Cars for sale in Houston | one city, nothing from next door |
| Cars for sale in Phoenix | one city, nothing from next door |
Is it legal to scrape Craigslist?
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.