# Carfax.com Scraper

Scrape vehicle history and listing data from Carfax.com - including VINs, mileage, accident records, ownership history, and pricing. Ideal for automotive market research, pricing analysis, and lead generation. Fast, structured, and customizable extraction.

## Actor Statistics

- Total users: 22
- Monthly users: 8
- Runs succeeded: 97.56%
- Categories: Automation, Developer tools

## Pricing

$29.00/month + usage

## Input Schema

- **zipcode** (type: string): Zipcode to start with.
- **maker** (type: string): Maker to start with.
- **model** (type: string): Model to start with.
- **priceUnder** (type: string): Price under to start with.
- **minYear** (type: string): Min year to start with.
- **type** (type: string): Type to start with.
- **maxItems** (type: integer): Maximum number of items that will be extracted.

## API example

## Carfax.com Scraper

- **OpenAPI Version:** `3.1.1`
- **API Version:** `0.0`

Scrape vehicle history and listing data from Carfax.com - including VINs, mileage, accident records, ownership history, and pricing. Ideal for automotive market research, pricing analysis, and lead generation. Fast, structured, and customizable extraction.

### Servers

- **URL:** `https://api.apify.com/v2`

### Operations

#### Executes an Actor, waits for its completion, and returns Actor's dataset items in response.

- **Method:** `POST`
- **Path:** `/acts/lexis-solutions~carfax-com/run-sync-get-dataset-items`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`type` (required)**

  `string`, possible values: `"new", "used"`, default: `"used"` — Type to start with.

- **`zipcode` (required)**

  `string`, default: `"10001"` — Zipcode to start with.

- **`maker`**

  `string` — Maker to start with.

- **`maxItems`**

  `integer`, default: `10` — Maximum number of items that will be extracted.

- **`minYear`**

  `string`, possible values: `"", "2008", "2010", "2011", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"` — Min year to start with.

- **`model`**

  `string` — Model to start with.

- **`priceUnder`**

  `string`, possible values: `"", "5000", "10000", "15000", "20000", "25000", "35000", "50000", "75000"` — Price under to start with.

**Example:**

```
{
  "zipcode": "10001",
  "maker": "",
  "model": "",
  "priceUnder": "",
  "minYear": "",
  "type": "used",
  "maxItems": 10
}
```

##### Responses

###### Status: 200 OK

#### Executes an Actor and returns information about the initiated run in response.

- **Method:** `POST`
- **Path:** `/acts/lexis-solutions~carfax-com/runs`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`type` (required)**

  `string`, possible values: `"new", "used"`, default: `"used"` — Type to start with.

- **`zipcode` (required)**

  `string`, default: `"10001"` — Zipcode to start with.

- **`maker`**

  `string` — Maker to start with.

- **`maxItems`**

  `integer`, default: `10` — Maximum number of items that will be extracted.

- **`minYear`**

  `string`, possible values: `"", "2008", "2010", "2011", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"` — Min year to start with.

- **`model`**

  `string` — Model to start with.

- **`priceUnder`**

  `string`, possible values: `"", "5000", "10000", "15000", "20000", "25000", "35000", "50000", "75000"` — Price under to start with.

**Example:**

```
{
  "zipcode": "10001",
  "maker": "",
  "model": "",
  "priceUnder": "",
  "minYear": "",
  "type": "used",
  "maxItems": 10
}
```

##### Responses

###### Status: 200 OK

\####### Content-Type: application/json

- **`data`**

  `object`

  - **`actId`**

    `string`

  - **`buildId`**

    `string`

  - **`buildNumber`**

    `string`

  - **`containerUrl`**

    `string`

  - **`defaultDatasetId`**

    `string`

  - **`defaultKeyValueStoreId`**

    `string`

  - **`defaultRequestQueueId`**

    `string`

  - **`finishedAt`**

    `string`, format: `date-time`

  - **`id`**

    `string`

  - **`meta`**

    `object`

    - **`origin`**

      `string`

    - **`userAgent`**

      `string`

  - **`options`**

    `object`

    - **`build`**

      `string`

    - **`diskMbytes`**

      `integer`

    - **`memoryMbytes`**

      `integer`

    - **`timeoutSecs`**

      `integer`

  - **`startedAt`**

    `string`, format: `date-time`

  - **`stats`**

    `object`

    - **`computeUnits`**

      `integer`

    - **`inputBodyLen`**

      `integer`

    - **`rebootCount`**

      `integer`

    - **`restartCount`**

      `integer`

    - **`resurrectCount`**

      `integer`

  - **`status`**

    `string`

  - **`usage`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `integer`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`usageTotalUsd`**

    `number`

  - **`usageUsd`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `number`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`userId`**

    `string`

**Example:**

```
{
  "data": {
    "id": "",
    "actId": "",
    "userId": "",
    "startedAt": "2025-01-08T00:00:00.000Z",
    "finishedAt": "2025-01-08T00:00:00.000Z",
    "status": "READY",
    "meta": {
      "origin": "API",
      "userAgent": ""
    },
    "stats": {
      "inputBodyLen": 2000,
      "rebootCount": 0,
      "restartCount": 0,
      "resurrectCount": 0,
      "computeUnits": 0
    },
    "options": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 1024,
      "diskMbytes": 2048
    },
    "buildId": "",
    "defaultKeyValueStoreId": "",
    "defaultDatasetId": "",
    "defaultRequestQueueId": "",
    "buildNumber": "1.0.0",
    "containerUrl": "",
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 1,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    },
    "usageTotalUsd": 0.00005,
    "usageUsd": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 0.00005,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    }
  }
}
```

#### Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.

- **Method:** `POST`
- **Path:** `/acts/lexis-solutions~carfax-com/run-sync`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`type` (required)**

  `string`, possible values: `"new", "used"`, default: `"used"` — Type to start with.

- **`zipcode` (required)**

  `string`, default: `"10001"` — Zipcode to start with.

- **`maker`**

  `string` — Maker to start with.

- **`maxItems`**

  `integer`, default: `10` — Maximum number of items that will be extracted.

- **`minYear`**

  `string`, possible values: `"", "2008", "2010", "2011", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"` — Min year to start with.

- **`model`**

  `string` — Model to start with.

- **`priceUnder`**

  `string`, possible values: `"", "5000", "10000", "15000", "20000", "25000", "35000", "50000", "75000"` — Price under to start with.

**Example:**

```
{
  "zipcode": "10001",
  "maker": "",
  "model": "",
  "priceUnder": "",
  "minYear": "",
  "type": "used",
  "maxItems": 10
}
```

##### Responses

###### Status: 200 OK

### Schemas

#### inputSchema

- **Type:**`object`

* **`type` (required)**

  `string`, possible values: `"new", "used"`, default: `"used"` — Type to start with.

* **`zipcode` (required)**

  `string`, default: `"10001"` — Zipcode to start with.

* **`maker`**

  `string` — Maker to start with.

* **`maxItems`**

  `integer`, default: `10` — Maximum number of items that will be extracted.

* **`minYear`**

  `string`, possible values: `"", "2008", "2010", "2011", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"` — Min year to start with.

* **`model`**

  `string` — Model to start with.

* **`priceUnder`**

  `string`, possible values: `"", "5000", "10000", "15000", "20000", "25000", "35000", "50000", "75000"` — Price under to start with.

**Example:**

```
{
  "zipcode": "10001",
  "maker": "",
  "model": "",
  "priceUnder": "",
  "minYear": "",
  "type": "used",
  "maxItems": 10
}
```

#### runsResponseSchema

- **Type:**`object`

* **`data`**

  `object`

  - **`actId`**

    `string`

  - **`buildId`**

    `string`

  - **`buildNumber`**

    `string`

  - **`containerUrl`**

    `string`

  - **`defaultDatasetId`**

    `string`

  - **`defaultKeyValueStoreId`**

    `string`

  - **`defaultRequestQueueId`**

    `string`

  - **`finishedAt`**

    `string`, format: `date-time`

  - **`id`**

    `string`

  - **`meta`**

    `object`

    - **`origin`**

      `string`

    - **`userAgent`**

      `string`

  - **`options`**

    `object`

    - **`build`**

      `string`

    - **`diskMbytes`**

      `integer`

    - **`memoryMbytes`**

      `integer`

    - **`timeoutSecs`**

      `integer`

  - **`startedAt`**

    `string`, format: `date-time`

  - **`stats`**

    `object`

    - **`computeUnits`**

      `integer`

    - **`inputBodyLen`**

      `integer`

    - **`rebootCount`**

      `integer`

    - **`restartCount`**

      `integer`

    - **`resurrectCount`**

      `integer`

  - **`status`**

    `string`

  - **`usage`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `integer`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`usageTotalUsd`**

    `number`

  - **`usageUsd`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `number`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`userId`**

    `string`

**Example:**

```
{
  "data": {
    "id": "",
    "actId": "",
    "userId": "",
    "startedAt": "2025-01-08T00:00:00.000Z",
    "finishedAt": "2025-01-08T00:00:00.000Z",
    "status": "READY",
    "meta": {
      "origin": "API",
      "userAgent": ""
    },
    "stats": {
      "inputBodyLen": 2000,
      "rebootCount": 0,
      "restartCount": 0,
      "resurrectCount": 0,
      "computeUnits": 0
    },
    "options": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 1024,
      "diskMbytes": 2048
    },
    "buildId": "",
    "defaultKeyValueStoreId": "",
    "defaultDatasetId": "",
    "defaultRequestQueueId": "",
    "buildNumber": "1.0.0",
    "containerUrl": "",
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 1,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    },
    "usageTotalUsd": 0.00005,
    "usageUsd": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 0.00005,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    }
  }
}
```

![banner](https://lexis-solutions-apify.fra1.cdn.digitaloceanspaces.com/banners/carfax.png)

### What does CARFAX Scraper do

CARFAX Scraper helps you extract vehicle listings data from **carfax.com**, one of America's leading used car listing and vehicle history platforms.

You can extract detailed vehicle information including prices, mileage, location, vehicle specifications, and other key details from the website. CARFAX Scraper supports REST API which gives you access to the extracted dataset, enables you to download it in various formats and use it in other applications.

### What data can I extract from CARFAX with a web scraper

With this web scraping tool, you can extract the following data from CARFAX:

<table>
<tr>
<td>🚗 Vehicle title</td>
<td>💰 Price</td>
</tr>
<tr>
<td>📍 Location</td>
<td>🔢 VIN number</td>
</tr>
<tr>
<td>📝 Description</td>
<td>📊 Vehicle history</td>
</tr>
<tr>
<td>⚙️ Engine details</td>
<td>🛣️ Mileage</td>
</tr>
<tr>
<td>🎨 Color</td>
<td>🖼️ Vehicle images</td>
</tr>
</table>

### Why scrape CARFAX.com

CARFAX.com is a trusted source for used vehicle listings and vehicle history reports in the United States. Scraping CARFAX.com can help you:

- Track vehicle price trends
- Monitor inventory across dealerships
- Research vehicle availability in specific regions
- Analyze vehicle condition and history data
- Make informed purchasing decisions

### How to use CARFAX Scraper

CARFAX Scraper is designed for easy and fast start even if you've never extracted data from websites before. Here's how you can extract data from CARFAX:

1. Create a free Apify account using your email
2. Open CARFAX Scraper on the Apify platform
3. Click on the **Try for free** button
4. Enter your search parameters or start URLs
5. Click on the **Start** button and wait for the data to be extracted
6. Download your data in JSON, XML, CSV, Excel, or HTML

### Input

The actor accepts the following input parameters:

- `zipcode` (string, required) - Zipcode to start with
- `maker` (string) - Maker to start with
- `model` (string) - Model to start with
- `priceUnder` (string) - Maximum price filter with options from $5,000 to $75,000
- `minYear` (string) - Minimum year filter with options from 2008 to 2024
- `type` (string, required) - Vehicle type, either "new" or "used"
- `maxItems` (integer) - Maximum number of vehicle listings to scrape (default: 10)
- `proxyConfiguration` (object) - Proxy configuration settings

Example:

```json
{
  "zipcode": "10001",
  "maker": "Toyota",
  "model": "Camry",
  "priceUnder": "25000",
  "minYear": "2018",
  "type": "used",
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

### Output

The scraped data will be saved as a dataset. Each item will represent a vehicle listing. You can download your data in various formats: JSON, JSONL, HTML table, CSV, Excel spreadsheet, or NDJSON.

Example of the output format:

```json
{
  "url": "https://www.carfax.com/vehicle/1C4RJKAG4M8149160",
  "vin": "1C4RJKAG4M8149160",
  "title": "Used 2021 Jeep Grand Cherokee L Laredo",
  "price": "$26,995",
  "description": "Used 2021 Jeep Grand Cherokee L Laredo with Four-Wheel Drive, Keyless Entry, Spoiler, Heated Seats...",
  "location": "Robbinsville, NJ (49 miles from New York, NY)",
  "vehicleDetails": "No accident or damage reported to CARFAX...",
  "mileage": "33,857 miles",
  "MPG": "18 city / 25 hwy",
  "color": "Silver",
  "bodyType": "SUV",
  "engine": "6 Cyl 3.6 L",
  "transmission": "Automatic",
  "primaryImage": "https://carfax-img.vast.com/carfax/v2/4597226047554917878/1/344x258"
}
```

### Notes and Limitations

- The actor relies on the structure of the CARFAX website. If the website structure changes, the actor may need to be updated
- Ensure you comply with the terms of service of carfax.com when using this actor
- For large-scale scraping, use Apify's proxy services to avoid IP blocking

### Need to scrape other automotive websites

Check out our other automotive scrapers:

- [Mobile.de Scraper](https://apify.com/lexis-solutions/mobile-de-scraper) - Extract vehicle listings from Germany's largest vehicle marketplace

### Want something custom-built

This CARFAX Scraper doesn't exactly do what you need? You can always build your own! Lexis Solutions is a [certified Apify Partner](https://apify.com/partners). We can help you with custom solutions or data extraction projects.

Contact us over [Email](mailto:info@lexis.solutions) or [LinkedIn](https://www.linkedin.com/company/lexis-solutions)
