# CarsDirect Vehicle Trims Scraper (`parseforge/carsdirect-vehicle-scraper`) Actor

Extract vehicle trim data from CarsDirect — MSRP, invoice, dealer prices, MPG, engine specs, body type, seating, and more for any make/model. Free preview caps at 10 trims. Perfect for car shoppers, dealers, and market analysts.

- **URL**: https://apify.com/parseforge/carsdirect-vehicle-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (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 $5.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

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)

## 🚗 CarsDirect Vehicle Scraper

> 🚀 Extract detailed vehicle trim data from CarsDirect including MSRP, invoice prices, engine specs, and fuel economy for every make and model. Results ready in minutes, not hours.

> 🕒 Last updated: 2026-04-17

CarsDirect Vehicle Scraper pulls structured vehicle trim information straight from CarsDirect listings. Each record includes over 50 data points: MSRP, invoice price, CarsDirect-specific pricing, engine displacement, transmission type, drive configuration, fuel economy ratings, seating capacity, and real-time availability status. You can filter by make, model, or both to narrow your results down to exactly what you need.

If you run a dealership pricing desk, an automotive research firm, or a fleet management operation, this tool replaces hours of manual browsing. Analysts use it to compare trim-level pricing across manufacturers. Dealers track competitor rates and availability shifts on a weekly basis. Data teams pipe it into dashboards for seasonal trend analysis.

| Target | CarsDirect |
|--------|-------------------------------|
| Use Cases | Dealer rate monitoring, trim comparison research, fleet procurement analysis, automotive market intelligence |

---

### 📋 What it does

- 💰 **MSRP and invoice extraction.** Pulls manufacturer suggested retail and dealer invoice prices for every trim in your search.
- 🔧 **Engine and drivetrain specs.** Captures engine type, displacement, transmission, and drive configuration per trim.
- ⛽ **Fuel economy ratings.** Collects city and highway MPG so you can compare efficiency across trims and models.
- 📦 **Multi-make batch processing.** Scrape Toyota, Honda, Ford, and any other makes in a single run.
- ✅ **Availability tracking.** Reports whether a trim is available, sold out, research-only, or in preview status.

Each record gives you a full picture of one vehicle trim: pricing at three levels (MSRP, invoice, CarsDirect rate), mechanical specifications, fuel data, body type, seating, and current availability flags. Images are included where available.

> 💡 **Why it matters:** Manually collecting trim-level pricing and specs from CarsDirect for even 20 models takes a full workday. This actor does it in minutes and delivers clean, structured data ready for spreadsheets or databases.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>makes</code></td><td>array</td><td><code>["toyota", "honda"]</code></td><td>Vehicle manufacturers to scrape. Leave empty to scan all available makes.</td></tr>
<tr><td><code>models</code></td><td>array</td><td><code>["camry", "civic"]</code></td><td>Specific models per make. Leave empty to collect all models for each selected make.</td></tr>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Maximum results to return. Free users are limited to 10 items. Paid users can set up to 1,000,000.</td></tr>
<tr><td><code>maxConcurrency</code></td><td>integer</td><td><code>5</code></td><td>Number of parallel requests. Lower this value if you hit rate limits.</td></tr>
</tbody>
</table>

**Example: scrape Toyota Camry and Honda Civic trims.**

```json
{
  "makes": ["toyota", "honda"],
  "models": ["camry", "civic"],
  "maxItems": 10
}
````

**Example: scrape all Ford trims with higher concurrency.**

```json
{
  "makes": ["ford"],
  "models": [],
  "maxItems": 500,
  "maxConcurrency": 10
}
```

> ⚠️ **Good to Know:** CarsDirect organizes vehicles by make, model, and trim. When you leave both `makes` and `models` empty, the actor scans every available make and model on the site. Large runs may take 10 to 30 minutes depending on concurrency settings.

***

### 📊 Output

Each record contains **50+ fields**. Download as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🖼️ `imageUrl` | string | `"https://images.carsdirect.com/..."` |
| 🚗 `make` | string | `"Toyota"` |
| 🚗 `model` | string | `"Camry"` |
| 📅 `year` | integer | `2026` |
| 📝 `trimName` | string | `"LE FWD"` |
| 💰 `msrp` | number | `29495` |
| 💰 `invoicePrice` | number | `27850` |
| 💳 `carsdirectPrice` | number | `28100` |
| 🔧 `engine` | string | `"2.5L 4-Cylinder"` |
| ⛽ `cityMpg` | integer | `28` |
| 🛣️ `highwayMpg` | integer | `39` |
| 🚙 `driveType` | string | `"FWD"` |
| ⚙️ `transmission` | string | `"8-Speed Automatic"` |
| ✅ `availableAsNew` | boolean | `true` |
| 🔗 `listingUrl` | string | `"https://carsdirect.com/..."` |

#### 📦 Sample records

<details>
<summary><strong>🚗 2026 Toyota Camry LE</strong></summary>

```json
{
  "imageUrl": "https://images.carsdirect.com/toyota/camry-le.jpg",
  "make": "Toyota",
  "model": "Camry",
  "year": 2026,
  "trimName": "LE FWD",
  "realTrimName": "Camry LE",
  "msrp": 29495,
  "invoicePrice": 27850,
  "carsdirectPrice": 28100,
  "salesPrice": 28500,
  "engine": "2.5L 4-Cylinder",
  "engineType": "Gas",
  "driveType": "FWD",
  "transmission": "8-Speed Automatic",
  "fuelType": "Gasoline",
  "cityMpg": 28,
  "highwayMpg": 39,
  "bodyType": "Sedan",
  "seatingCapacity": 5,
  "availableAsNew": true,
  "soldOutStatus": false,
  "listingUrl": "https://www.carsdirect.com/toyota/camry/le",
  "scrapedAt": "2026-04-17T12:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🚗 2026 Honda Civic Sport</strong></summary>

```json
{
  "imageUrl": "https://images.carsdirect.com/honda/civic-sport.jpg",
  "make": "Honda",
  "model": "Civic",
  "year": 2026,
  "trimName": "Sport CVT",
  "realTrimName": "Civic Sport",
  "msrp": 27800,
  "invoicePrice": 26200,
  "carsdirectPrice": 26800,
  "salesPrice": 27100,
  "engine": "2.0L 4-Cylinder",
  "engineType": "Gas",
  "driveType": "FWD",
  "transmission": "CVT",
  "fuelType": "Gasoline",
  "cityMpg": 31,
  "highwayMpg": 40,
  "bodyType": "Sedan",
  "seatingCapacity": 5,
  "availableAsNew": true,
  "soldOutStatus": false,
  "listingUrl": "https://www.carsdirect.com/honda/civic/sport",
  "scrapedAt": "2026-04-17T12:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🚙 2026 Ford Mustang GT</strong></summary>

```json
{
  "imageUrl": "https://images.carsdirect.com/ford/mustang-gt.jpg",
  "make": "Ford",
  "model": "Mustang",
  "year": 2026,
  "trimName": "GT Fastback",
  "realTrimName": "Mustang GT",
  "msrp": 42495,
  "invoicePrice": 40100,
  "carsdirectPrice": 40800,
  "salesPrice": 41200,
  "engine": "5.0L V8",
  "engineType": "Gas",
  "driveType": "RWD",
  "transmission": "6-Speed Manual",
  "fuelType": "Gasoline",
  "cityMpg": 15,
  "highwayMpg": 24,
  "bodyType": "Coupe",
  "seatingCapacity": 4,
  "availableAsNew": true,
  "soldOutStatus": false,
  "listingUrl": "https://www.carsdirect.com/ford/mustang/gt",
  "scrapedAt": "2026-04-17T12:00:00.000Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 💰 | **Three-tier pricing.** MSRP, invoice, and CarsDirect-specific rates in every record. |
| 🔧 | **Full mechanical specs.** Engine, transmission, drivetrain, and fuel type for each trim. |
| ⛽ | **Fuel economy data.** City and highway MPG ratings for efficiency comparisons. |
| 📦 | **Batch processing.** Scrape multiple makes and models in a single run. |
| ✅ | **Availability flags.** Know instantly which trims are available, sold out, or research-only. |
| 📊 | **50+ fields per record.** From rebate amounts to regional pricing to payload capacity. |
| ⚡ | **Fast execution.** Concurrent requests finish large datasets in minutes, not hours. |

> Over 50 vehicle makes and hundreds of models are listed on CarsDirect, each with multiple trims. Collecting this data manually is not practical at scale.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Setup |
|---|---|---|---|---|
| **⭐ CarsDirect Vehicle Scraper** *(this Actor)* | $5 free credit, then pay-per-use | All makes, models, 50+ fields | **Live per run** | ⚡ 2 min |
| Official API | Not publicly available | N/A | N/A | N/A |
| Manual browsing | Free (your time) | One trim at a time | Manual | Slow |
| Third-party data providers | $500+/month | Varies by vendor | Weekly or monthly | Days |

Pick this actor when you need trim-level pricing and specs on demand without monthly contracts or manual data entry.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the CarsDirect Vehicle Scraper page on the Apify Store.
3. 🎯 **Set input.** Choose your makes, models, and max items. Adjust concurrency if needed.
4. 🚀 **Run it.** Click **Start** and let the Actor collect your data.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 💰 Dealer Rate Monitoring

- Track MSRP and invoice prices weekly across competitor trims
- Compare CarsDirect-specific rates to your own pricing
- Spot price drops before seasonal promotions
- Build historical pricing databases for trend analysis

</td>
<td width="50%" valign="top">

#### 📊 Automotive Market Research

- Compare fuel economy across 100+ trims for efficiency reports
- Analyze engine and drivetrain distributions by segment
- Track which trims get sold out fastest
- Feed data into market sizing models

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 🚙 Fleet Procurement

- Evaluate trims by TCO including fuel costs and MSRP
- Filter by drivetrain type for fleet standardization
- Compare seating and payload capacity across models
- Export data for RFP submissions to dealers

</td>
<td width="50%" valign="top">

#### 🔍 Competitive Intelligence

- Monitor availability status to gauge supply trends
- Track regional pricing differences across ZIP codes
- Identify new trims as they appear on the market
- Build automated alerts for price changes

</td>
</tr>
</table>

***

### 🔌 Automating CarsDirect Vehicle Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Set up a weekly run to track pricing shifts across your target models automatically.

***

### ❓ Frequently Asked Questions

<details>
<summary><strong>🧩 How does it work?</strong></summary>
The actor visits CarsDirect pages for each make and model you specify, extracts embedded vehicle trim data, and returns structured records with pricing, specs, and availability status.
</details>

<details>
<summary><strong>📊 How accurate is the data?</strong></summary>
Data is scraped in real time from CarsDirect. Prices and availability reflect what's on the site at the moment of the run. For the freshest data, schedule regular runs.
</details>

<details>
<summary><strong>⚖️ Is this legal to use?</strong></summary>
This actor collects publicly available information from CarsDirect. You are responsible for complying with applicable laws and terms of service in your jurisdiction.
</details>

<details>
<summary><strong>💼 Can I use this data commercially?</strong></summary>
The data is publicly available. Commercial use depends on your local regulations and the terms of service of the source. Consult legal counsel if you are uncertain.
</details>

<details>
<summary><strong>💳 Do I need a paid plan?</strong></summary>
No. Free accounts get $5 in credit. Free users are limited to 10 items per run. Paid plans remove that limit and allow up to 1,000,000 items per run.
</details>

<details>
<summary><strong>📅 Can I schedule automatic runs?</strong></summary>
Yes. Use the Apify Schedules feature to trigger the actor daily, weekly, or on any cron interval. Results are stored in your dataset history.
</details>

<details>
<summary><strong>⚡ How long does a typical run take?</strong></summary>
A run collecting 100 trims usually finishes in 2 to 5 minutes. Larger datasets with hundreds of models may take 10 to 30 minutes depending on concurrency.
</details>

<details>
<summary><strong>🛡️ What if the site blocks my requests?</strong></summary>
The actor handles request management automatically. If you experience issues, try lowering the concurrency setting. Residential proxies can be enabled for additional reliability.
</details>

<details>
<summary><strong>📥 What export formats are available?</strong></summary>
You can download results as CSV, Excel (XLSX), JSON, or XML from the Dataset tab in the Apify Console.
</details>

<details>
<summary><strong>🔄 Does it handle pagination automatically?</strong></summary>
Yes. The actor iterates through all available makes, models, and trims without manual intervention.
</details>

<details>
<summary><strong>🆘 How do I get help?</strong></summary>
Open our contact form at the link below to report issues, request features, or propose custom projects.
</details>

***

### 🔌 Integrate with any app

CarsDirect Vehicle Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe data into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes.

***

### 🔗 Recommended Actors

- [**🚗 Autotrader Scraper**](https://apify.com/parseforge/autotrader-scraper) - Scrape used vehicle listings and prices from Autotrader
- [**🏷️ Copart Public Search Scraper**](https://apify.com/parseforge/copart-public-search-scraper) - Extract auction vehicle data from Copart
- [**🚙 duPont Registry Scraper**](https://apify.com/parseforge/dupont-registry-scraper) - Collect luxury vehicle listings from duPont Registry
- [**🔨 Auctiontime Scraper**](https://apify.com/parseforge/auctiontime-scraper) - Extract auction equipment and vehicle data
- [**💼 AutoNation Scraper**](https://apify.com/parseforge/autonation-scraper) - Scrape vehicle inventory from AutoNation dealerships

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more data scrapers and tools.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by CarsDirect or its parent companies. All trademarks mentioned are the property of their respective owners. Only publicly available data is collected.

# Actor input Schema

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

List of vehicle makes to scrape (e.g. \["toyota", "honda"]). Leave empty to scrape all available makes.

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

List of models to scrape for each make (e.g. \["camry", "civic"]). Leave empty to scrape all models for each make.

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000.

## `maxConcurrency` (type: `integer`):

Maximum number of parallel requests. Lower this if you get rate-limited.

## Actor input object example

```json
{
  "makes": [
    "toyota",
    "honda"
  ],
  "models": [
    "camry",
    "civic"
  ],
  "maxItems": 10,
  "maxConcurrency": 5
}
```

# Actor output Schema

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

Dataset with all scraped items

# 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 = {
    "makes": [
        "toyota",
        "honda"
    ],
    "models": [
        "camry",
        "civic"
    ],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/carsdirect-vehicle-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 = {
    "makes": [
        "toyota",
        "honda",
    ],
    "models": [
        "camry",
        "civic",
    ],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/carsdirect-vehicle-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 '{
  "makes": [
    "toyota",
    "honda"
  ],
  "models": [
    "camry",
    "civic"
  ],
  "maxItems": 10
}' |
apify call parseforge/carsdirect-vehicle-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "CarsDirect Vehicle Trims Scraper",
        "description": "Extract vehicle trim data from CarsDirect — MSRP, invoice, dealer prices, MPG, engine specs, body type, seating, and more for any make/model. Free preview caps at 10 trims. Perfect for car shoppers, dealers, and market analysts.",
        "version": "1.0",
        "x-build-id": "G16DoK1RS4QJUftSj"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~carsdirect-vehicle-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-carsdirect-vehicle-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/parseforge~carsdirect-vehicle-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-carsdirect-vehicle-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/parseforge~carsdirect-vehicle-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-carsdirect-vehicle-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": {
                    "makes": {
                        "title": "Makes",
                        "type": "array",
                        "description": "List of vehicle makes to scrape (e.g. [\"toyota\", \"honda\"]). Leave empty to scrape all available makes.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "models": {
                        "title": "Models",
                        "type": "array",
                        "description": "List of models to scrape for each make (e.g. [\"camry\", \"civic\"]). Leave empty to scrape all models for each make.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000."
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of parallel requests. Lower this if you get rate-limited.",
                        "default": 5
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
