# Bring a Trailer Scraper (`solidcode/bringatrailer-scraper`) Actor

\[💰 $8 / 1K] Extract car & vehicle auction listings from Bring a Trailer. Get current bids, final sold prices, reserve status, specs, seller location, photos, and more. Search by make/model or filter by category, era, and origin.

- **URL**: https://apify.com/solidcode/bringatrailer-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 results

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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Bring a Trailer Scraper

Pull collector-car auction data from Bring a Trailer at scale — live bids and final hammer prices, reserve status, vehicle specs, seller location, and full photo galleries across cars, motorcycles, trucks, boats, and more. Built for classic-car dealers, collectors, market analysts, and appraisers who need structured Bring a Trailer auction results without tracking listings by hand or hand-building filtered URLs.

### Why This Scraper?

- **Live auctions and sold results in one actor** — flip a single Auction Status dropdown between running auctions (current high bid) and completed results (final sale price). No separate runs, no URL editing.
- **Final hammer price plus reserve outcome on every sold lot** — each completed auction returns the exact sale amount and a `reserveStatus` of sold, reserve-not-met, or no-reserve — the gold standard for comps and valuations.
- **Search by make and model in plain text** — type "Porsche 911" or "Toyota Land Cruiser" and the right Bring a Trailer page is matched automatically. No hand-crafted search links.
- **25 vehicle and equipment categories** — from Motorcycles, Convertibles, and Truck & 4x4 to Aircraft, Boats, Race Cars, RVs & Campers, and Tractors.
- **14 decade filters and 14 country-of-origin filters** — narrow to 1990s German cars, Pre-1900 machines, or Japanese imports in a single field.
- **No-Reserve-only toggle and maximum-bid cap** — isolate auctions guaranteed to sell to the highest bidder, or cap results to lots at or below your target price in USD.
- **Bid and comment engagement counts** — exact bid count and comment count per listing surface with Include Full Listing Details, alongside view and watcher numbers.
- **Decoded vehicle specifications** — chassis number / VIN, mileage, engine, and transmission pulled straight from each listing's BaT Essentials, plus the full bullet-by-bullet spec list, when detail enrichment is on.
- **Seller type and username** — Private Party vs. Dealer, the seller's BaT handle, and the lot number on every enriched listing.
- **Full photo galleries and complete descriptions** — every high-resolution listing image plus the seller's full write-up when detail enrichment is on.
- **Seller location with coordinates** — country, ISO country code, latitude, and longitude on every auction for mapping and regional analysis.

### Use Cases

**Dealer Sourcing**
- Find live no-reserve lots in target categories before they close
- Track Convertibles, Truck & 4x4, or Motorcycles by decade and origin
- Monitor low-bid opportunities with a maximum-bid cap
- Build daily watchlists of ending-soonest auctions

**Market & Price Research**
- Track final sale prices across makes, models, and eras
- Compare current bids against historical sold results
- Measure demand with bid and comment engagement counts
- Map regional pricing using seller country and coordinates

**Collector Watchlists**
- Follow a specific model (e.g. Porsche 911, Land Cruiser) across live and sold listings
- Filter to a single decade or country of origin
- Catch rare Aircraft, Race Cars, or Military Vehicles as they list
- Alert on new no-reserve examples of a target model

**Appraisal & Valuation**
- Pull sold comps with final hammer price and reserve outcome
- Build condition-and-era valuation tables from completed results
- Document recent sales for insurance and estate appraisals
- Cross-reference sale prices against bid activity

**Investment Analysis**
- Identify undervalued segments by era and origin
- Track sell-through and reserve-met rates over time
- Spot appreciating models from repeat (BaT Alumni) sales
- Feed auction outcomes into pricing and trend dashboards

### Getting Started

#### Scrape Live Auctions

The simplest way to start — leave the inputs empty (or just set a cap) to browse the current live auctions:

```json
{
    "maxResults": 50
}
````

#### Search a Model's Sold Results

```json
{
    "searchQueries": ["Porsche 911"],
    "listingType": "sold",
    "maxResults": 100
}
```

#### Filtered Live No-Reserve Search

```json
{
    "searchQueries": ["Land Rover Defender"],
    "listingType": "live",
    "category": ["trucks-4x4"],
    "era": ["1990s", "1980s"],
    "origin": ["british"],
    "noReserveOnly": true,
    "maxBid": 50000,
    "sortBy": "ending_soonest",
    "maxResults": 200,
    "includeDetails": true
}
```

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | array | `[]` | Paste Bring a Trailer links — an auctions page, a make or model page, a category page, or a single listing. Filters built into the URL are kept as-is. Leave empty to see current live auctions. |
| `searchQueries` | array | `[]` | Search by make and/or model in plain text (e.g. "Porsche 911", "Ferrari"). Each query is matched to the right Bring a Trailer page automatically. |

#### Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `listingType` | string | `"live"` | Which auctions to collect: **Live auctions** (current high bid) or **Sold (completed results)** with final sale price. Applies to searches and filters. |
| `category` | array | `[]` | Limit to one or more of 25 categories (Motorcycles, Convertibles, Truck & 4x4, Aircraft, Boats, …). Empty means all. |
| `era` | array | `[]` | Limit to one or more decades, from 2020s back to Pre-1900. Empty means all. |
| `origin` | array | `[]` | Limit to country of origin (American, British, German, Italian, Japanese, …). Empty means all. |
| `noReserveOnly` | boolean | `false` | Only return No Reserve auctions — guaranteed to sell to the highest bidder. |
| `maxBid` | integer | `null` | Only include auctions whose current bid is at or below this amount, in US dollars. Empty means no price cap. |
| `sortBy` | string | `"ending_soonest"` | Order results: **Ending soonest**, **Ending latest**, **Bid: highest first**, or **Bid: lowest first**. |

#### Options

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Maximum number of auctions to return across all URLs and searches. Set to 0 for unlimited. Start with 10–50 to test. |
| `includeDetails` | boolean | `false` | Open each listing's page for the full description, all photos, and exact bid, comment, view, and watcher counts. Richer but slower — leave off for fast list-level data. |

### Output

Each auction is returned as one flat record. Below is an example, followed by field tables grouped by purpose.

```json
{
    "id": 123456,
    "title": "1995 Porsche 911 Carrera Coupe",
    "url": "https://bringatrailer.com/listing/1995-porsche-911-carrera-12/",
    "year": 1995,
    "make": "Porsche",
    "model": "911 Carrera Coupe",
    "categories": ["Convertibles"],
    "era": "1990s",
    "origin": "German",
    "listingType": "sold",
    "currentBid": 88888,
    "currentBidFormatted": "USD $88,888",
    "soldPrice": 88888,
    "soldStatus": "sold",
    "reserveStatus": "sold",
    "currency": "USD",
    "noReserve": false,
    "premium": false,
    "batAlumni": true,
    "bidCount": 34,
    "commentCount": 112,
    "viewCount": 18540,
    "watcherCount": 762,
    "endDate": "2024-09-18T20:30:00+00:00",
    "country": "United States",
    "countryCode": "US",
    "latitude": 34.0522,
    "longitude": -118.2437,
    "excerpt": "This 1995 Porsche 911 Carrera coupe...",
    "thumbnailUrl": "https://bringatrailer.com/wp-content/uploads/2024/09/thumb.jpg",
    "imageUrls": ["https://bringatrailer.com/wp-content/uploads/2024/09/01.jpg"],
    "description": "Full listing description...",
    "vin": "WP0ZZZ99ZTS300001",
    "mileage": "42k Miles Shown",
    "engine": "3.6-Liter Flat-Six",
    "transmission": "Six-Speed Manual Transaxle",
    "sellerType": "Private Party",
    "sellerUsername": "examplecollector",
    "lotNumber": "123456",
    "specs": ["Chassis: WP0ZZZ99ZTS300001", "42k Miles Shown", "3.6-Liter Flat-Six"],
    "scrapedAt": "2024-09-18T12:00:00+00:00"
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `id` | integer | Bring a Trailer listing ID. |
| `title` | string | Listing title (e.g. "1995 Porsche 911 Carrera Coupe"). |
| `url` | string | Canonical listing URL. |
| `year` | integer | Vehicle or model year. |
| `make` | string | Manufacturer parsed from the listing title. |
| `model` | string | Model name parsed from the listing title. |
| `categories` | array | Human-readable category names. |
| `era` | string | Decade label (e.g. "1990s"). |
| `origin` | string | Country-of-origin label(s), e.g. "German" or "American, British". |
| `listingType` | string | `"live"` or `"sold"`. |
| `scrapedAt` | string | ISO 8601 timestamp the record was collected. |

#### Auction & Pricing

| Field | Type | Description |
|-------|------|-------------|
| `currentBid` | integer | Current high bid in the listing currency (live auctions). |
| `currentBidFormatted` | string | Formatted bid (e.g. "USD $88,888"). |
| `soldPrice` | integer | Final sale price for completed auctions. |
| `soldStatus` | string | Outcome text: "sold" or "reserve not met". |
| `reserveStatus` | string | `sold`, `reserve-not-met`, `no-reserve`, or `reserve-met`. |
| `currency` | string | ISO currency code of the bid or sale. |
| `noReserve` | boolean | True if a No Reserve auction. |
| `premium` | boolean | True if a BaT Premium listing. |
| `batAlumni` | boolean | True if the vehicle previously sold on Bring a Trailer. |
| `endDate` | string | Auction end time, ISO 8601. |

#### Location & Media

| Field | Type | Description |
|-------|------|-------------|
| `country` | string | Seller country. |
| `countryCode` | string | ISO alpha-2 country code. |
| `latitude` | number | Seller latitude. |
| `longitude` | number | Seller longitude. |
| `excerpt` | string | Short description snippet. |
| `thumbnailUrl` | string | Primary thumbnail image URL. |

#### Detail-Only Fields (with Include Full Listing Details)

**Engagement & media**

| Field | Type | Description |
|-------|------|-------------|
| `bidCount` | integer | Exact number of bids placed. |
| `commentCount` | integer | Exact number of comments. |
| `viewCount` | integer | Total listing views. |
| `watcherCount` | integer | Number of users watching the auction. |
| `imageUrls` | array | Full high-resolution gallery image URLs. |
| `description` | string | Complete listing description. |

**Vehicle specs & seller**

| Field | Type | Description |
|-------|------|-------------|
| `vin` | string | Chassis number / VIN from the BaT Essentials. |
| `mileage` | string | Odometer reading as listed (e.g. "42k Miles Shown"). |
| `engine` | string | Engine description (e.g. "3.6-Liter Flat-Six"). |
| `transmission` | string | Transmission description (e.g. "Six-Speed Manual"). |
| `specs` | array | Full BaT Essentials bullet list (paint, wheels, options, …). |
| `sellerType` | string | "Private Party" or "Dealer". |
| `sellerUsername` | string | Seller's Bring a Trailer handle. |
| `lotNumber` | string | Bring a Trailer lot number. |

### Tips for Best Results

- **Use `sold` for comps.** Completed results carry the final hammer price and reserve outcome — the most reliable basis for valuations and market analysis.
- **Turn on Include Full Listing Details for specs, engagement, and photos.** VIN, mileage, engine, transmission, the full spec list, seller type, and the bid/comment/view/watcher counts plus the full image gallery only appear on the listing page — the live and sold list views omit them, so these fields stay empty without it.
- **Start small.** Set `maxResults` to 10–50 on your first run to confirm filters before scaling up.
- **Combine search with filters.** Pair a make/model query with category, era, and origin to zero in on a precise segment (e.g. 1980s British Truck & 4x4).
- **`maxBid` is in US dollars.** Some lots settle in other currencies; those are compared against your USD cap as listed, so widen the cap when chasing non-US auctions.
- **Batch many targets in one run.** `startUrls` and `searchQueries` both accept lists — collect several models or categories together instead of one run each.
- **No-Reserve plus ending-soonest** surfaces lots guaranteed to sell that are closing first — ideal for last-minute dealer sourcing.

### Pricing

**From $8 per 1,000 results** — undercuts comparable Bring a Trailer data tools while returning live bids and sold results in one run. No compute charges — you only pay per result returned. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.96 | $0.91 | $0.85 | $0.80 |
| 1,000 | $9.60 | $9.05 | $8.50 | $8.00 |
| 10,000 | $96.00 | $90.50 | $85.00 | $80.00 |
| 100,000 | $960.00 | $905.00 | $850.00 | $800.00 |

Each auction returned is one result. Platform fees are additional.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor collects publicly available auction data for legitimate research, market analysis, and business purposes. Use it responsibly: respect Bring a Trailer's Terms of Service, avoid excessive request volumes, and comply with all applicable laws and regulations, including data protection rules such as GDPR and CCPA when handling any personal data. You are responsible for how you use the data you collect.

# Actor input Schema

## `startUrls` (type: `array`):

Paste Bring a Trailer links — an auctions page, a make or model page (e.g. https://bringatrailer.com/porsche/911/), a category page, or a single listing. Any filters already built into the URL are kept as-is. Leave empty to see current live auctions, or if you are only using Search by Make / Model below.

## `searchQueries` (type: `array`):

Search in plain text, e.g. 'Porsche 911', 'Toyota Land Cruiser', or just 'Ferrari'. Each query is matched to the right Bring a Trailer page automatically — no need to build URLs by hand.

## `listingType` (type: `string`):

Which auctions to collect: Live (currently running, with the current high bid) or Sold (completed results, with the final sale price). Applies to search queries and filters. URLs you paste keep their own status.

## `category` (type: `array`):

Only include these categories. Leave empty for all categories.

## `era` (type: `array`):

Only include vehicles from these decades. Leave empty for all eras.

## `origin` (type: `array`):

Only include vehicles from these countries of origin. Leave empty for all origins.

## `noReserveOnly` (type: `boolean`):

Only return No Reserve auctions — these are guaranteed to sell to the highest bidder with no minimum price.

## `maxBid` (type: `integer`):

Only include auctions whose current bid is at or below this amount, in US dollars. Leave empty for no price cap.

## `sortBy` (type: `string`):

Order the results.

## `maxResults` (type: `integer`):

Maximum number of auctions to return across all URLs and searches. Set to 0 for unlimited. Tip: start with 10-50 to test, then increase.

## `includeDetails` (type: `boolean`):

Open each listing's page to collect the full description, all photos, decoded vehicle specs (VIN, mileage, engine, transmission), seller type and username, and exact bid / comment / view / watcher counts. Much richer data, but slower and more costly. Leave off for fast list-level data (bids, price, location, end date). Note: specs and bid / comment counts are only available with this option turned on.

## Actor input object example

```json
{
  "searchQueries": [],
  "listingType": "live",
  "category": [],
  "era": [],
  "origin": [],
  "noReserveOnly": false,
  "sortBy": "ending_soonest",
  "maxResults": 100,
  "includeDetails": false
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of scraped auctions with key fields.

## `pricing` (type: `string`):

Table focused on bids, final prices, and reserve status.

## `gallery` (type: `string`):

Table of auction thumbnails with links.

# 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 = {
    "searchQueries": [],
    "listingType": "live",
    "category": [],
    "era": [],
    "origin": [],
    "noReserveOnly": false,
    "sortBy": "ending_soonest",
    "maxResults": 100,
    "includeDetails": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/bringatrailer-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 = {
    "searchQueries": [],
    "listingType": "live",
    "category": [],
    "era": [],
    "origin": [],
    "noReserveOnly": False,
    "sortBy": "ending_soonest",
    "maxResults": 100,
    "includeDetails": False,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/bringatrailer-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 '{
  "searchQueries": [],
  "listingType": "live",
  "category": [],
  "era": [],
  "origin": [],
  "noReserveOnly": false,
  "sortBy": "ending_soonest",
  "maxResults": 100,
  "includeDetails": false
}' |
apify call solidcode/bringatrailer-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Bring a Trailer Scraper",
        "description": "[💰 $8 / 1K] Extract car & vehicle auction listings from Bring a Trailer. Get current bids, final sold prices, reserve status, specs, seller location, photos, and more. Search by make/model or filter by category, era, and origin.",
        "version": "1.0",
        "x-build-id": "kX7YVoXELteKpPWcy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~bringatrailer-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-bringatrailer-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/solidcode~bringatrailer-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-bringatrailer-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/solidcode~bringatrailer-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-bringatrailer-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Paste Bring a Trailer links — an auctions page, a make or model page (e.g. https://bringatrailer.com/porsche/911/), a category page, or a single listing. Any filters already built into the URL are kept as-is. Leave empty to see current live auctions, or if you are only using Search by Make / Model below.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchQueries": {
                        "title": "Search by Make / Model",
                        "type": "array",
                        "description": "Search in plain text, e.g. 'Porsche 911', 'Toyota Land Cruiser', or just 'Ferrari'. Each query is matched to the right Bring a Trailer page automatically — no need to build URLs by hand.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "listingType": {
                        "title": "Auction Status",
                        "enum": [
                            "live",
                            "sold"
                        ],
                        "type": "string",
                        "description": "Which auctions to collect: Live (currently running, with the current high bid) or Sold (completed results, with the final sale price). Applies to search queries and filters. URLs you paste keep their own status.",
                        "default": "live"
                    },
                    "category": {
                        "title": "Categories",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include these categories. Leave empty for all categories.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "aircraft",
                                "atvs",
                                "boats",
                                "charity",
                                "convertibles",
                                "electric-vehicles",
                                "go-karts",
                                "hot-rods",
                                "kei-vehicles",
                                "military-vehicles",
                                "minibikes-scooters",
                                "motorcycles",
                                "parts",
                                "projects",
                                "race-cars",
                                "right-hand-drive",
                                "rvs-campers",
                                "service-vehicles",
                                "side-by-sides",
                                "station-wagons",
                                "tractors",
                                "trains",
                                "trucks-4x4",
                                "vans",
                                "wheels"
                            ],
                            "enumTitles": [
                                "Aircraft",
                                "All-Terrain Vehicles",
                                "Boats",
                                "Charity & Non-Profit",
                                "Convertibles",
                                "Electric Vehicles",
                                "Go-Karts",
                                "Hot Rods",
                                "Kei Vehicles",
                                "Military Vehicles",
                                "Minibikes & Scooters",
                                "Motorcycles",
                                "Parts",
                                "Projects",
                                "Race Cars",
                                "Right-Hand Drive",
                                "RVs & Campers",
                                "Service Vehicles",
                                "Side-by-Sides",
                                "Station Wagons",
                                "Tractors",
                                "Trains",
                                "Truck & 4x4",
                                "Vans",
                                "Wheels"
                            ]
                        },
                        "default": []
                    },
                    "era": {
                        "title": "Eras (Decades)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include vehicles from these decades. Leave empty for all eras.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "2020s",
                                "2010s",
                                "2000s",
                                "1990s",
                                "1980s",
                                "1970s",
                                "1960s",
                                "1950s",
                                "1940s",
                                "1930s",
                                "1920s",
                                "1910s",
                                "1900s",
                                "pre-1900"
                            ],
                            "enumTitles": [
                                "2020s",
                                "2010s",
                                "2000s",
                                "1990s",
                                "1980s",
                                "1970s",
                                "1960s",
                                "1950s",
                                "1940s",
                                "1930s",
                                "1920s",
                                "1910s",
                                "1900s",
                                "Pre-1900"
                            ]
                        },
                        "default": []
                    },
                    "origin": {
                        "title": "Country of Origin",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include vehicles from these countries of origin. Leave empty for all origins.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "american",
                                "brazilian",
                                "british",
                                "canadian",
                                "czech",
                                "dutch",
                                "french",
                                "german",
                                "italian",
                                "japanese",
                                "korean",
                                "prewar",
                                "spanish",
                                "swedish"
                            ],
                            "enumTitles": [
                                "American",
                                "Brazilian",
                                "British",
                                "Canadian",
                                "Czech",
                                "Dutch",
                                "French",
                                "German",
                                "Italian",
                                "Japanese",
                                "Korean",
                                "Prewar",
                                "Spanish",
                                "Swedish"
                            ]
                        },
                        "default": []
                    },
                    "noReserveOnly": {
                        "title": "No Reserve Only",
                        "type": "boolean",
                        "description": "Only return No Reserve auctions — these are guaranteed to sell to the highest bidder with no minimum price.",
                        "default": false
                    },
                    "maxBid": {
                        "title": "Maximum Bid (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only include auctions whose current bid is at or below this amount, in US dollars. Leave empty for no price cap."
                    },
                    "sortBy": {
                        "title": "Sort Results By",
                        "enum": [
                            "ending_soonest",
                            "ending_latest",
                            "bid_high",
                            "bid_low"
                        ],
                        "type": "string",
                        "description": "Order the results.",
                        "default": "ending_soonest"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of auctions to return across all URLs and searches. Set to 0 for unlimited. Tip: start with 10-50 to test, then increase.",
                        "default": 100
                    },
                    "includeDetails": {
                        "title": "Include Full Listing Details",
                        "type": "boolean",
                        "description": "Open each listing's page to collect the full description, all photos, decoded vehicle specs (VIN, mileage, engine, transmission), seller type and username, and exact bid / comment / view / watcher counts. Much richer data, but slower and more costly. Leave off for fast list-level data (bids, price, location, end date). Note: specs and bid / comment counts are only available with this option turned on.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
