# Car Auction Prices & Listings — Cars & Bids Scraper (`jungle_synthesizer/carsandbids-online-car-auction-scraper`) Actor

Extract live and completed Cars & Bids auction listings — car auction prices, bid history, and sold results. Get vehicle specs (year, make, model, VIN, mileage), reserve status, seller info, and editorial notes for every auction, current or past.

- **URL**: https://apify.com/jungle\_synthesizer/carsandbids-online-car-auction-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 record scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Car Auction Prices & Listings — Cars & Bids Scraper

Scrape live and completed auction listings from [Cars & Bids](https://carsandbids.com/), the enthusiast car auction platform co-founded by Doug DeMuro. Returns car auction prices, bid counts, vehicle specs, VINs, reserve status, seller info, and editorial write-ups for every auction — current or from the full sold-results archive.

***

### Cars & Bids Scraper Features

- Extracts every live auction currently accepting bids, plus the full past-auctions sold archive
- Returns vehicle specs — year, make, model, VIN, mileage, transmission, drivetrain, exterior color
- Captures bid activity — current bid, final sale price, bid count, comment count, reserve status
- Includes editorial content — Doug's Take, highlights write-up, and seller-reported known flaws
- Pulls the full-resolution photo gallery for each listing, not just the thumbnail
- Filter by auction status — live only, past only, or both in a single run
- Resumes a large archive crawl across multiple runs without re-charging for records already delivered

***

### Who Uses Cars & Bids Data?

- **Market researchers** — track realized sale prices for specific makes and models over time
- **Enthusiast-auction aggregators** — combine this feed with other platforms for a cross-site price index
- **Dealers and flippers** — spot underpriced no-reserve auctions before they close
- **Data journalists** — analyze auction trends, reserve-not-met rates, and seller behavior
- **Insurance and valuation tools** — feed realized prices into comp-based valuation models
- **Collectors** — monitor specific makes or watch for a particular VIN reappearing at auction

***

### How Cars & Bids Scraper Works

1. Pick which auctions to pull — live, past, or both — and set a record limit.
2. The scraper walks the listing pages for each selected status, discovering every auction.
3. Each auction's detail page is visited to pull the complete record — VIN, drivetrain, bid history, editorial notes, and full photo gallery.
4. Records stream to the dataset as they're collected, so you don't wait for the whole run to finish before you can start using results.

***

### Input

```json
{
  "maxItems": 50,
  "auctionStatus": ["live", "past"]
}
```

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `maxItems` | integer | 20 | Maximum number of auction records to scrape. |
| `auctionStatus` | array | `["live", "past"]` | Which auctions to include. `live` = currently active auctions. `past` = the completed/sold archive. |
| `resumeCursor` | string | — | Cursor from a previous run's Output. Supply it to continue a large crawl without re-fetching — you are not re-charged for records already received. |

**Live auctions only:**

```json
{
  "maxItems": 50,
  "auctionStatus": ["live"]
}
```

**Past auctions archive only:**

```json
{
  "maxItems": 500,
  "auctionStatus": ["past"]
}
```

***

### Cars & Bids Scraper Output Fields

```json
{
  "auction_id": "9nqED6VB",
  "listing_title": "2013 BMW M5",
  "year": 2013,
  "make": "BMW",
  "model": "F10 M5",
  "mileage": 85600,
  "vin": "WBSFV9C55DD095718",
  "transmission": "Manual (6-Speed)",
  "drivetrain": "Rear-wheel drive",
  "exterior_color": "Amazonite Silver Metallic",
  "location": "La Jolla, CA 92037",
  "current_bid": 40250,
  "final_price": 40250,
  "reserve_status": "reserve-met",
  "bid_count": 82,
  "comment_count": 53,
  "auction_end": "2026-08-03T20:14:15.068+00:00",
  "status": "sold",
  "seller_username": "LeCarzz",
  "dougs_take": null,
  "highlights": "THIS... is a 2013 BMW M5, finished in Amazonite Silver Metallic with a Sakhir Orange interior...",
  "known_flaws": "- Chips and scratches around exterior\n- Weathered paint on rear bumper",
  "image_urls": ["https://media.carsandbids.com/00cbb1baec031ee8395e96ca3b5d6e19aa005c1a/photos/BMWM52013137.jpg"],
  "listing_url": "https://carsandbids.com/auctions/9nqED6VB"
}
```

| Field | Type | Description |
|-------|------|-------------|
| `auction_id` | string | Cars & Bids internal auction identifier |
| `listing_title` | string | Listing title (year, make, model) |
| `year` | number | Model year |
| `make` | string | Vehicle make |
| `model` | string | Vehicle model |
| `mileage` | number | Odometer reading in miles |
| `vin` | string | Full vehicle identification number |
| `transmission` | string | Transmission type and details |
| `drivetrain` | string | Front-wheel, rear-wheel, or 4WD/AWD |
| `exterior_color` | string | Exterior paint color |
| `location` | string | Seller city and state |
| `current_bid` | number | Current or final highest bid amount (USD) |
| `final_price` | number | Final sale price (USD); `null` if unsold or still live |
| `reserve_status` | string | `no-reserve`, `reserve-met`, `reserve-not-met`, or `pending` (live auctions) |
| `bid_count` | number | Total number of bids placed |
| `comment_count` | number | Total number of comments |
| `auction_end` | string | Auction end timestamp (ISO 8601) |
| `status` | string | `live`, `sold`, `sold_after`, or `reserve_not_met` |
| `seller_username` | string | Seller's Cars & Bids username |
| `dougs_take` | string | Doug DeMuro's editorial take, when present |
| `highlights` | string | Editorial highlights write-up |
| `known_flaws` | string | Seller-reported known flaws |
| `image_urls` | array | Full-resolution photo URLs |
| `listing_url` | string | Canonical auction URL |

***

### Resuming a large crawl

Every run emits a `resumeCursor` in its Output. If a large crawl stops before it finishes — because it hit `maxItems`, your spend cap (`maxTotalChargeUsd`), or was aborted — start a new run with **the same input** plus that `resumeCursor` to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.

- You are **not re-charged** for records the earlier run already delivered.
- Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its `resumeCursor` is no longer valid.
- `resumeCursor` is opaque — supply it unmodified.

***

### FAQ

#### How do I scrape Cars & Bids auction data?

Set `maxItems` and pick `auctionStatus` (`live`, `past`, or both), then run the actor. It returns one record per auction with full vehicle specs, bid history, and editorial content.

#### What data can I get from Cars & Bids?

Vehicle specs (year, make, model, VIN, mileage, transmission, drivetrain, colors), bid activity (current bid, final price, bid count, comment count, reserve status), seller info, and editorial content (Doug's Take, highlights, known flaws) — plus the full photo gallery for every listing.

#### Can I get the full sold-auction history, not just live listings?

Yes. Set `auctionStatus` to `["past"]` (or include it alongside `"live"`) to pull from the complete past-auctions archive, which covers tens of thousands of completed sales and grows daily.

#### Does the scraper include the VIN?

Yes, the full VIN is included in every record — not the partially masked version shown on the auction page itself.

#### How much does Cars & Bids Scraper cost to run?

Cars & Bids Scraper runs on Apify's pay-per-event pricing. Cost scales with the number of records returned — check the Pricing tab on the Actor page for current rates.

***

### Need More Features?

Need custom fields, filters, or a different target site? [File an issue](https://console.apify.com/actors/issues) or get in touch.

### Why Use Cars & Bids Scraper?

- **Complete coverage** — pulls both the live auction board and the full past-auctions sold archive, not just whatever is currently active.
- **Full VIN, not the masked version** — the auction page itself truncates the VIN for privacy; this actor returns the complete number.
- **Editorial content included** — Doug's Take, highlights, and known-flaws write-ups ride along with every record, not just the raw spec sheet.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

What will this data feed? E.g. lead lists, KYB checks, price tracking.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

We'll personally help with your use case. No spam.

## `resumeCursor` (type: `string`):

Leave empty for a fresh crawl. To CONTINUE a previous run where it stopped — without paying again for records you already received — paste the `resumeCursor` value from that run's Output (the run's OUTPUT key). Resume promptly: the previous run's data expires with your account's retention window (free tier: your ~10 most recent runs).

## `maxItems` (type: `integer`):

Maximum number of auction records to scrape.

## `auctionStatus` (type: `array`):

Which auctions to include. Live = currently active. Past = completed/sold archive.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "maxItems": 20,
  "auctionStatus": [
    "live",
    "past"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "maxItems": 20,
    "auctionStatus": [
        "live",
        "past"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/carsandbids-online-car-auction-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "maxItems": 20,
    "auctionStatus": [
        "live",
        "past",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/carsandbids-online-car-auction-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "maxItems": 20,
  "auctionStatus": [
    "live",
    "past"
  ]
}' |
apify call jungle_synthesizer/carsandbids-online-car-auction-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jungle_synthesizer/carsandbids-online-car-auction-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/dZfUrZqe5zamtrpEy/builds/A4qEUtcibETpG5O81/openapi.json
