IAAI Scraper — Salvage Auction Lots, VIN & ACV avatar

IAAI Scraper — Salvage Auction Lots, VIN & ACV

Pricing

from $1.99 / 1,000 vehicles

Go to Apify Store
IAAI Scraper — Salvage Auction Lots, VIN & ACV

IAAI Scraper — Salvage Auction Lots, VIN & ACV

Scrape IAAI (Insurance Auto Auctions / IAA) salvage lots in the US and Canada. Extract salvage ID, stock number, VIN, damage, odometer, ACV, Buy Now, sale date, branch GPS, and photos. Search by URL or make/model filters; monitor new lots.

Pricing

from $1.99 / 1,000 vehicles

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Disclaimer: This is an unofficial integration developed independently. It is not affiliated with, sponsored by, or endorsed by IAA, Insurance Auto Auctions, Ritchie Bros., or any of their subsidiaries.

IAAI, IAA, and related names are trademarks of their respective owners. Data is read from publicly accessible auction search and vehicle pages. No IAAI member login is required.

This Actor is provided for informational, research, and price monitoring purposes only. You are solely responsible for complying with applicable laws, IAAI's terms of use, and your organization's policies.

IAAI scraper / IAA scraper / Insurance Auto Auctions scraper for US and Canadian salvage, clean-title, and Buy Now lots. Scrape IAAI search results and VehicleDetail pages into JSON/CSV via Apify — salvage ID, stock number, VIN, damage, odometer, ACV, Buy Now, sale date, branch GPS, and photos. Search by a copied IAAI URL, stock number, salvage ID, or make/model/year/state filters. Optional monitor mode emits only new lots and Buy Now / sale-date changes. Fast HTTP path (no headless browser) with residential proxy. Use as an IAAI API alternative from Python, Node.js, cURL, or MCP / AI assistants.

Masked VIN is still usable. IAAI hides the production serial for anonymous visitors (2T1BURHE4FC******). Keep decodeVin on (default): the first 11 characters go to NHTSA vPIC and you get manufacturer, make, model year, plant country/city, and body class — no buyer login. isVinMasked is true when the serial is starred. The full 17-character VIN is member-only.

Crawloop US Salvage Suite — salvage auctions and used-parts comps.

CopartIAAICar-Part
Copart ScraperIAAI Scraper ◄── you are hereCar-Part Scraper

Who this is for

WhoJobPaste this
Salvage buyer / dealerMorning Run-and-Drive or Buy Now sweep in one statemake + year band + state + runAndDriveOnly + decodeVin
Parts yardYear / make / model plus plant and body from a masked VINKeyword or Start URL + decodeVin
Insurance / compsACV, sale date, loss type, VIN prefixsearchQuery + scrapeDetails
Auction deskNew lots and Buy Now / sale-date movesmonitorMode on a schedule

When to use this Actor

  • Salvage inventory sourcing — Sweep Toyota / Ford / Tesla lots by state, year, Run and Drive, or Buy Now.
  • Exact browser-filter replication — Apply filters on IAAI, copy the Search URL (including url= tokens), paste into Start URLs.
  • Branch / shipping planning — Branch name, city, state, ZIP, latitude, and longitude on each row when details are on.
  • Parts and rebuild research — Primary/secondary damage, title type, keys, odometer brand, engine and drivetrain.
  • Scheduled watch — Turn on monitorMode to keep only new vehicles and Buy Now / sale-date / start-code changes.

When not to use this Actor

Key features

  • US + Canada — Public IAAI inventory, including Canadian branches when they appear in search.
  • URL + filter modes — Paste search / VehicleDetail / Vehiclelisting URLs, or build a search from keyword, make, model, year, state, branch, damage, loss type, title type, Buy Now, and Run and Drive.
  • Direct lookup — Pass salvageIds or stockNumbers when you already have identifiers.
  • Search cards or full detailsscrapeDetails enriches GPS, title state, specs, and 360 links; includePhotos adds the gallery.
  • Monitor mode — Key-Value store baseline; later runs emit only new vehicles or Buy Now / sale-date / start-code changes, with early-stop on known lots.
  • VIN decode — NHTSA vPIC on the public prefix (works when the serial is masked). Adds manufacturer, make/model/year, plant country, body class. Cached per prefix. Toggle decodeVin.
  • Lightweight HTTPcurl_cffi Chrome TLS impersonation; 128–512 MB RAM; no Playwright.

Input

ParameterTypeDefaultDescription
startUrlsArray[]IAAI Search, Vehiclelisting, or VehicleDetail URLs.
searchQueryStringKeyword, VIN fragment, or stock number. Used when Start URLs are empty.
make / modelStringFacet filters (TOYOTA / CAMRY).
yearFrom / yearToIntegerModel year range.
stateStringYard state/province (TX, Texas, ON).
branchStringBranch name (Dallas, Orlando (FL)).
damage / lossType / titleTypeStringIAAI facet labels (Front End, Collision, Clear, …).
zipCodeStringDistance search ZIP / postal code.
buyNowOnly / runAndDriveOnlyBooleanfalseFacet shortcuts.
salvageIds / stockNumbersArrayDirect IDs.
maxItemsInteger50Cap per run.
scrapeDetailsBooleantrueFetch VehicleDetail JSON.
includePhotosBooleanfalseFull gallery URL lists. Thumbnail always included.
decodeVinBooleantrueNHTSA vPIC decode of the public VIN prefix (works when masked).
monitorModeBooleanfalseEmit only new lots and status changes after a seed run.
maxConcurrencyInteger8Parallel detail fetches.
proxyConfigurationObjectUS residentialApify RESIDENTIAL recommended.

Example input

{
"searchQuery": "toyota camry",
"yearFrom": 2018,
"yearTo": 2024,
"state": "TX",
"runAndDriveOnly": true,
"maxItems": 50,
"scrapeDetails": true,
"includePhotos": false,
"decodeVin": true,
"monitorMode": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Start-URL mode (filters on the page are kept):

{
"startUrls": [
{ "url": "https://www.iaai.com/Search?keyword=toyota%20camry" }
],
"maxItems": 100,
"scrapeDetails": true,
"decodeVin": true
}

Ready-to-run recipes

Direct salvage ID / stock lookup:

{
"salvageIds": ["46279848"],
"stockNumbers": ["45781024"],
"scrapeDetails": true,
"decodeVin": true,
"includePhotos": false
}

Run and Drive + VIN decode (Texas Camry):

{
"make": "TOYOTA",
"model": "CAMRY",
"yearFrom": 2018,
"yearTo": 2024,
"state": "TX",
"runAndDriveOnly": true,
"maxItems": 40,
"decodeVin": true
}

Buy Now / sale-date monitor (seed once, then schedule):

{
"searchQuery": "toyota camry",
"maxItems": 100,
"monitorMode": true,
"decodeVin": true
}

Output

Each dataset row is one IAAI vehicle.

FieldTypeDescription
id / salvageId / stockNumber / urlStringIdentifiers and canonical page.
title / year / make / model / trimMixedVehicle identity.
vinStringPublic VIN (serial may be masked).
isVinMaskedBooleanTrue when the VIN is incomplete or starred.
vinManufacturer / vinMake / vinModel / vinModelYearMixedNHTSA vPIC decode (decodeVin).
vinPlantCountry / vinPlantCity / vinBodyClassStringAssembly plant and body class from vPIC.
odometer / odometerBrand / odometerUnitMixedReading, ACTUAL/NOT ACTUAL, mi or km.
engine / cylinders / fuelType / transmission / driveTypeMixedMechanical specs.
primaryDamage / secondaryDamage / lossTypeStringDamage and loss.
titleType / titleStateStringSale document and issuing state.
hasKeys / runsAndDrives / startCodeMixedCondition flags.
buyNowPrice / buyNow / actualCashValueMixedPublic pricing.
saleDate / lane / runNumberMixedAuction timing.
locationObjectBranch name, city, state, ZIP, lat/lng.
thumbnailUrl / imagesMixedPreview always; gallery when includePhotos.
changeTypeStringMonitor mode: new or status_change.
scrapedAtStringISO timestamp.
{
"id": "46279848",
"salvageId": "46279848",
"stockNumber": "45781024",
"url": "https://www.iaai.com/VehicleDetail/46279848~US",
"title": "2015 TOYOTA COROLLA S PLUS",
"year": 2015,
"make": "TOYOTA",
"model": "COROLLA",
"vin": "2T1BURHE4FC******",
"isVinMasked": true,
"vinMake": "TOYOTA",
"vinPlantCountry": "UNITED STATES (USA)",
"odometer": 194129,
"odometerBrand": "ACTUAL",
"odometerUnit": "mi",
"primaryDamage": "FRONT END",
"buyNowPrice": null,
"actualCashValue": 1850,
"currency": "USD",
"saleDate": "2026-08-19T13:30:00+00:00",
"location": {
"name": "Orlando (FL)",
"city": "Orlando",
"state": "FL",
"country": "USA",
"latitude": 28.42231,
"longitude": -81.37821
},
"thumbnailUrl": "https://vis.iaai.com/resizer?imageKeys=46279848~SID~I1&width=400&height=300",
"site": "US"
}

Use cases

Use caseWhat you get
Salvage buying deskBuy Now, ACV, damage, Run and Drive, title type
Parts yard sourcingMake/model/year + branch GPS + keys / drivetrain
Insurance compsACV, sale date, VIN prefix, loss type
Scheduled watchMonitor mode for new lots and Buy Now / sale-date moves
AI / MCP pipelinesStructured JSON for assistants and BI tools

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/iaai-scraper').call({
searchQuery: 'toyota camry',
yearFrom: 2018,
maxItems: 50,
scrapeDetails: true,
proxyConfiguration: {
useApifyProxy: true,
apifyProxyGroups: ['RESIDENTIAL'],
apifyProxyCountry: 'US',
},
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/iaai-scraper").call(
run_input={
"searchQuery": "toyota camry",
"state": "TX",
"runAndDriveOnly": True,
"maxItems": 50,
"scrapeDetails": True,
"proxyConfiguration": {
"useApifyProxy": True,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US",
},
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[:5])

cURL

curl -X POST "https://api.apify.com/v2/acts/crawloop~iaai-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQuery": "tesla",
"buyNowOnly": true,
"maxItems": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/iaai-scraper.

Example prompts:

  • "Run IAAI Scraper for Toyota Camry 2018–2024 in Texas with runAndDriveOnly and maxItems 40; return salvage ID, VIN, Buy Now, damage, and branch as JSON"
  • "Scrape IAAI Buy Now Tesla lots and summarize median actual cash value by model year"
  • "Chain IAAI Scraper then Copart Scraper for the same Toyota Camry year band and compare Buy Now vs current bid"
  • "Chain IAAI Scraper then Car-Part Scraper to compare recycler asking prices for the engine and transmission of a lot's year/make/model"

Suite next step

After IAAI lots, run Copart Scraper for the other US salvage auction. Then Car-Part Scraper to compare recycler asking prices for the same year / make / model parts.

Troubleshooting

SymptomWhat to do
HTTP 403, challenge page, or zero vehiclesUse Apify RESIDENTIAL proxy with US. Datacenter IPs often get challenged.
VIN looks like 2T1BURHE4FC******Expected without a buyer login. Leave decodeVin on — make, year, plant, and body class still fill. isVinMasked will be true. The production serial is member-only.
Current bid is emptyLive/timed high bids are often hidden for anonymous visitors. Use buyNowPrice and actualCashValue when IAAI shows them.
Large pull looks incompleteSplit by make, year band, or state. Keep scrapeDetails on for GPS, title state, and specs.

FAQ

Is this an IAAI API?
There is no public read API for auction search. This Actor is an IAAI API alternative that returns structured dataset items you can call from Python, Node.js, or MCP.

IAA vs IAAI — is this the Insurance Auto Auctions scraper?
Yes. IAAI is Insurance Auto Auctions (also searched as IAA). This Actor covers public US and Canadian IAAI salvage lots — not live bidding.

Can I scrape IAAI with Python or Node.js?
Yes. Use the Apify client examples above, or call the Actor from an AI assistant via Apify MCP. Export the dataset as JSON or CSV.

Can I look up a stock number or VehicleDetail URL?
Yes. Pass stockNumbers, salvageIds, or paste /VehicleDetail/{id}~US URLs into startUrls. That is the IAAI vehicle detail scraper path without copying every field by hand.

Does this cover IAAI Canada as well as the US?
Yes. Canadian branches appear in the same public search. Set market to IAA Canada or paste a filtered Search URL. State/province codes such as ON and BC are accepted.

Why do I need a residential proxy?
IAAI may challenge datacenter IPs. Use US residential on Apify for reliable runs.

Why is part of the VIN masked?
IAAI only shows the full 17-character VIN to logged-in buyers. Public search still returns the world manufacturer identifier and vehicle descriptor. With decodeVin on (default), the Actor sends that prefix to NHTSA vPIC and fills manufacturer, make, model year, plant country, and body class. The production serial may appear as asterisks; isVinMasked is true on those rows.

Why is current bid empty?
Live/timed high bids are often hidden for anonymous visitors. Buy Now prices and ACV are returned when IAAI displays them on the public card or detail page.

Start URLs or filters?
Paste a browser Search / Vehiclelisting / VehicleDetail URL in startUrls to keep every filter you already applied. Leave Start URLs empty and set searchQuery / make / model to build the search in the Actor.

Cards vs full details vs photos?
Keep scrapeDetails on (default) for GPS, title state, and specs. Turn it off for faster search-card rows. Enable includePhotos only when you need the full gallery — a thumbnail is always stored.

Can I watch new lots over time?
Yes. Run once with monitorMode to seed a baseline, then schedule later runs. Only new vehicles and changes to Buy Now, sale date, or start code are written to the dataset.

ActorRole
Copart ScraperUS / CA salvage lots, bids, VIN
IAAI Scraper ◄── you are hereUS / CA salvage lots, VIN, ACV
Car-Part ScraperUsed auto parts & recycler stock
Ritchie Bros Auction ScraperHeavy equipment on the same parent network
GovPlanet ScraperUS government surplus auctions
TractorHouse ScraperUS / EU farm and construction equipment