# IAAI Salvage Cars & Auto Auction Scraper (`scrapers_lat/iaai-salvage-cars-scraper`) Actor

Scrape IAA salvage auto-auction lots by make, model, year, state or VIN. Get damage, odometer, title, ACV, run-and-drive, keys, branch and images. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/iaai-salvage-cars-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $18.91 / 1,000 salvage lot 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 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

[![IAAI Salvage Cars & Auto Auction Scraper](https://scrapers.lat/banners/iaai-salvage-cars-scraper.png)](https://console.apify.com/actors/2FBQoG3jSCsPhlWgv/input)

## IAAI Salvage Cars & Auto Auction Scraper

Here is one real result, showing the fields the actor returns:

```json
{
  "lotId": "46382725",
  "stockNumber": "45883691",
  "year": 2010,
  "make": "Toyota",
  "model": "CAMRY",
  "trim": "LE",
  "titleName": "2010 TOYOTA CAMRY LE",
  "vin": "4T1BF3EKXAU******",
  "primaryDamage": "Normal Wear & Tear",
  "secondaryDamage": "Front End",
  "lossType": null,
  "odometer": 226856,
  "odometerUnit": "mi",
  "odometerBrand": "ACTUAL",
  "titleDocument": "Clear",
  "titleState": "North Carolina",
  "titleBrand": "NON-PUBLIC",
  "saleStatus": null,
  "runAndDrive": null,
  "keys": true,
  "airbags": "Intact",
  "saleDate": "Thu Aug 20, 8:30am CDT",
  "auctionDateTime": "8/20/2026 1:30:00 PM +00:00",
  "vehicleType": "Automobiles",
  "bodyStyle": "Sedan",
  "exteriorColor": "Silver",
  "engine": "2.5L I-4 DOHC, VVT, 169HP",
  "fuelType": "Gasoline",
  "cylinders": 4,
  "transmission": "Automatic",
  "drivetrain": "Front Wheel Drive",
  "countryOfOrigin": "United States",
  "branchName": "High Point",
  "branchCity": "High Point",
  "branchState": "NC",
  "region": "East",
  "market": "IAA United States",
  "laneRun": "A-#242",
  "aisleStall": "J -2",
  "actualCashValue": 2700,
  "acvCurrency": "USD",
  "estimatedRepairCost": null,
  "vehicleGrade": "38",
  "restraintType": "Front impact airbag driver;Front side impact airbag driver;Overhead airbags;Front impact airbag passenger;Front side impact airbag passenger;Knee airbag",
  "catalyticConverter": "Present",
  "whoCanBuy": "DEA,DIS,EXP,REB,SCR",
  "imageThumbnail": "https://vis.iaai.com/resizer?imageKeys=46382725~SID~I1&width=400&height=300",
  "imageCount": 16,
  "images": ["https://vis.iaai.com/resizer?imageKeys=46382725~SID~I1&width=1024&height=768"],
  "aiDealAssessment": "Strong buy due to low ACV",
  "aiRepairOutlook": "Minimal repairs needed, mostly cosmetic",
  "aiBuyerType": "DIY",
  "lotUrl": "https://www.iaai.com/VehicleDetail/46382725~US",
  "source": "iaai.com",
  "observedAt": "2026-08-20T14:54:09.336Z"
}
```

The most complete IAA salvage auction scraper available. It returns every field the lot listing exposes (year, make, model, trim, VIN, primary and secondary damage, odometer with brand, title and sale document, run-and-drive and keys status, branch, sale date and ACV), plus a detail add-on for estimated repair cost, all photos, vehicle grade, title state and brand, and an optional AI assessment, and gives you seven filters to target exactly the lots you need.

**📥 [Input](https://apify.com/scrapers_lat/iaai-salvage-cars-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/iaai-salvage-cars-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/iaai-salvage-cars-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/iaai-salvage-cars-scraper/examples)**

![Platform](https://img.shields.io/badge/platform-Apify-2b6cff) ![Coverage](https://img.shields.io/badge/coverage-IAA%20US%20lots-brightgreen) ![Output](https://img.shields.io/badge/output-JSON%20%7C%20CSV%20%7C%20Excel-orange) ![Billing](https://img.shields.io/badge/billing-Pay%20per%20result-blueviolet)

### Table of contents

- [What it does](#what-it-does)
- [Quickstart](#quickstart)
- [Input reference](#input-reference)
- [Output reference](#output-reference)
- [Example output record](#example-output-record)
- [Run via API and CLI](#run-via-api-and-cli)
- [Fetch results](#fetch-results)
- [Billing and limits](#billing-and-limits)
- [FAQ and troubleshooting](#faq-and-troubleshooting)
- [More scrapers at scrapers.lat](#more-scrapers-at-scraperslat)

### What it does

This actor collects salvage and insurance auto-auction lots from IAA. Search by keyword, make, model, minimum year, state or VIN, or pass specific lot URLs, and get one clean row per lot with the full listing surface: vehicle identity, damage, odometer, title, run-and-drive and keys status, branch and sale date, and the actual cash value (ACV).

Two optional add-ons go deeper. The lot details add-on opens each lot's page to add the estimated repair cost, every photo, the vehicle grade, the title state and brand, and full condition. The AI assessment add-on returns a short deal assessment, repair outlook and ideal buyer type per lot. Both are off by default and billed only when they return real data.

### Quickstart

```json
{
  "searchQuery": "honda accord",
  "maxResults": 25
}
```

Filter examples:

```json
{
  "make": "TOYOTA",
  "model": "CAMRY",
  "yearMin": 2015,
  "state": "TX",
  "maxResults": 50,
  "lotDetails": true
}
```

### Input reference

| Name | Type | Required | Description | Example |
| --- | --- | --- | --- | --- |
| `searchQuery` | string | no | Free-text keyword search across lots (make and model, body style, or VIN). | `"honda accord"` |
| `make` | string | no | Filter by make, case-insensitive. | `"TOYOTA"` |
| `model` | string | no | Filter by model, best used with make. | `"CAMRY"` |
| `yearMin` | integer | no | Only lots from this model year or newer. | `2015` |
| `state` | string | no | Vehicle location state, two-letter code or full name. | `"TX"` |
| `vin` | string | no | Full or partial VIN search. | `"4T1BF3EK"` |
| `lotUrls` | array | no | Specific IAA VehicleDetail URLs or lot IDs to fetch directly. | `["46382725"]` |
| `lotDetails` | boolean | no | Paid add-on, off by default. Fetch each lot page for repair cost, all photos, grade, title details. | `true` |
| `aiLotAssessment` | boolean | no | Paid add-on, off by default. AI deal assessment, repair outlook and buyer type. | `true` |
| `maxResults` | integer | no | Maximum lots to return. Free accounts are capped at 10 per run. | `25` |

### Output reference

| Name | Type | Description |
| --- | --- | --- |
| `lotId` | string | IAA lot / item id |
| `stockNumber` | string | IAA stock number |
| `year` / `make` / `model` / `trim` | integer / string | Vehicle identity |
| `titleName` | string | Full year/make/model/series heading |
| `vin` | string | VIN (IAA masks the last six characters in public listings) |
| `primaryDamage` / `secondaryDamage` / `lossType` | string | Damage and loss description |
| `odometer` / `odometerUnit` / `odometerBrand` | integer / string | Odometer reading, unit, and brand (brand via lot details add-on) |
| `titleDocument` / `titleState` / `titleBrand` | string | Title and sale document, issuing state and brand (state/brand via add-on) |
| `saleStatus` / `runAndDrive` / `keys` / `airbags` | string / boolean | Start code, run-and-drive, keys and airbag status |
| `saleDate` / `auctionDateTime` | string | Displayed sale date and full auction date-time |
| `vehicleType` / `bodyStyle` / `exteriorColor` / `interiorColor` | string | Vehicle classification and color |
| `engine` / `fuelType` / `cylinders` / `transmission` / `drivetrain` | string / integer | Powertrain |
| `countryOfOrigin` | string | Country of origin |
| `branchName` / `branchCity` / `branchState` / `region` / `market` | string | Auction branch and location (city/state via add-on) |
| `laneRun` / `aisleStall` | string | Auction lane, run, aisle and stall |
| `actualCashValue` / `acvCurrency` | integer / string | Actual cash value (ACV) |
| `estimatedRepairCost` | integer | Estimated repair cost (lot details add-on) |
| `vehicleGrade` / `restraintType` / `catalyticConverter` / `whoCanBuy` / `seller` | string | Grade, restraint config, catalytic converter, buyer eligibility, seller (lot details add-on) |
| `imageThumbnail` / `imageCount` / `images` | string / integer / array | Thumbnail, photo count and all photo URLs (count and images via add-on) |
| `aiDealAssessment` / `aiRepairOutlook` / `aiBuyerType` | string | AI assessment fields (AI add-on) |
| `lotUrl` | string | IAA lot detail page URL |
| `source` / `observedAt` | string | Data source and ISO timestamp |

### Example output record

See the JSON block at the top of this page for a full real record, including the lot details and AI add-on fields.

### Run via API and CLI

Run with the Apify API:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~iaai-salvage-cars-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchQuery":"honda accord","maxResults":25}'
```

Run with the Apify CLI:

```bash
apify call scrapers_lat/iaai-salvage-cars-scraper \
  --input '{"make":"TOYOTA","model":"CAMRY","yearMin":2015,"maxResults":50}'
```

### Fetch results

```bash
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_TOKEN&format=json"
```

Swap `format=json` for `csv` or `xlsx` to export to a spreadsheet.

### Billing and limits

- Pay per result. You are billed per lot returned, with optional add-on events.
- Events: actor start, one `result` per lot, an optional `lot_details` enrichment, and an optional `ai_lot_assessment`.
- Add-ons are off by default, disabled for free accounts, and billed only when they return real data.
- Failed or empty runs are not billed for results. No results, no result charge.
- Free Apify accounts are capped at 10 lots per run. A spend cap stops the run once your configured limit is reached.
- Anti-bot handling and proxying are managed internally. No login or cookies required.

### FAQ and troubleshooting

**Why is the VIN partially masked?** IAA masks the last six VIN characters in its public listings, so the actor returns the same masked VIN the site shows. Everything before the mask is real.

**How do I get repair cost and all photos?** Turn on `lotDetails`. It opens each lot page and adds estimated repair cost, every photo, vehicle grade and title details, and is billed only when the extra data is present.

**Can I pull specific lots?** Yes. Pass IAA VehicleDetail URLs or lot IDs in `lotUrls`. These are always returned with full detail data.

**Why are some fields null?** A field is null when IAA does not publish it for that lot. Values are never fabricated.

**Can I filter by year range?** Use `yearMin` to return that model year and newer.

### More scrapers at scrapers.lat

Building vehicle, auction and lead datasets? Browse the full catalog of HTTP scrapers at [scrapers.lat](https://scrapers.lat) for more auto, marketplace and business data actors.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by IAA or Insurance Auto Auctions.

# Actor input Schema

## `searchQuery` (type: `string`):

Free-text keyword to search IAA lots, e.g. a make and model like "toyota camry", a body style, or a VIN.

## `make` (type: `string`):

Filter by vehicle make, e.g. TOYOTA, FORD, HONDA. Case-insensitive.

## `model` (type: `string`):

Filter by vehicle model, e.g. CAMRY, F-150, ACCORD. Use together with Make for best results.

## `yearMin` (type: `integer`):

Only return lots from this model year or newer.

## `state` (type: `string`):

Filter by the state where the vehicle is located. Accepts a two-letter code (CA) or full name (California).

## `vin` (type: `string`):

Search by a full or partial VIN. Note: IAA masks the last six VIN characters in public listings.

## `lotUrls` (type: `array`):

Specific IAA VehicleDetail URLs or lot IDs to fetch directly. Each is returned with full detail data.

## `lotDetails` (type: `boolean`):

Fetch each lot's detail page for estimated repair cost, all photos, vehicle grade, title state/brand and full condition. Paid add-on; billed only when real extra data is returned. Disabled for free accounts.

## `aiLotAssessment` (type: `boolean`):

Add an AI deal assessment, repair outlook and ideal buyer type per lot. Paid add-on; billed only when the AI returns usable output. Disabled for free accounts.

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

Maximum number of salvage lots to return. Free Apify accounts are capped at 10 per run.

## Actor input object example

```json
{
  "searchQuery": "honda accord",
  "lotDetails": false,
  "aiLotAssessment": false,
  "maxResults": 10
}
```

# 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 = {
    "searchQuery": "honda accord",
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/iaai-salvage-cars-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 = {
    "searchQuery": "honda accord",
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/iaai-salvage-cars-scraper").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 '{
  "searchQuery": "honda accord",
  "maxResults": 10
}' |
apify call scrapers_lat/iaai-salvage-cars-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/iaai-salvage-cars-scraper"
        }
    }
}

```

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/2FBQoG3jSCsPhlWgv/builds/9Q1S3iiGj4PgmdAgq/openapi.json
