# Cars.com Vehicle Scraper + Instant Results (`raidr-api/cars-com-scraper`) Actor

Scrape Cars.com vehicles by make, model, year, price, and mileage. Features exact listing dates, private seller only, and deduplication. Optimized for lowest cost per run using advanced extraction techniques. Advanced filtering and instant notifications of vehicles posted to Cars.com Marketplace.

- **URL**: https://apify.com/raidr-api/cars-com-scraper.md
- **Developed by:** [Raidr API](https://apify.com/raidr-api) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.99 / 1,000 dataset results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## 🚗 Cars.com Vehicle Scraper

Scrape new, used, and certified pre-owned vehicle listings from [Cars.com](https://www.cars.com) by ZIP code, with rich filtering by make, model, price, year, mileage, body style, fuel, transmission, drivetrain, colour, features, and seller type. Export clean car data to JSON, CSV, Excel, or HTML — or send it straight to your own tools.

### 🔍 What does Cars.com Vehicle Scraper do?

**Cars.com Vehicle Scraper** extracts **public vehicle listings** from Cars.com and turns them into clean, structured data. Every listing — VIN, price, MSRP, mileage, specs, and thumbnail — comes back organised and ready to use, so you can analyse inventory in seconds instead of scrolling through pages. Run it on the **Apify platform** for API access, scheduling, integrations, proxy rotation, and monitoring.

- **Track inventory** — monitor what's for sale across any metro and price band
- **Analyse pricing** — compare asking prices and MSRP by make, model, year, and deal rating
- **Source deals** — find well-priced vehicles worth buying or reselling
- **Generate dealer leads** — build lists of dealers and their inventory for permitted outreach
- **Feed your tools** — export to spreadsheets, dashboards, CRMs, or analytics pipelines

### 📊 What data can you extract from Cars.com?

Every listing returns clean, structured fields:

| 🚗 Title | 🏭 Make / model / trim | 📅 Year |
|---|---|---|
| 🔖 VIN | 💰 Price & MSRP | 🛣️ Mileage |
| 🚙 Body style | 🎨 Exterior colour | ⛽ Fuel type |
| 🛞 Drivetrain | 🏷️ Condition | ✅ Certified pre-owned flag |
| 📍 Seller ZIP | 📸 Thumbnail | 🔗 Listing URL |

### 🚀 How to scrape Cars.com vehicles

No coding required.

1. **Create a free Apify account** using your email.
2. **Open Cars.com Vehicle Scraper.**
3. **Enter a ZIP code** and a search radius in miles.
4. **Add filters** (optional) — makes, models, condition, price, year, mileage, body style, size, fuel, transmission, drivetrain, colours, deal rating, features, keywords, or seller type.
5. **Set Maximum Results** and a sort order, then click **Start**.
6. **Download your data** in JSON, CSV, Excel, or HTML — or pull it via API.

### ⬇️ Input

Set everything visually in the input form, or paste JSON directly:

```json
{
    "zipCode": "77002",
    "radius": 50,
    "makes": ["hyundai", "toyota"],
    "models": ["hyundai-elantra", "toyota-camry"],
    "stockType": "used",
    "minPrice": 10000,
    "maxPrice": 30000,
    "minYear": 2019,
    "maxYear": 2023,
    "maxMileage": 60000,
    "bodyStyles": ["sedan"],
    "fuelTypes": ["gasoline", "hybrid"],
    "transmissions": ["automatic"],
    "drivetrains": ["front_wheel_drive"],
    "sellerTypes": ["dealership"],
    "dealRatings": ["great", "good"],
    "features": ["heated_seats", "apple_carplay", "backup_camera"],
    "sort": "best-match",
    "maxItems": 100
}
````

**Available filters:** ZIP code, radius, makes, models, condition (new / used / CPO), price range, year range, maximum mileage, body style, size, fuel type, transmission, drivetrain, exterior/interior colour, seller type, deal rating, features, keywords, "only with photos", "include shippable", and sort order. Leave any field empty to include everything.

### ⬆️ Output

Each vehicle is saved as a structured record, ready to download in JSON, CSV, Excel, or HTML:

```json
{
    "id": "1724db21-4144-4309-a812-2c1ab4fb6f94",
    "vin": "KMHLM4AGXNU332978",
    "url": "https://www.cars.com/vehicledetail/1724db21-4144-4309-a812-2c1ab4fb6f94/",
    "title": "Used 2022 Hyundai Elantra SEL",
    "year": 2022,
    "make": "Hyundai",
    "model": "Elantra",
    "trim": "SEL",
    "condition": "Used",
    "price": 20922,
    "msrp": 23781,
    "mileage": 37233,
    "bodyStyle": "Sedan",
    "exteriorColor": "Metal",
    "fuelType": "Gasoline",
    "drivetrain": "Front-wheel Drive",
    "cpo": false,
    "sellerZip": "77450",
    "thumbnailUrl": "https://platform.cstatic-images.com/in/v2/…/…jpg",
    "scrapedAt": "2026-07-05T00:00:00.000Z"
}
```

### 💰 How much does it cost to scrape Cars.com?

Cars.com Vehicle Scraper runs on Apify's **pay-per-use** model — you only pay for the resources a run consumes. Runs are inexpensive and cost scales with how many listings you collect. Use **Maximum Results** and filters to keep each run bounded.

**Free tier:** New Apify users get monthly free credits — enough to scrape thousands of listings at no cost.

### ✨ Tips for best results

- **Use residential proxies in production** (selected by default) for reliable, uninterrupted access.
- **Start small.** Run with a low result cap first to confirm your filters, then scale up.
- **Combine filters** to zero in on exactly the inventory you want (e.g. make + price + deal rating).
- **Results are de-duplicated** automatically, so every vehicle in your dataset is unique.

### 🔗 Integrations

Connect Cars.com Vehicle Scraper to your favorite tools:

- **Google Sheets** — auto-export new listings to a spreadsheet
- **Zapier & Make** — trigger workflows when new vehicles are found
- **Slack** — get results in your team channels
- **Webhooks** — send data to any URL when a run finishes
- **API** — integrate directly with your own applications

### 🛠️ Using the API

Run the scraper and pull results programmatically with the Apify API:

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run_input = {
    "zipCode": "77002",
    "makes": ["hyundai"],
    "maxPrice": 30000,
    "maxItems": 100
}

run = client.actor("your-username/cars-com-scraper").call(run_input=run_input)

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], item["price"])
```

### ❓ FAQ

#### How does Cars.com Vehicle Scraper work?

It works just like searching Cars.com yourself — it opens the results for your ZIP code and filters, then collects the publicly visible details from each listing, only far faster and at scale.

#### Can I scrape multiple locations?

Each run centers on one ZIP code and radius. To cover several areas, run the scraper multiple times with different ZIP codes, or schedule automated runs for each.

#### Why should I use residential proxies?

Residential proxies (on by default) give the most reliable access to Cars.com. No extra setup is needed.

#### Why are some fields missing?

Listings vary by seller. Core fields are always captured; optional details appear only when the seller provided them.

#### Is it legal to scrape Cars.com?

Scraping publicly available data is generally legal. This scraper only collects publicly visible listing information — no private user data or content behind access controls. Always use scraped data responsibly and in line with applicable laws and Cars.com's Terms of Service.

### 📞 Support and feedback

- **Questions or a bug?** Open an issue on the Actor's **Issues** tab.
- **Need a field added or a custom solution?** Let us know — we'd love to help.

***

*Cars.com Vehicle Scraper is not affiliated with or endorsed by Cars.com. Use responsibly and in accordance with Cars.com's Terms of Service.*

# Actor input Schema

## `zipCode` (type: `string`):

5-digit US ZIP code used as the centre of the search.

## `radius` (type: `integer`):

Distance around the ZIP, in miles (snapped to the nearest supported value). Default 50.

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

Maximum number of unique listings to save.

## `sort` (type: `string`):

Ordering for results.

## `stockType` (type: `string`):

New, used, or certified pre-owned.

## `makes` (type: `array`):

Make slugs, e.g. \["hyundai", "toyota"]. Leave empty for all makes.

## `models` (type: `array`):

Model slugs, namespaced by make, e.g. \["hyundai-elantra", "toyota-camry"].

## `minPrice` (type: `integer`):

Minimum price in USD. Leave empty for no minimum.

## `maxPrice` (type: `integer`):

Maximum price in USD. Leave empty for no maximum.

## `minYear` (type: `integer`):

Earliest model year. Leave empty for no minimum.

## `maxYear` (type: `integer`):

Latest model year. Leave empty for no maximum.

## `maxMileage` (type: `integer`):

Maximum odometer reading. Leave empty for no limit.

## `bodyStyles` (type: `array`):

Filter by body style. Leave empty to include all.

## `sizes` (type: `array`):

Filter by vehicle size. Leave empty to include all.

## `fuelTypes` (type: `array`):

Filter by fuel type. Leave empty to include all.

## `transmissions` (type: `array`):

Filter by transmission. Leave empty to include all.

## `drivetrains` (type: `array`):

Filter by drivetrain. Leave empty to include all.

## `exteriorColors` (type: `array`):

Filter by exterior color. Leave empty to include all.

## `interiorColors` (type: `array`):

Filter by interior color. Leave empty to include all.

## `sellerTypes` (type: `array`):

Filter by seller type. Leave empty to include all.

## `dealRatings` (type: `array`):

Only include listings with these Cars.com deal ratings. Leave empty to include all.

## `features` (type: `array`):

Feature slugs from any group, e.g. \["heated\_seats", "apple\_carplay", "backup\_camera", "sunroof\_moonroof", "leather\_seats"]. Each is routed to its correct filter group automatically.

## `keywords` (type: `array`):

Free-text keywords the listing must contain, e.g. \["heated seats"].

## `includeShippable` (type: `boolean`):

Include listings that can be shipped to the search area (not just local ones).

## `onlyWithPhotos` (type: `boolean`):

Only include listings that have photos.

## `proxyConfiguration` (type: `object`):

Proxy settings. Residential proxies are strongly recommended (Cars.com is behind Cloudflare; some IPs are challenged).

## Actor input object example

```json
{
  "zipCode": "77002",
  "radius": 50,
  "maxItems": 100,
  "sort": "best-match",
  "stockType": "all",
  "includeShippable": false,
  "onlyWithPhotos": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

No description

## `runStats` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("raidr-api/cars-com-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("raidr-api/cars-com-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 '{}' |
apify call raidr-api/cars-com-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Cars.com Vehicle Scraper + Instant Results",
        "description": "Scrape Cars.com vehicles by make, model, year, price, and mileage. Features exact listing dates, private seller only, and deduplication. Optimized for lowest cost per run using advanced extraction techniques. Advanced filtering and instant notifications of vehicles posted to Cars.com Marketplace.",
        "version": "0.0",
        "x-build-id": "SuX2a6CA60NG7IOw3"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/raidr-api~cars-com-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-raidr-api-cars-com-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/raidr-api~cars-com-scraper/runs": {
            "post": {
                "operationId": "runs-sync-raidr-api-cars-com-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/raidr-api~cars-com-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-raidr-api-cars-com-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",
                "required": [
                    "zipCode"
                ],
                "properties": {
                    "zipCode": {
                        "title": "📍 ZIP Code",
                        "type": "string",
                        "description": "5-digit US ZIP code used as the centre of the search.",
                        "default": "77002"
                    },
                    "radius": {
                        "title": "🗺️ Radius (miles)",
                        "minimum": 10,
                        "type": "integer",
                        "description": "Distance around the ZIP, in miles (snapped to the nearest supported value). Default 50.",
                        "default": 50
                    },
                    "maxItems": {
                        "title": "📦 Maximum Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of unique listings to save.",
                        "default": 100
                    },
                    "sort": {
                        "title": "↕️ Sort Results By",
                        "enum": [
                            "best-match",
                            "newest-listed",
                            "price-asc",
                            "price-desc",
                            "mileage-asc",
                            "mileage-desc",
                            "year-desc",
                            "year-asc",
                            "best-deal",
                            "distance"
                        ],
                        "type": "string",
                        "description": "Ordering for results.",
                        "default": "best-match"
                    },
                    "stockType": {
                        "title": "🏷️ Condition",
                        "enum": [
                            "all",
                            "new",
                            "used",
                            "cpo",
                            "new_cpo"
                        ],
                        "type": "string",
                        "description": "New, used, or certified pre-owned.",
                        "default": "all"
                    },
                    "makes": {
                        "title": "🚘 Makes",
                        "type": "array",
                        "description": "Make slugs, e.g. [\"hyundai\", \"toyota\"]. Leave empty for all makes.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "models": {
                        "title": "🚙 Models",
                        "type": "array",
                        "description": "Model slugs, namespaced by make, e.g. [\"hyundai-elantra\", \"toyota-camry\"].",
                        "items": {
                            "type": "string"
                        }
                    },
                    "minPrice": {
                        "title": "💵 Minimum Price ($)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price in USD. Leave empty for no minimum."
                    },
                    "maxPrice": {
                        "title": "💰 Maximum Price ($)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price in USD. Leave empty for no maximum."
                    },
                    "minYear": {
                        "title": "📅 Minimum Year",
                        "minimum": 1900,
                        "type": "integer",
                        "description": "Earliest model year. Leave empty for no minimum."
                    },
                    "maxYear": {
                        "title": "📅 Maximum Year",
                        "minimum": 1900,
                        "type": "integer",
                        "description": "Latest model year. Leave empty for no maximum."
                    },
                    "maxMileage": {
                        "title": "🧭 Maximum Mileage",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum odometer reading. Leave empty for no limit."
                    },
                    "bodyStyles": {
                        "title": "🚙 Body Styles",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by body style. Leave empty to include all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "suv",
                                "sedan",
                                "truck",
                                "hatchback",
                                "coupe",
                                "convertible",
                                "wagon",
                                "van",
                                "minivan"
                            ],
                            "enumTitles": [
                                "SUV",
                                "Sedan",
                                "Truck",
                                "Hatchback",
                                "Coupe",
                                "Convertible",
                                "Wagon",
                                "Van",
                                "Minivan"
                            ]
                        }
                    },
                    "sizes": {
                        "title": "📐 Sizes",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by vehicle size. Leave empty to include all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "full_size",
                                "mid_size",
                                "compact",
                                "subcompact"
                            ],
                            "enumTitles": [
                                "Full size",
                                "Mid size",
                                "Compact",
                                "Subcompact"
                            ]
                        }
                    },
                    "fuelTypes": {
                        "title": "⛽ Fuel Types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by fuel type. Leave empty to include all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "gasoline",
                                "electric",
                                "hybrid",
                                "diesel",
                                "plug_in_hybrid"
                            ],
                            "enumTitles": [
                                "Gasoline",
                                "Electric",
                                "Hybrid",
                                "Diesel",
                                "Plug-in Hybrid"
                            ]
                        }
                    },
                    "transmissions": {
                        "title": "⚙️ Transmissions",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by transmission. Leave empty to include all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "automatic",
                                "automanual",
                                "cvt",
                                "manual"
                            ],
                            "enumTitles": [
                                "Automatic",
                                "Automated Manual",
                                "CVT",
                                "Manual"
                            ]
                        }
                    },
                    "drivetrains": {
                        "title": "🛞 Drivetrains",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by drivetrain. Leave empty to include all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "all_wheel_drive",
                                "four_wheel_drive",
                                "front_wheel_drive",
                                "rear_wheel_drive"
                            ],
                            "enumTitles": [
                                "All-Wheel Drive",
                                "Four-Wheel Drive",
                                "Front-Wheel Drive",
                                "Rear-Wheel Drive"
                            ]
                        }
                    },
                    "exteriorColors": {
                        "title": "🎨 Exterior Colors",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by exterior color. Leave empty to include all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "beige",
                                "black",
                                "blue",
                                "brown",
                                "gold",
                                "gray",
                                "green",
                                "orange",
                                "purple",
                                "red",
                                "silver",
                                "white",
                                "yellow"
                            ]
                        }
                    },
                    "interiorColors": {
                        "title": "🪑 Interior Colors",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by interior color. Leave empty to include all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "beige",
                                "black",
                                "blue",
                                "brown",
                                "gray",
                                "green",
                                "orange",
                                "red",
                                "white",
                                "yellow"
                            ]
                        }
                    },
                    "sellerTypes": {
                        "title": "🧑‍💼 Seller Types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by seller type. Leave empty to include all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "dealership",
                                "online_seller",
                                "private_seller"
                            ],
                            "enumTitles": [
                                "Dealership",
                                "Online Seller",
                                "Private Seller"
                            ]
                        }
                    },
                    "dealRatings": {
                        "title": "🏆 Deal Ratings",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include listings with these Cars.com deal ratings. Leave empty to include all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "great",
                                "good",
                                "fair"
                            ],
                            "enumTitles": [
                                "Great Deal",
                                "Good Deal",
                                "Fair Deal"
                            ]
                        }
                    },
                    "features": {
                        "title": "✨ Features",
                        "type": "array",
                        "description": "Feature slugs from any group, e.g. [\"heated_seats\", \"apple_carplay\", \"backup_camera\", \"sunroof_moonroof\", \"leather_seats\"]. Each is routed to its correct filter group automatically.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "keywords": {
                        "title": "🔑 Keywords",
                        "type": "array",
                        "description": "Free-text keywords the listing must contain, e.g. [\"heated seats\"].",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeShippable": {
                        "title": "🚚 Include Shippable",
                        "type": "boolean",
                        "description": "Include listings that can be shipped to the search area (not just local ones).",
                        "default": false
                    },
                    "onlyWithPhotos": {
                        "title": "🖼️ Only With Photos",
                        "type": "boolean",
                        "description": "Only include listings that have photos.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Residential proxies are strongly recommended (Cars.com is behind Cloudflare; some IPs are challenged).",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
