Car & Classic Auctions Scraper avatar

Car & Classic Auctions Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Car & Classic Auctions Scraper

Car & Classic Auctions Scraper

Scrape live and sold vehicle auctions from Car & Classic. Extract bids, sold prices, reserve status, mileage, specs, locations, images, and auction URLs for classic cars and motorcycles.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

wiseld_squid

wiseld_squid

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Share

Scrape live and sold vehicle auctions from Car & Classic. Extract bids, sold prices, reserve status, mileage, specs, locations, images, and auction URLs for classic cars and motorcycles.

What It Does

This Apify Actor crawls publicly visible auction pages on carandclassic.com and saves one JSON row per unique auction to the default Apify Dataset.

It supports:

  • Live auctions
  • Sold auction results
  • Auctions starting soon
  • Filtered auction pages
  • Direct auction detail URLs
  • Cars and motorcycles

Supported URLs

Examples:

https://www.carandclassic.com/auctions
https://www.carandclassic.com/auctions/results
https://www.carandclassic.com/auctions/starting-soon
https://www.carandclassic.com/auctions/motorcycles
https://www.carandclassic.com/auctions/no-reserve
https://www.carandclassic.com/auctions/1960-rover-p5-3l-mk1-8eeRR8

Input Example

{
"accessMode": "full",
"startUrls": [
{
"url": "https://www.carandclassic.com/auctions"
}
],
"maxResults": 100,
"includeDetails": true,
"includeImages": true,
"includeDescription": true,
"maxConcurrency": 5,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Preview and Full Modes

  • accessMode: "preview" saves a free sample capped at 20 auctions per run.
  • accessMode: "full" can save more than 20 auctions only when the Apify runtime confirms the runner is a paid-plan user.
  • If full is requested by a runner that is not confirmed as paid, the Actor automatically falls back to preview mode and caps output at 20 auctions.
  • maxResults can be set above 20 for full paid runs. In preview mode, any higher value is capped automatically.

Output Example

{
"source": "carandclassic.com",
"scrapedAt": "2026-06-02T00:00:00.000Z",
"auctionUrl": "https://www.carandclassic.com/auctions/1960-rover-p5-3l-mk1-8eeRR8",
"auctionId": "75233",
"title": "1960 Rover P5 3L Mk1",
"vehicleType": "car",
"priceAmount": 7000,
"priceCurrency": "GBP",
"priceType": "current_bid",
"auction": {
"stage": "live",
"currentBidAmount": 7000,
"soldPriceAmount": null,
"currencyCode": "GBP",
"bidCount": 3,
"reserveStatus": "no-reserve",
"timeRemainingText": null,
"endsAt": "2026-06-01T18:45:00+00:00"
},
"vehicle": {
"year": 1960,
"make": "Rover",
"model": "P5",
"engineText": "3000cc",
"fuelType": "Petrol",
"transmission": "Manual, 4 speed",
"mileageValue": 79575,
"mileageUnit": "miles",
"driveSide": "Right Hand Drive"
},
"location": "International, South Africa",
"description": "Highlights ...",
"specifications": [
{
"label": "year",
"value": "1960"
}
],
"images": [
"https://assets.carandclassic.com/uploads/new/29697402/example.jpeg"
],
"raw": {
"warnings": []
}
}

Extracted Fields

  • Auction URL and ID
  • Title and vehicle type
  • Auction stage
  • Top-level price amount, currency, and price type
  • Nested current bid or sold price
  • Bid count
  • Reserve status
  • Auction end timestamp
  • Year, make, model
  • Engine, fuel, transmission, mileage, drive side
  • Location
  • Description
  • Specifications
  • Images
  • Parser warnings

Usage

Run locally:

npm install
npm run build
apify run

Run parser tests:

$npm test

Run a small cloud test input:

{
"accessMode": "preview",
"startUrls": [
{
"url": "https://www.carandclassic.com/auctions"
}
],
"maxResults": 5,
"includeDetails": true
}

Expected cloud-test checks:

  • Exactly 5 dataset rows
  • No duplicate auctionUrl values
  • Data is saved with Actor.pushData(row)
  • Default dataset is used
  • JSON and CSV exports are available from the default dataset
  • No named dataset is opened

Known Limitations

  • The scraper uses public HTML and embedded Inertia JSON. If Car & Classic changes page payloads or selectors, parser updates may be required.
  • timeRemainingText is rendered dynamically and is not always present in the embedded JSON, so it may be null.
  • endsAt is extracted when a timestamp is available.
  • Some motorcycle fields such as drive side can be unavailable and are returned as null.
  • Respect Car & Classic terms, robots rules, and applicable laws before running automated collection.

Inspection Summary

The inspected list and detail pages returned server-rendered HTML with an embedded Inertia JSON payload:

<script data-page="app" type="application/json">...</script>

List pages expose props.searchResults.data[]; detail pages expose props.listing and props.biddingData. CheerioCrawler is sufficient for the MVP. Pagination uses ordinary ?page=N links. No CAPTCHA or hard blocking was observed during the small inspection.