# IAA Scraper - Salvage Vehicle Auctions (`lulzasaur/iaa-scraper`) Actor

Scrape salvage vehicle auction listings from IAA (iaai.com). Extract VIN, year, make, model, damage type, odometer, engine, transmission, sale date, location, keys status, images, and more. Perfect for auto parts dealers, rebuilders, and vehicle research.

- **URL**: https://apify.com/lulzasaur/iaa-scraper.md
- **Developed by:** [lulz bot](https://apify.com/lulzasaur) (community)
- **Categories:** E-commerce
- **Stats:** 1 total users, 0 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.

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

## IAA Scraper - Salvage Vehicle Auctions

Scrape salvage and insurance vehicle auction listings from **IAA** (iaai.com), one of the largest salvage vehicle auction marketplaces in North America (a Ritchie Bros company).

### What data does it extract?

For each vehicle listing, the scraper extracts:

| Field | Description |
|-------|-------------|
| `title` | Full vehicle title (e.g., "2011 TOYOTA PRIUS TWO") |
| `year` | Model year |
| `make` | Vehicle make (e.g., Toyota, Ford) |
| `model` | Vehicle model (e.g., Prius, F-150) |
| `series` | Vehicle series/trim (e.g., TWO, XLE) |
| `vin` | VIN number (partially masked for non-authenticated users) |
| `stockNumber` | IAA stock number |
| `salvageId` | IAA salvage ID |
| `primaryDamage` | Primary damage description |
| `secondaryDamage` | Secondary damage description |
| `titleDoc` | Title/sale document status |
| `startCode` | Engine start code (Run & Drive, Starts, Stationary) |
| `keys` | Key availability (Present, Missing) |
| `odometer` | Odometer reading with status |
| `airbags` | Airbag deployment status |
| `vehicleType` | Vehicle type (Automobile, Truck, etc.) |
| `bodyStyle` | Body style (Sedan, SUV, Hatchback, etc.) |
| `engine` | Engine description |
| `transmission` | Transmission type |
| `driveLineType` | Drive type (FWD, RWD, AWD, 4WD) |
| `fuelType` | Fuel type |
| `cylinders` | Number of cylinders |
| `exteriorColor` | Exterior color |
| `interiorColor` | Interior color |
| `options` | Vehicle options |
| `manufacturedIn` | Country of manufacture |
| `vehicleClass` | Vehicle classification |
| `location` | Selling branch location |
| `vehicleLocation` | Physical vehicle location |
| `saleDate` | Auction date and time |
| `laneRun` | Lane and run number |
| `seller` | Seller name |
| `buyNowPrice` | Buy Now price (if available) |
| `imageUrl` | Primary image URL |
| `images` | Array of all image URLs |
| `url` | Direct link to the vehicle detail page |
| `scrapedAt` | Timestamp of when the data was scraped |

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `keyword` | string | `"toyota"` | Search keyword for vehicles |
| `vehicleType` | string | `""` | Vehicle type filter (Cars, SUVs, Trucks, etc.) |
| `maxResults` | integer | `100` | Maximum listings to scrape (max 1000) |
| `scrapeDetails` | boolean | `true` | Scrape full detail pages for complete specs |
| `proxyConfiguration` | object | `{}` | Proxy settings |

### Vehicle type options

- All Types (default)
- Cars
- SUVs
- Pickup Trucks
- Motorcycles
- Heavy Trucks
- Electric Vehicles
- Buses
- RVs
- Trailers
- Rental Vehicles

### Example output

```json
{
    "title": "2011 TOYOTA PRIUS TWO",
    "year": 2011,
    "make": "TOYOTA",
    "model": "PRIUS",
    "series": "TWO",
    "vin": "JTDKN3DU2B0****** (OK)",
    "stockNumber": "44964456",
    "salvageId": "45461877~US",
    "primaryDamage": "Normal Wear & Tear",
    "secondaryDamage": "Front End",
    "titleDoc": "CLEAR (Florida)",
    "startCode": "Stationary",
    "keys": "Present",
    "odometer": "117,821 mi (Actual)",
    "airbags": "Deployed",
    "vehicleType": "Automobile",
    "bodyStyle": "HATCHBACK",
    "engine": "1.8L I-4 DOHC, VVT, 98HP",
    "transmission": "Automatic Transmission",
    "driveLineType": "Front Wheel Drive",
    "fuelType": "Other",
    "cylinders": "4 Cylinders",
    "exteriorColor": "Gold",
    "interiorColor": "Unknown",
    "location": "Clearwater (FL)",
    "saleDate": "Apr 27, 2026",
    "imageUrl": "https://vis.iaai.com/resizer?imageKeys=...",
    "url": "https://www.iaai.com/VehicleDetail/45461877~US",
    "scrapedAt": "2026-04-25T07:00:00.000Z"
}
````

### Use cases

- **Auto parts dealers**: Find specific vehicle parts and inventory
- **Vehicle rebuilders**: Locate repairable vehicles for rebuilding
- **Price research**: Track salvage vehicle pricing trends
- **Insurance research**: Analyze damage patterns and total loss trends
- **Export buyers**: Find vehicles for international resale
- **Data analysis**: Build datasets for automotive market research

### How it works

1. Searches IAA by keyword and optional vehicle type filter
2. Extracts vehicle IDs from the server-rendered search results
3. Scrapes individual vehicle detail pages for comprehensive specs
4. Handles pagination automatically for large result sets

### Cost estimation

With the default 100 results at ~$0.005 per result via Pay-Per-Event pricing:

- 100 results = ~$0.50
- 500 results = ~$2.50
- 1,000 results = ~$5.00

### Notes

- VIN numbers are partially masked by IAA for non-authenticated users
- Sale dates and availability change frequently as auctions complete
- Image URLs are served from IAA's CDN and may expire over time
- The scraper respects IAA's server with rate limiting between requests

# Actor input Schema

## `keyword` (type: `string`):

Search term for vehicles (e.g., 'toyota', 'ford f150', 'tesla model 3')

## `vehicleType` (type: `string`):

Filter by vehicle type category

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

Maximum number of vehicle listings to scrape (max 1000)

## `scrapeDetails` (type: `boolean`):

Scrape individual vehicle detail pages for full specs (slower but more data including VIN, engine, transmission, etc.)

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

Proxy settings to avoid rate limiting

## Actor input object example

```json
{
  "keyword": "toyota",
  "vehicleType": "",
  "maxResults": 100,
  "scrapeDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (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 = {
    "keyword": "toyota"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lulzasaur/iaa-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 = { "keyword": "toyota" }

# Run the Actor and wait for it to finish
run = client.actor("lulzasaur/iaa-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 '{
  "keyword": "toyota"
}' |
apify call lulzasaur/iaa-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "IAA Scraper - Salvage Vehicle Auctions",
        "description": "Scrape salvage vehicle auction listings from IAA (iaai.com). Extract VIN, year, make, model, damage type, odometer, engine, transmission, sale date, location, keys status, images, and more. Perfect for auto parts dealers, rebuilders, and vehicle research.",
        "version": "1.0",
        "x-build-id": "BZwFjHcYwQAwX03wW"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lulzasaur~iaa-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lulzasaur-iaa-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/lulzasaur~iaa-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lulzasaur-iaa-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/lulzasaur~iaa-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lulzasaur-iaa-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": {
                    "keyword": {
                        "title": "Search Keyword",
                        "type": "string",
                        "description": "Search term for vehicles (e.g., 'toyota', 'ford f150', 'tesla model 3')",
                        "default": "toyota"
                    },
                    "vehicleType": {
                        "title": "Vehicle Type",
                        "enum": [
                            "",
                            "Cars",
                            "SUVs",
                            "PickupTrucks",
                            "Motorcycles",
                            "HeavyTrucks",
                            "ElectricVehicles",
                            "Buses",
                            "Rvs",
                            "Trailers",
                            "RentalRides"
                        ],
                        "type": "string",
                        "description": "Filter by vehicle type category",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of vehicle listings to scrape (max 1000)",
                        "default": 100
                    },
                    "scrapeDetails": {
                        "title": "Scrape Detail Pages",
                        "type": "boolean",
                        "description": "Scrape individual vehicle detail pages for full specs (slower but more data including VIN, engine, transmission, etc.)",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings to avoid rate limiting",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
