# 🚗Autotrader Car Data scraper USA🇺🇸 (`jordan-byte/autotrader-car-data-scraper-usa`) Actor

Give it a single vehicle listing page URL and it pulls the complete set of details for that one car full specs, dealer info, photos, and equipment list included.

- **URL**: https://apify.com/jordan-byte/autotrader-car-data-scraper-usa.md
- **Developed by:** [Jordan Byte](https://apify.com/jordan-byte) (community)
- **Categories:** Automation, E-commerce, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.70 / 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.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

# README

🚗 **Turn any AutoTrader.com search or listing page into clean, structured data in minutes** - no coding, no manual copy-pasting, no missed fields. Get make, model, year, trim, price, mileage, VIN, condition, colors, dealer details, features, photos, and more, delivered straight to your dataset and ready to plug into your workflow.

### 🔍 What does AutoTrader Car Scraper do?

AutoTrader Car Scraper reads the same pages you'd browse on [AutoTrader.com](https://www.autotrader.com) and turns them into clean, structured data. Give it a **search results page** URL (any make, model, price range, or location filter you've applied on the site) and it collects every matching vehicle. Give it a **single vehicle listing page** URL and it pulls the complete set of details for that one car - full specs, dealer info, photos, and equipment list included.

Because it runs on the Apify platform, you also get automatic proxy rotation to avoid blocks, one-click scheduling for recurring runs, a REST API and webhooks for integrations, and full run monitoring - all without maintaining any infrastructure yourself. ⚡

### 💼 Why use AutoTrader Car Scraper?

- 📊 **Market research** - track pricing, mileage, and inventory trends for specific makes and models across regions.
- 🏢 **Dealer and competitor monitoring** - keep an eye on a competitor's live inventory and pricing changes.
- 🎯 **Lead generation** - build lists of vehicles matching a buyer's exact criteria.
- 🗂️ **Data enrichment** - pull VINs, specs, and features into your own CRM, spreadsheet, or valuation tool.
- 💰 **Price tracking** - feed listings into a monitoring workflow to catch price drops or new arrivals the moment they happen.

### 🚀 How to use AutoTrader Car Scraper

1. Go to the **Input** tab.
2. On AutoTrader.com, browse to the search results (e.g. a specific make/model/location) or the individual vehicle page you're interested in, and copy its URL from your browser's address bar.
3. Paste the URL(s) into the **Start URLs** field. You can mix search results pages and individual vehicle pages in the same run.
4. If you added a search results page, set **Max items per search URL** to control how many vehicles to collect from it.
5. Click **Start** and wait for the run to finish.
6. Open the **Dataset** tab to preview, filter, and export your results. ✅

#### 💡 Tip

Any filters you apply on the AutoTrader.com website - price range, mileage, distance, new/used/certified, body style, and so on - are already part of the page's URL. Just copy the URL after applying your filters and paste it into **Start URLs**; you don't need to configure filtering separately in the Actor.

### ⚙️ Input

| Field                | Type    | Description                                                                                                                                                                            |
| -------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `startUrls`          | Array   | One or more AutoTrader.com search results or vehicle listing page URLs.                                                                                                                |
| `maxItems`           | Integer | Maximum number of vehicles to collect per search results URL (default: 5). Doesn't limit individual vehicle URLs, which always return one item.                                        |
| `proxyConfiguration` | Object  | Proxy settings. AutoTrader.com blocks most requests that don't come through a proxy, so leaving Apify Proxy enabled (the default) is strongly recommended.                             |
| `useCachedSession`   | Boolean | When enabled (default), the Actor reuses a session left over from a previous run to start faster and reduce cost - great for scheduled/recurring runs. Turn off to always start fresh. |

Example input:

```json
{
    "startUrls": [
        { "url": "https://www.autotrader.com/cars-for-sale/new-cars/audi/a3/los-angeles-ca?searchRadius=0&zip=90002" },
        { "url": "https://www.autotrader.com/cars-for-sale/vehicle/784253457?zip=90002" }
    ],
    "maxItems": 20,
    "proxyConfiguration": { "useApifyProxy": true },
    "useCachedSession": true
}
```

See the **Input** tab for the full list of options and their defaults.

### 📦 Output

Each vehicle is saved as one item in the dataset, for example:

```json
{
    "id": 784253457,
    "vin": "WAUGUDGY2TA107861",
    "url": "https://www.autotrader.com/cars-for-sale/vehicle/784253457",
    "title": "New 2026 Audi A3 2.0T Premium Plus",
    "year": 2026,
    "make": "Audi",
    "model": "A3",
    "trim": "2.0T Premium Plus",
    "condition": "New",
    "price": 47890,
    "msrp": 47890,
    "mileage": 10,
    "bodyStyle": "SEDAN",
    "drivetrain": "AWD4WD",
    "transmission": "Automatic",
    "engine": "4-Cylinder Turbo",
    "fuelType": "Gasoline",
    "exteriorColor": "Mythos Black Metallic",
    "interiorColor": "Black",
    "mpgCity": 24,
    "mpgHighway": 34,
    "stockNumber": "TA107861",
    "daysOnMarket": 43,
    "description": "Mythos Black Metallic 2026 Audi A3 40 Premium Plus quattro...",
    "features": { "exterior": ["Heated door mirrors", "..."], "interior": ["Leather steering wheel", "..."] },
    "images": ["https://images.autotrader.com/hn/c/dbe28f91d2834fbca2a5964b6eae4a03.jpg"],
    "dealerName": "Audi San Diego",
    "dealerPhone": "8582256046",
    "dealerRating": 4.6,
    "dealerRatingCount": 2525,
    "dealerAddress": "9010 Miramar Road",
    "dealerCity": "San Diego",
    "dealerState": "CA",
    "dealerZip": "92126",
    "distance": 97.29
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel from the **Dataset** tab, or fetch it via the Apify API. 📥

#### 🧾 Data table

| Field                                                            | Description                                                         |
| ---------------------------------------------------------------- | ------------------------------------------------------------------- |
| `id` / `vin` / `url`                                             | AutoTrader listing ID, Vehicle Identification Number, and URL       |
| `title`                                                          | Listing headline                                                    |
| `make`, `model`, `trim`, `year`                                  | Core vehicle identification                                         |
| `price`, `msrp`, `mileage`, `condition`                          | Asking price, MSRP, odometer reading, and new/used/certified status |
| `bodyStyle`, `drivetrain`, `transmission`, `engine`, `fuelType`  | Vehicle specifications                                              |
| `exteriorColor`, `interiorColor`                                 | Colors                                                              |
| `mpgCity`, `mpgHighway`                                          | Fuel economy                                                        |
| `stockNumber`, `daysOnMarket`                                    | Dealer stock number and days the listing has been active            |
| `description`, `features`                                        | Full listing description and equipment list, grouped by category    |
| `images`                                                         | Listing photo URLs                                                  |
| `dealerName`, `dealerPhone`, `dealerRating`, `dealerRatingCount` | Seller contact details and reputation                               |
| `dealerAddress`, `dealerCity`, `dealerState`, `dealerZip`        | Seller location                                                     |
| `distance`                                                       | Distance in miles from the search location                          |

Field availability can vary slightly between listings, depending on what the seller provided.

### 💵 Cost estimation

How much does it cost to scrape AutoTrader data? Pricing depends on your Apify plan's compute unit rate and the number of pages fetched, which is driven by how many vehicles you request. A small run of a few dozen vehicles typically finishes in a couple of minutes and costs a fraction of a compute unit. Start with a low **Max items per search URL** value to estimate cost before scaling up to larger runs, and keep **Reuse session between runs** enabled to shave time (and cost) off repeat runs. Apify's free tier includes monthly platform usage credit, so light or occasional use may cost nothing. 🎉

### 🎯 Tips for better runs

- Keep **Max items per search URL** modest for daily monitoring runs to control cost and run time; raise it only when you need a full inventory snapshot.
- Prefer narrower search URLs (a specific make/model/location) over very broad ones - they return more relevant results and finish faster.
- Leave **Reuse session between runs** on for scheduled/recurring runs - it noticeably speeds up subsequent runs.
- Use the Apify **Schedule** feature to re-run this Actor daily or weekly and track how listings change over time.
- If a run returns fewer results than expected, AutoTrader may have changed its page layout or increased anti-bot protection - try again shortly, or reach out through the Issues tab.

### ❓ FAQ

**Is this legal?** This Actor only collects publicly visible listing data. You are responsible for using the data in accordance with AutoTrader.com's Terms of Service and any applicable laws in your jurisdiction, especially around personal data and commercial use.

**Does this work for any location or vehicle type?** Yes - any search results page you can browse on AutoTrader.com (new, used, or certified; any make, model, or location) can be used as a start URL.

**Why did some fields come back empty?** Not every listing includes every field (a private seller may not provide a stock number, for example). The Actor returns `null` for anything that isn't available on the page.

**Found a bug or have a feature request?** Please use the Issues tab on this Actor's page - feedback directly shapes future updates. For a custom version of this scraper tailored to your specific workflow, reach out through the same tab. 🙌

# Actor input Schema

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

One or more AutoTrader.com pages to scrape. Paste either search results page URLs (a make/model/location search, e.g. https://www.autotrader.com/cars-for-sale/new-cars/audi/a3/los-angeles-ca?searchRadius=0\&zip=90002) to get every matching vehicle, or a single vehicle listing page URL (e.g. https://www.autotrader.com/cars-for-sale/vehicle/784253457?zip=90002) to get the full details for that one vehicle. You can mix both types in the same list.

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

The maximum number of vehicles to save for each search results URL in the list above. This limit does not apply to individual vehicle listing URLs, which always return exactly one item.

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

AutoTrader.com actively blocks requests that don't come through a proxy, so a proxy is required for this Actor to work reliably.

## `useCachedSession` (type: `boolean`):

Speeds up future runs and reduces cost by reusing a browsing session left over from a previous run instead of establishing a brand new one every time. Recommended for scheduled/recurring runs. Turn this off to always start completely fresh.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.autotrader.com/cars-for-sale/new-cars/audi/a3/los-angeles-ca?newSearch=false&searchRadius=0&zip=90002"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "useCachedSession": true
}
```

# Actor output Schema

## `vehicles` (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 = {
    "startUrls": [
        {
            "url": "https://www.autotrader.com/cars-for-sale/new-cars/audi/a3/los-angeles-ca?newSearch=false&searchRadius=0&zip=90002"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("jordan-byte/autotrader-car-data-scraper-usa").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 = { "startUrls": [{ "url": "https://www.autotrader.com/cars-for-sale/new-cars/audi/a3/los-angeles-ca?newSearch=false&searchRadius=0&zip=90002" }] }

# Run the Actor and wait for it to finish
run = client.actor("jordan-byte/autotrader-car-data-scraper-usa").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.autotrader.com/cars-for-sale/new-cars/audi/a3/los-angeles-ca?newSearch=false&searchRadius=0&zip=90002"
    }
  ]
}' |
apify call jordan-byte/autotrader-car-data-scraper-usa --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,jordan-byte/autotrader-car-data-scraper-usa"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ZGLULFvdIU4zgajIZ/builds/1WCtz1RFccx2Geeg6/openapi.json
