ClassicCars.com Scraper avatar

ClassicCars.com Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
ClassicCars.com Scraper

ClassicCars.com Scraper

Scrape ClassicCars.com listings - collector, classic, and muscle car classifieds. Filter by make/model, year, price, vehicle type, seller type, or location; fetch a listing by ID; or pull a dealer's inventory. Full specs: VIN, mileage, engine, colors, photos, seller contact.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape ClassicCars.com — one of the largest collector, classic, and muscle car classifieds marketplaces. Search listings by make, model, year range, price range, vehicle type, seller type, or keyword; look up individual listings by ID; or pull every listing from a specific dealer. Each listing includes full specs — VIN, mileage, engine, transmission, colors, trim, photos, and seller contact details. HTTP-only, no login, no cookies, no proxy required for normal use.

What this actor does

  • Three modes: search (browse/filter), byIds (exact listing lookup), byDealer (all listings from one dealer or auction house)
  • Full filter surface: make, model, year range, price range, vehicle type (car/truck/SUV/motorcycle/RV/van), private-seller / dealer / auction toggles, US state or Canadian province, ZIP + radius, country, keyword search, sort order
  • Rich per-listing data: VIN, mileage, exterior/interior color, trim, transmission, engine, title status, up to 20 photos, seller name/address/website
  • Optional lightweight mode: turn off fetchFullDetails for a fast pass returning just the search-result-card fields
  • Empty fields are omitted — every record only contains fields the site actually populated

Output per listing

  • listingId, sourceUrl, title
  • year, make, model, trim, bodyStyle
  • exteriorColor, interiorColor
  • transmission, engine, driveType, fuelType, numberOfDoors, numberOfCylinders
  • titleStatus, stockNumber, vin, mileage
  • price, priceCurrency
  • description, descriptionSnippet
  • location — city, state/province
  • additionalFeatures — any extra seller-populated spec rows the listing shows beyond the fields above (e.g. Convertible, TTop, Seat Material, CD Player, Air Conditioning, Restoration History, Engine History, Exterior Condition) — varies per listing
  • images[] — up to 20 full-size photo URLs, thumbnailUrl
  • sellerTypeprivate, dealer, or auctionHouse
  • sellerName, sellerAddress, sellerPhone, sellerWebsite, dealerListingsUrl
  • recordType: "carListing", scrapedAt

Fields like VIN, mileage, colors, trim, and seller address are only present when fetchFullDetails is enabled (default) — search-result cards alone don't carry them.

Input

FieldTypeDefaultDescription
modestringsearchsearch / byIds / byDealer
makestringVehicle make slug, e.g. chevrolet, willys, ac; free text, 300+ makes supported (mode=search)
modelstringVehicle model, e.g. camaro; requires make (mode=search)
keywordstringFree-text search over the listing description (mode=search)
listingIdsarrayNumeric listing IDs (mode=byIds)
dealerUrlstringDealer or auction-house URL or id/slug (mode=byDealer)
yearFrom / yearTointModel-year range (mode=search)
priceMin / priceMaxintAsking-price range in USD (mode=search)
vehicleTypestringCar / Motorcycle / Other / RV / Truck / Van / SUV
includePrivateSellersbooltrueInclude private-seller listings
includeDealerListingsbooltrueInclude dealer listings
includeAuctionListingsbooltrueInclude auction listings
countrystringUnited States / Canada
statestringUS state or Canadian province (mode=search)
zipCodestringUS ZIP to search around
distanceMilesstringRadius from zipCode: 25/50/100/250/500
sortBystringdefaultDefault / Date listed / Year / Make-Model / Price
sortAscendingboolfalseSort lowest-to-highest
fetchFullDetailsbooltrueVisit each listing's detail page for full specs
includeSellerPhonebooltrueFetch the seller's contact phone number (mode=search/byDealer/byIds, requires fetchFullDetails)
maxItemsint20Hard cap on emitted records (1–1000)

Example: browse Chevrolet Camaros from the 1960s, dealers only

{
"mode": "search",
"make": "chevrolet",
"model": "camaro",
"yearFrom": 1965,
"yearTo": 1970,
"includePrivateSellers": false,
"includeAuctionListings": false,
"maxItems": 50
}

Example: keyword search under a price cap

{
"mode": "search",
"keyword": "barn find",
"priceMax": 25000,
"maxItems": 30
}

Example: lookup specific listings by ID

{
"mode": "byIds",
"listingIds": ["2097138", "2097122"]
}

Example: all current listings from a dealer

{
"mode": "byDealer",
"dealerUrl": "https://classiccars.com/listings/dealer/921168/spud-s-garage",
"maxItems": 100
}

Example: all current listings from an auction house

{
"mode": "byDealer",
"dealerUrl": "https://classiccars.com/listings/auction/1385/carlisle-auctions",
"maxItems": 100
}

Use cases

  • Market research — track asking prices for specific makes/models/years over time
  • Inventory monitoring — pull a dealer's full current inventory on a schedule
  • Deal sourcing — filter by price cap and keyword ("project", "barn find", "no reserve") to find undervalued listings
  • Valuation tools — feed VIN, mileage, and price into an appraisal model
  • Lead generation — collect seller contact details for outreach
  • Regional analysis — filter by state or ZIP radius to study a local market

FAQ

What's the data source? The public listings pages at classiccars.com — no login, API key, or cookies required.

Is this affiliated with ClassicCars.com? No, this is an independent third-party actor that reads publicly available listing pages.

Why is model ignored sometimes? model only applies when make is also set; the site's model filter is scoped per-make.

Why do some listings lack VIN, mileage, or seller address? Private-seller listings sometimes omit these fields, and some fields (like VIN) simply aren't always provided by the seller. The actor only emits what the listing actually shows.

What does turning off fetchFullDetails change? The actor skips the per-listing detail-page fetch and returns only the fields visible on the search-results card (title, year, make, model, price, thumbnail, location) — faster but less detailed.

Where does sellerPhone come from? ClassicCars.com reveals the seller's contact number through a "View Contact #" click on each listing page (both private-seller and dealer listings). The actor fetches this for you when fetchFullDetails and includeSellerPhone are both on. A small share of listings don't have a number on file and will simply omit the field.

How many photos are returned per listing? Up to 20 full-size photo URLs when fetchFullDetails is on.

Why does a listing show up under priceMax even though it looks pricier, or has no price field at all? Some listings are posted as "Call For Price" with no asking price on the site. The actor never fabricates a price for these — it omits the price field entirely and, since there's nothing to compare against, doesn't drop them from priceMin/priceMax filtering either.

What if I misspell or use an invalid make? ClassicCars.com's own search silently falls back to showing all makes for an unrecognized slug rather than an error. This actor guards against that: every returned record's actual make is checked against your requested make, so a typo or unsupported slug yields zero records (not a wall of unrelated makes).

What if my keyword has no real matches? ClassicCars.com has the same silent-fallback behavior for keyword search as it does for make: a keyword with zero matching listings returns the same unfiltered default feed instead of an empty result (HTTP 200, no error). This actor detects that and checks every candidate record's title/description for the keyword before emitting it, so an obscure term or unicode spelling with no real hits yields zero records rather than unrelated listings.

What if state has no current listings? Same silent-fallback behavior again: a US state or Canadian province with zero current inventory (this happens for some of the lowest-population provinces) returns the unfiltered nationwide feed instead of an empty result. The actor checks each candidate record's location text against the requested state/province and drops anything that doesn't match, so you correctly get zero records rather than unrelated listings from other regions.

Does zipCode search work outside the US? ZIP-radius search is US-only. For Canada, use country=canada together with state (a Canadian province) or a keyword/make/model filter instead.

How fresh is the data? Listings are scraped live on each run — as current as the site itself.

What does sellerType tell me? private for individual sellers, dealer for classic-car dealerships, and auctionHouse for listings posted through an auction house (e.g. Carlisle Auctions) rather than as a live online auction. dealerListingsUrl points to that same seller's full inventory page for both dealers and auction houses.