Source API · IAAI · USA

# IAAI API for Insurance Auto Auctions lots — as JSON

IAAI (Insurance Auto Auctions) is a US auction where insurers sell cars after accidents, floods and theft. apiauto.space returns IAAI lots with sales ahead in the same record as Encar and Che168: VIN, damage, title type, bid, sale date, yard and photos. IAAI lots come in the US market together with Copart — tell them by source=iaai.

- **Source**: iaai.com · market=us
- **Region**: USA
- **Data**: Lots, bids, damage, photos
- **Status**: Running · refreshed hourly

## What an IAAI lot record holds

The same keys in every market; on the right, the values of a real IAAI lot from the catalog. What the auction does not give comes as null, never a guess.

### Lot

- `title` Year, make and model in one line `"2024 Volkswagen Jetta"`
- `vin` The lot's VIN `"3VW5M7BU9RM071756"`
- `year` Model year `2024`
- `mileage_km` Mileage in kilometres `81022`
- `raw.odometer_mi` Mileage in miles, as the auction gives it `50345`
- `raw.lot_number` Lot number `"45857360"`

### Sale and price

- `raw.sale_date` Sale date and time, UTC `"2026-11-03T15:30:00+00:00"`
- `raw.bid` Current bid, when the auction gave one `25`
- `raw.buy_now` Buy-now price `4750`
- `price` Buy-now, or the final bid once sold; otherwise null. A bid is not a price `4750.00 USD`

### Condition

- `raw.damage_main` Main damage `"front"`
- `raw.damage_second` Secondary damage `"front"`
- `raw.title_doc` Title type `"salvage"`
- `raw.keys_available` Whether the keys are there `true`
- `raw.source_values.damage_main` The auction's own wording `"Right front"`

### Car

- `fuel` Fuel, a canonical value `"gasoline"`
- `transmission` Gearbox `"automatic"`
- `engine_cc` Engine size, cc `1500`
- `raw.source_values.engine` The auction's engine line `"1.5L I-4 DI, DOHC, VVT, turbo, r…`
- `color` Colour `"Gray"`
- `raw.drive` Drive `"fwd"`

### Yard and photos

- `location.region` State `"TX"`
- `location.city` The yard's city `"Fort Worth North"`
- `raw.location_branch` The auction yard `"Fort Worth North"`
- `photo_count` Photos of the lot `16`
- `photos.0` A signed link, valid for about a day `"api.apiauto.space/img/iaai:45857…`

### Not from the auction

- `listing_url` No link to the lot `null`
- `raw.final_bid` No final price: only sales ahead `null`
- `raw.estimate_repair_price` A repair estimate only when the auction gave one `null`

iaai:45857360 2024 Volkswagen Jetta · 81,022 km

The raw fields, the makes, the use cases, live search, the change feed and the limits of the data are the same for Copart and IAAI — see [Copart and IAAI API](https://apiauto.space/en/copart-iaai-api/#about).

## Request and response

The four requests people usually start with. The key goes in the X-API-Key header; the answer is JSON.

A page of cars by filters and the next page's cursor

GET

`https://api.apiauto.space/v1/cars?market=us&limit=2`

cURL:

```bash
curl -s "https://api.apiauto.space/v1/cars?market=us&limit=2" \
  -H "X-API-Key: $APIAUTO_KEY"
```

JavaScript:

```js
const response = await fetch(
  "https://api.apiauto.space/v1/cars?market=us&limit=2",
  { headers: { "X-API-Key": process.env.APIAUTO_KEY } },
);
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
const data = await response.json();
```

Python:

```python
import os
import httpx

data = httpx.get(
    "https://api.apiauto.space/v1/cars?market=us&limit=2",
    headers={"X-API-Key": os.environ["APIAUTO_KEY"]},
    timeout=30,
).raise_for_status().json()
```

PHP:

```php
<?php
$ch = curl_init("https://api.apiauto.space/v1/cars?market=us&limit=2");
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER => ["X-API-Key: " . getenv("APIAUTO_KEY")],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
```

200 OK · sample response:

```json
{
  "items": [
    {
      "id": "iaai:45857360",
      "market": "us",
      "source": "iaai",
      "source_id": "45857360",
      "title": "2024 Volkswagen Jetta",
      "brand": "Volkswagen",
      "model": "Jetta",
      "generation": null,
      "trim": null,
      "year": 2024,
      "mileage_km": 81022,
      "fuel": "gasoline",
      "transmission": "automatic",
      "engine_cc": 1500,
      "body_type": "sedan",
      "color": "Gray",
      "vin": "3VW5M7BU9RM071756",
      "price": {
        "amount": "4750.00",
        "currency": "USD"
      },
      "price_usd": "4750.00",
      "location": {
        "country": "US",
        "region": "TX",
        "city": "Fort Worth North"
      },
      "photos": [
        "https://api.apiauto.space/img/iaai:45857360/1.jpg?exp=…&sig=…",
        "https://api.apiauto.space/img/iaai:45857360/2.jpg?exp=…&sig=…"
      ],
      "photo_count": 16,
      "listing_url": null,
      "is_active": true,
      "first_seen_at": "2026-11-03T00:14:40.726647Z",
      "last_seen_at": "2026-11-03T00:14:40.726647Z",
      "disappeared_at": null,
      "updated_at": "2026-11-03T00:14:40.726647Z",
      "raw": {
        "fx": {
          "date": "2026-11-02",
          "source": "ECB",
          "currency": "USD",
          "usd_per_unit": "1"
        },
        "bid": 25,
        "drive": "fwd",
        "status": 3,
        "airbags": 2,
        "buy_now": 4750,
        "latitude": 33.05421,
        "condition": 0,
        "cylinders": 4,
        "final_bid": null,
        "longitude": -97.26846,
        "sale_date": "2026-11-03T15:30:00+00:00",
        "title_doc": "salvage",
        "video_url": null,
        "grade_iaai": null,
        "lot_number": "45857360",
        "damage_main": "front",
        "odometer_mi": 50345,
        "damage_second": "front",
        "source_values": {
          "fuel": "4",
          "trim": null,
          "brand": "VOLKSWAGEN",
          "drive": "2",
          "model": "JETTA",
          "engine": "1.5L I-4 DI, DOHC, VVT, turbo, regular , 158HP",
          "body_type": "Sedan",
          "title_doc": "SALVAGE",
          "damage_main": "Right front",
          "transmission": "1",
          "damage_second": "Front End"
        },
        "keys_available": true,
        "location_branch": "Fort Worth North",
        "odometer_status": null,
        "pre_accident_price": null,
        "clean_wholesale_price": null,
        "estimate_repair_price": null
      },
      "source_mode": "replica"
    },
    {
      "id": "iaai:46121840",
      "market": "us",
      "source": "iaai",
      "source_id": "46121840",
      "title": "2025 Honda HR-V",
      "brand": "Honda",
      "model": "HR-V",
      "generation": null,
      "trim": null,
      "year": 2025,
      "mileage_km": 13863,
      "fuel": "gasoline",
      "transmission": "automatic",
      "engine_cc": 2000,
      "body_type": "suv",
      "color": "White",
      "vin": "3CZRZ2H35SM727491",
      "price": {
        "amount": "8275.00",
        "currency": "USD"
      },
      "price_usd": "8275.00",
      "location": {
        "country": "US",
        "region": "SD",
        "city": "Sioux Falls"
      },
      "photos": [
        "https://api.apiauto.space/img/iaai:46121840/1.jpg?exp=…&sig=…",
        "https://api.apiauto.space/img/iaai:46121840/2.jpg?exp=…&sig=…"
      ],
      "photo_count": 16,
      "listing_url": null,
      "is_active": true,
      "first_seen_at": "2026-11-03T00:08:40.169834Z",
      "last_seen_at": "2026-11-03T00:08:40.169834Z",
      "disappeared_at": null,
      "updated_at": "2026-11-03T00:08:40.169834Z",
      "raw": {
        "fx": {
          "date": "2026-11-02",
          "source": "ECB",
          "currency": "USD",
          "usd_per_unit": "1"
        },
        "bid": 25,
        "drive": "awd",
        "status": 3,
        "airbags": 2,
        "buy_now": 8275,
        "latitude": 43.39141,
        "condition": 0,
        "cylinders": 4,
        "final_bid": null,
        "longitude": -96.79914,
        "sale_date": "2026-11-03T15:30:00+00:00",
        "title_doc": "salvage",
        "video_url": null,
        "grade_iaai": null,
        "lot_number": "46121840",
        "damage_main": "front",
        "odometer_mi": 8614,
        "damage_second": null,
        "source_values": {
          "fuel": "4",
          "trim": null,
          "brand": "HONDA",
          "drive": "3",
          "model": "HR-V",
          "engine": "2.0L I-4 DI, DOHC, VVT, regular , 158HP",
          "body_type": "SUV/Crossover",
          "title_doc": "REGULAR - SALVAGE",
          "damage_main": "Front end",
          "transmission": "1",
          "damage_second": null
        },
        "keys_available": true,
        "location_branch": "Sioux Falls",
        "odometer_status": null,
        "pre_accident_price": null,
        "clean_wholesale_price": null,
        "estimate_repair_price": null
      },
      "source_mode": "replica"
    }
  ],
  "next_cursor": "…",
  "count": null
}
```

The cars in the responses are real, from the catalog when the site was built; photos are cut to two and event ids are made up.

## Build a request

Pick filters and the address and code build themselves. The market is fixed: market=us returns Copart and IAAI lots together; the auction is in the source field.

GET

`https://api.apiauto.space/v1/cars?market=us&brand=Toyota&limit=20`

cURL:

```bash
curl -s "https://api.apiauto.space/v1/cars?market=us&brand=Toyota&limit=20" \
  -H "X-API-Key: $APIAUTO_KEY"
```

JavaScript:

```js
const response = await fetch(
  "https://api.apiauto.space/v1/cars?market=us&brand=Toyota&limit=20",
  { headers: { "X-API-Key": process.env.APIAUTO_KEY } },
);
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
const data = await response.json();
```

Python:

```python
import os
import httpx

data = httpx.get(
    "https://api.apiauto.space/v1/cars?market=us&brand=Toyota&limit=20",
    headers={"X-API-Key": os.environ["APIAUTO_KEY"]},
    timeout=30,
).raise_for_status().json()
```

PHP:

```php
<?php
$ch = curl_init("https://api.apiauto.space/v1/cars?market=us&brand=Toyota&limit=20");
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER => ["X-API-Key: " . getenv("APIAUTO_KEY")],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
```

## Frequently asked questions

### 01Is this an official IAAI API?

No. apiauto.space is not affiliated with IAAI. We serve a copy of lots with auctions ahead in our own single format — the same as Copart, Encar and Che168.

### 02How do I get IAAI lots only?

Copart and IAAI come as one market, market=us. Every lot has a source field (copart or iaai) and an id like iaai:…; pick the ones you need on your side. /v1/cars has no filter by auction.

### 03Is there IAAI sales history or final prices?

No. The copy holds only lots with auctions ahead; after the auction a lot turns inactive and leaves 14 days later. We do not sell a sales archive.

### 04Can I bid on IAAI through the API?

No, the API is read-only. Bids are placed on IAAI, through a member or broker account.

### 05How much does the IAAI API cost?

Start is $59 a month for one market; the US market is Copart and IAAI lots together, 100,000 cars a month. Live search comes with Pro ($149, 2,000 requests) and Max ($299, 10,000). The demo is one day and 100 requests, free.

## Other APIs and guides

- [Source API **Copart API**](https://apiauto.space/en/copart-api/)
- [Source API **Copart and IAAI API**](https://apiauto.space/en/copart-iaai-api/)
- [Source API **Encar API**](https://apiauto.space/en/encar-api/)
- [Source API **Che168 API**](https://apiauto.space/en/che168-api/)
- [Guide **A used-car catalog for an importer's site**](https://apiauto.space/en/importers/)
- [Developers **Documentation**](https://apiauto.space/en/docs/)

## Get an IAAI test key

- One day and 100 requests free, no card
- All three markets and the change feed: compare the USA with Korea and China
- The key arrives in Telegram within a minute — no forms, no calls

---

Page: https://apiauto.space/en/iaai-api/
