Used Car Search: Autotrader, CarGurus, Craigslist & Facebook avatar

Used Car Search: Autotrader, CarGurus, Craigslist & Facebook

Pricing

from $2.00 / 1,000 car listings

Go to Apify Store
Used Car Search: Autotrader, CarGurus, Craigslist & Facebook

Used Car Search: Autotrader, CarGurus, Craigslist & Facebook

Search 10 used-car sites at once: Autotrader, CarGurus, Craigslist, Facebook Marketplace, CarMax, Carvana, OfferUp, Autolist, Bring a Trailer and ClassicCars.com. Filter by make, model, ZIP, price, year and miles. VIN-merged, fair-price check, new listing alerts.

Pricing

from $2.00 / 1,000 car listings

Rating

0.0

(0)

Developer

Quillstone Labs

Quillstone Labs

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Categories

Share

Used Car Search

Search ten used-car sites at once: Autotrader, CarGurus, Craigslist, Facebook Marketplace, CarMax, Carvana, OfferUp, Autolist, Bring a Trailer and ClassicCars.com. Enter a make, model and ZIP code, and you get one list of every matching car nearby, from dealers and private sellers. Each car appears once even when several sites list it, with every site's price side by side, and a price check saying whether it's a good deal.

You don't need an account, an API key or a login on any of the sites. A search takes about 10 seconds.

What you get

Ten sites in one searchAutotrader, CarGurus, Craigslist, Facebook Marketplace, CarMax, Carvana, OfferUp and Autolist, plus Bring a Trailer auctions and ClassicCars.com for older and collector cars
Duplicates mergedThe same car on three sites is one row, matched by VIN, with each site's price and link, so you see who's asking least
Price checkEach car compared with Kelley Blue Book's fair price (when known) or with similar cars in your search: well below typical, about typical, above typical
Scam and bait flagsPrices far under typical are flagged, and ads where the "price" is really a down payment are called out
Dealers and private sellersFilter to either, or get both
Plain answersA short summary per car, like 2018 Ford F150 Platinum, 61,229 miles: $32,900 at BBC Motorsports in Dallas, TX (2 mi away). Same VIN also listed on CarGurus, Autolist ($33,125). $3,270 below Kelley Blue Book's fair price of $36,170.
Full detailsYear, make, model, trim, price, miles, VIN, distance, dealer, city, color, drivetrain, fuel, days listed, photo
Excel reportA Cars sheet with prices, price checks and links, and a Sites sheet showing what each site returned
Site statusIf a site is down or blocking, the others still run and the summary says which one was skipped
New listing and price drop alertsTurn on Only new cars and price drops and schedule it: each run returns only cars that are new since the last run, or cheaper than last time

Example inputs

Camrys under $20,000 within 50 miles of San Francisco:

{ "make": "Toyota", "model": "Camry", "zipCode": "94103", "maxPrice": 20000 }

The best-priced F-150s from 2018 on near Dallas, private sellers only:

{ "make": "Ford", "model": "F-150", "zipCode": "75201", "minYear": 2018, "sellerType": "private", "sortBy": "deal" }

Every Honda under 60,000 miles you can go and see within 25 miles, without delivery-only cars:

{ "make": "Honda", "zipCode": "60601", "radiusMiles": 25, "maxMileage": 60000, "includeDelivery": false }

A daily alert for new Civics under $15,000 near Chicago, and for price drops (schedule it daily, and connect email, Slack or a webhook in the task's Integrations tab):

{ "make": "Honda", "model": "Civic", "zipCode": "60601", "maxPrice": 15000, "onlyNewAndPriceDrops": true, "watchName": "civic-under-15k" }

Who uses it

  • Car buyers who want every listing in one place instead of checking ten sites.
  • Dealers and flippers looking for cars priced under market, and watching what competitors ask.
  • Researchers and analysts tracking used-car prices by model and region.
  • Automated tools and assistants asked "find me a used RAV4 under $25k near 30301", which need one clean answer instead of ten websites.

How to use it

  1. On the Input tab, enter the Make, Model and ZIP code. Leave the model empty to see every model of a make.
  2. Set the distance and any filters: years, price, miles, dealer or private seller.
  3. Click Start.
  4. Open the Output tab. Cars lists every car with its price check. Excel report downloads it all as a spreadsheet.

Tip: sort by Best deal to see the cheapest cars for what they are first.

Getting alerts for new listings and price drops

  1. Set up your search, then turn on Only new cars and price drops and give it a Watch name, like civic-under-15k.
  2. Click Save as a new task, and on the task's Schedule tab run it daily (or hourly).
  3. The first run returns every matching car and remembers them. Each later run returns only cars that weren't there before, marked "watchStatus": "new", and cars whose price went down, marked "price-drop" with previousPrice and priceDrop.
  4. To be told, add an integration to the task: email, Slack, Google Sheets, Zapier, Make, n8n or a webhook. A run with nothing new returns no cars and costs almost nothing.

The narrower the search, the more reliable the alerts. When a site has more matches than a run reads (Most cars per site), the run log and the summary say so; narrow the search with a price, year or mileage limit, or raise that number.

Getting your results into Excel or Google Sheets

  • Excel report: every run saves cars-report.xlsx, linked as Excel report on the Output tab. It opens in Excel, Google Sheets, LibreOffice and Numbers.
  • Other formats: the Export button on the Output tab downloads the results as CSV, JSON, XML or HTML.
  • Google Sheets automatically: add Apify's Google Sheets integration to a saved task and every run lands in a sheet.

Using it from your own code

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('quillstone-labs/used-car-search').call({
make: 'Toyota',
model: 'Camry',
zipCode: '94103',
maxPrice: 20000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].explanation);

Or in one request, which waits for the run and returns the cars:

curl -X POST "https://api.apify.com/v2/acts/quillstone-labs~used-car-search/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"make": "Toyota", "model": "Camry", "zipCode": "94103", "maxPrice": 20000}'

Use it from an AI assistant

Claude, Cursor, VS Code and other assistants that support MCP can run this Actor for you. Add this server to your assistant's MCP settings:

https://mcp.apify.com?tools=quillstone-labs/used-car-search

The first time it connects, a browser window opens so you can sign in to Apify. Then just ask, for example "Find me a used Toyota Camry under $20,000 near 94103 and tell me which ones are good deals." Each car comes with a plain-English explanation the assistant can pass straight on, and every output field is described, so it knows what each one means. To set up several Actors at once, use Apify's MCP configurator.

What a result looks like

{
"explanation": "2018 Ford F150 Platinum, 61,229 miles: $32,900 at BBC Motorsports in Dallas, TX (2 mi away). Same VIN also listed on CarGurus, Autolist ($33,125). $3,270 below Kelley Blue Book's fair price of $36,170.",
"title": "Used 2018 Ford F150 Platinum w/ Equipment Group 701A Luxury",
"year": 2018,
"make": "Ford",
"model": "F150",
"trim": "Platinum",
"price": 32900,
"priceRating": "below typical",
"typicalPrice": 36170,
"typicalPriceSource": "Kelley Blue Book fair purchase price",
"priceVsTypical": -3270,
"priceVsTypicalPercent": -9,
"mileage": 61229,
"distanceMiles": 2.45,
"sellerType": "dealer",
"sellerName": "BBC Motorsports",
"city": "Dallas",
"state": "TX",
"zip": "75207",
"sourceName": "Autotrader",
"url": "https://www.autotrader.com/cars-for-sale/vehicle/790005927",
"siteCount": 3,
"alsoListedOn": "CarGurus $32,900; Autolist $33,125",
"listedOn": [
{ "site": "Autotrader", "price": 32900, "url": "https://www.autotrader.com/cars-for-sale/vehicle/790005927" },
{ "site": "CarGurus", "price": 32900, "url": "https://www.cargurus.com/Cars/inventorylisting/vdp.action?listingId=455958928" },
{ "site": "Autolist", "price": 33125, "url": "https://www.autolist.com/ford-f+150#vin=1FTEW1EG0JFB67246" }
],
"matchedBy": "vin",
"vin": "1FTEW1EG0JFB67246",
"condition": "used",
"exteriorColor": "White Platinum Clearcoat Metal",
"bodyStyle": "Truck",
"drivetrain": "4 Wheel Drive",
"fuelType": "Gasoline",
"daysListed": 49,
"siteDealRating": "Great",
"siteDealRatingFrom": "Autotrader"
}

The run's Search summary (SUMMARY in the key-value store) gives the lowest, median and highest price, and what each site returned.

How much does it cost?

You pay per car in the results, not for run time, and Apify's platform costs are included. Duplicates are merged before you're charged, so a car listed on three sites costs the same as a car listed on one. The price check, the summary, the Excel report and the site status cost nothing extra. Exact prices are on the Pricing tab, and they're lower on Apify's paid plans. To cap what a run can cost, lower Most cars per site or set Max total charge in the run options.

FAQ

Which sites does it search? Autotrader, CarGurus, Craigslist, Facebook Marketplace, CarMax, Carvana, OfferUp, Autolist, Bring a Trailer and ClassicCars.com. Choose a subset under Sites if you only want some. Autotrader's listings include the cars Kelley Blue Book shows, which come from the same source.

Why isn't Cars.com, eBay Motors or TrueCar included? Those sites block automated searches from cloud servers, so results would be unreliable. Their dealer cars usually appear on Autotrader, CarGurus or Autolist too, so most of the same cars still show up.

How does it know two listings are the same car? Dealer listings carry the VIN, and the same VIN on two sites is the same car. Private sellers rarely post a VIN, so those are matched when the year, price and mileage are all the same, and the row says so (matchedBy).

Where does the price check come from? When Autotrader has the car, its Kelley Blue Book fair purchase price. Otherwise the median price of similar cars in the same search: same model, a year either side, similar mileage, and private sellers compared with private sellers. Cars with nothing to compare against have no rating.

What does "suspiciously low" mean? The price is 40% or more under similar cars. That's sometimes a real bargain, but more often a salvage or rebuilt title, a typo, a car with serious problems, or a scam. Ads that mention financing with a very low price usually show the down payment, and are marked "likely a down payment".

Does it find classic and collector cars? Yes. Bring a Trailer auctions and ClassicCars.com are searched too. Collector cars are often bought from across the country and shipped, so cars 25 or more years old from those two sites are included wherever they are; newer cars from them only when they're in your area. For an auction, the price is the current bid and auctionEndsAt says when it closes. Set Newest year to an older year to search only classics; CarMax and Carvana, which only sell recent cars, are then skipped.

Why do Facebook Marketplace and OfferUp cars have no distance? Those sites only show the city, not where the car is. Marketplace searches its nearest metro area to your ZIP code, and OfferUp its own local area, so their cars are near you but without an exact distance.

Can it alert me when a new car is listed or a price drops? Yes. Turn on Only new cars and price drops, save the search as a task and schedule it. Each run then returns only new cars and price drops since the last run with the same watch name. See Getting alerts.

Why did a car I'd seen before come back as new? Facebook Marketplace and OfferUp show signed-out visitors a slightly different handful of listings each time, so a car can be missing from one run and back in the next. The watch remembers every car it has seen for 45 days, so this fades after a few runs.

Can I search outside the US? Not yet. All ten sites are searched in their US versions, by US ZIP code.

Can I get the seller's phone number? No. The results include each listing's link, where you contact the seller the way the site allows.

More from Quillstone Labs

Support

Found a bug, or need a site or field that isn't there? Open an issue on the Issues tab and include the input you used. For anything else, like a custom version or a bulk data job, email QuillStoneLabs@yahoo.com.

Data and fair use

The listings come from public search pages, as shown to any visitor who isn't signed in, and each result links back to the original listing. Use the results to find and compare cars, and contact sellers through the listing's own site. Private listings can include sellers' first names and locations, so treat the output as personal data where your local law does. This Actor is an independent tool and isn't affiliated with, endorsed by or sponsored by any of the sites it searches. Autotrader, Kelley Blue Book, CarGurus, Craigslist, Facebook, CarMax, Carvana, OfferUp, Autolist, Bring a Trailer and ClassicCars.com are trademarks of their respective owners.