IAAI Scraper — Salvage Auction Lots & VIN Decoding
Pricing
from $8.00 / 1,000 lots
IAAI Scraper — Salvage Auction Lots & VIN Decoding
Scrape IAAI salvage auction lots into 200+ flat fields per vehicle. Reads each lot's own structured record, so damage, keys and engine come back filled in where selector-based scrapers return blanks. Decodes IAAI's masked VINs to make, plant, year and engine. No login needed.
Pricing
from $8.00 / 1,000 lots
Rating
5.0
(1)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
17
Total users
17
Monthly active users
a day ago
Last modified
Categories
Share
IAAI Scraper — Salvage Auction Lots
Turn any IAAI vehicle listing into a structured stream of salvage auction lots. Start from a category and make, or paste lot URLs directly, and get 200+ fields per vehicle — damage codes, loss type, odometer, title state, branch location with coordinates, auction date and lane, plus decoded VINs. No login, no API key. Export to JSON, CSV, Excel or XML.
Why Use This Scraper?
- ✅ Browse by category and make, or paste lot URLs — no account needed
- ✅ 200+ fields per lot, read from IAAI's own structured record rather than scraped off the page
- ✅ Optional VIN decoding that works on IAAI's masked VINs
- ✅ Branch address, phone and GPS coordinates on every row
- ✅ Damage, loss type, start code, keys and airbag status as separate coded fields
- ✅ Flat rows ready for spreadsheets, databases and BI tools
Overview
The IAAI Scraper is built for salvage buyers, dealers, exporters and market analysts who need structured auction data from iaai.com.
The output is lot-shaped rows. Whether you start from a category page, a category-and-make page, or a single lot URL, the dataset is a stream of one row per vehicle — not separate category or branch rows.
Each row is read from the structured record IAAI ships with the lot page, not from the rendered HTML. That distinction matters: most values on an IAAI lot page are populated by client-side bindings and are blank in the page source, so selector-based scrapers return empty damage, keys and engine columns. Reading the underlying record returns all of them.
Supported Inputs
URL types
| URL type | Pattern | Example |
|---|---|---|
| Category listing | /Vehiclelisting/{category} | https://www.iaai.com/Vehiclelisting/Cars |
| Category + make listing | /Vehiclelisting/{category}/{make} | https://www.iaai.com/Vehiclelisting/PickupTrucks/Ford |
| Single lot | /VehicleDetail/{salvageId}~{tenant} | https://www.iaai.com/VehicleDetail/46314273~US |
Copy-pasteable startUrls
{"startUrls": ["https://www.iaai.com/Vehiclelisting/Cars/Toyota","https://www.iaai.com/Vehiclelisting/PickupTrucks/Ford","https://www.iaai.com/VehicleDetail/46314273~US"],"maxItems": 100}
Filter mode
Leave startUrls empty and the actor builds listing URLs from categories and makes, crossing every category with every make:
{"categories": ["Cars", "SUVs"],"makes": ["Toyota", "Honda"],"maxItems": 200}
Available categories: Cars, SUVs, PickupTrucks, Motorcycles, HeavyTrucks, Buses, Rvs, Trailers, ElectricVehicles, RentalRides.
Not supported
- IAAI search URLs (
/Search?...). IAAI's robots.txt disallows/Search, so this actor sources lots only from the vehicle-listing taxonomy. Arbitrary filter combinations aren't reachable; coverage is partitioned by category and make instead. - Auction bidding data behind the login wall. Current high bid, your-bid status and reserve are only served to authenticated members and are not scraped.
- Non-US tenants. Rows carry a
tenantfield, and the public listing taxonomy serves theUStenant.
Use Cases
| Audience | What they use it for |
|---|---|
| Salvage buyers | Screen lots by damage, start code, odometer and vehicle grade before bidding |
| Used-car dealers | Build a daily feed of fresh inventory in a category and make |
| Exporters | Filter by country of origin, title state and title code for overseas resale |
| Market analysts | Track inventory volumes and actual cash values across branches over time |
| Rebuilders | Find run-and-drive lots with intact airbags and keys present |
| Logistics planners | Route pickups using branch address, phone and GPS coordinates |
How It Works

- Seed. You paste listing or lot URLs, or pick categories and makes and let the actor build the listing URLs.
- Warm. Each session first loads a vehicle-listing page so the site's edge layer issues its cookies. Detail pages are only served to a session that already holds them.
- Collect. Every listing page yields up to 100 lot links, which are queued as individual detail requests carrying the listing page as referer.
- Parse. Each lot page ships a structured record that the actor reads directly and flattens into one row of 200+ fields.
- Enrich (optional). If
enrichVinis on, the visible portion of each VIN is decoded into manufacturer, country of origin, model year, plant and drivetrain columns.
Input Configuration
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | — | Vehicle-listing or single-lot URLs. Takes precedence over categories / makes. |
categories | array | ["Cars"] | Categories to sweep when startUrls is empty. |
makes | array | — | Makes crossed with each category. Empty means the bare category index. |
maxItems | integer | 100 | Stop after this many lots. Free runs are capped at 100. |
enrichVin | boolean | false | Decode the visible VIN characters into manufacturer, country, year and plant columns. |
maxConcurrency | integer | 5 | Parallel requests. Above 5 the block rate climbs sharply. |
minConcurrency | integer | 1 | Lower bound on parallelism. |
maxRequestRetries | integer | 5 | Retries per request before it is abandoned. |
proxy | object | — | Proxy override. Paying runs use a sticky US residential pool by default. |
Example — one make, with VIN decoding
{"categories": ["PickupTrucks"],"makes": ["Ford"],"maxItems": 100,"enrichVin": true}
Example — specific lots only
{"startUrls": ["https://www.iaai.com/VehicleDetail/46314273~US","https://www.iaai.com/VehicleDetail/46298685~US"],"enrichVin": true}
Output Overview
One row per lot. Each row carries IAAI's full attribute set for that vehicle — identity, damage, condition, title, branch, auction scheduling and media links — as flat top-level keys, so it drops straight into a spreadsheet or a database table without unnesting.
Field count varies slightly between lots (roughly 225–246) because IAAI populates a different attribute set for different vehicle types. CSV export takes the union of the columns present.
A handful of page-formatted values are also kept under display* names, so you get both the machine value and the human string: ODOValue: "37824" alongside displayOdometer: "37,824 mi (Actual)".
Output Samples
Real row, trimmed from 225 fields to the useful core. Produced from https://www.iaai.com/Vehiclelisting/PickupTrucks/Ford.
{"url": "https://www.iaai.com/VehicleDetail/46314273~US","salvageId": "46314273","stockNumber": "45815396","tenant": "US","Year": "2024","Make": "FORD","Model": "MAVERICK","Series": "XL","YearMakeModelSeries": "2024 FORD MAVERICK XL","InventoryType": "AUTOMOBILE","PrimaryDamageCode": "BO","PrimaryDamageDesc": "FRONT & REAR","SecondaryDamageDesc": "RIGHT SIDE","LossTypeDesc": "Other","Keys": "True","KeyFOB": "True","StartsDesc": "Starts","RunAndDrive": "True","ODOValue": "37824","ODOBrand": "ACTUAL","ODOUoM": "mi","AirbagState": "Intact","VIN": "3FTTW8B91RR******","VINStatus": "OK","Title": "BillOfSale","TitleCode": "CLR","TitleStateName": "Michigan","VehicleGrade": "16","BranchName": "Flint (MI)","Address": "3088 S DYE RD","City": "Flint","State": "MI","Zip": "48507","Phone": "8107200981","LocLatitude": "42.98429","LocLongitude": "-83.78340","AuctionDateTime": "8/25/2026 1:30:00 PM +00:00","Lane": "B","Slot": "32","Currency": "USD","WhoCanBuy": "DEA,DIS,EXP,REB,SCR","EngineInformation": "2.0L I4 FI DOHC 16V NF4","Cylinders": "4","Transmission": "Automatic","DriveLineTypeDesc": "AWD","FuelTypeDesc": "Gasoline","ExteriorColor": "WHITE","BodyStyleName": "PICKUP 4 DOOR","VehicleClass": "Compact Pickup","CountryOfOrigin": "Mexico","KeyImageLink": "https://vis.iaai.com/dimensions?imageKeys=46314273~SID","displayActualCashValue": "$21,100 USD","displayOdometer": "37,824 mi (Actual)","scrapedAt": "2026-08-22T10:22:35.828Z"}
With enrichVin: true, these columns are appended:
{"vinDecoded": true,"vinWmi": "1FT","vinCountryOfOrigin": "United States","vinManufacturer": "FORD MOTOR COMPANY","vinModelYear": "2010","vinBodyClass": "Pickup","vinPlantCity": "CLAYCOMO","vinEngineCylinders": "8","vinDisplacementL": "5.4","vinEngineHP": "310","vinDriveType": "4WD/4-Wheel Drive/4x4","vinGvwr": "Class 2F: 7,001 - 8,000 lb (3,175 - 3,629 kg)"}
Key Output Fields
Identity — salvageId, stockNumber, tenant, url, Year, Make, Model, Series, YearMakeModelSeries, VIN, VINStatus
Damage & condition — PrimaryDamageCode, PrimaryDamageDesc, SecondaryDamageDesc, LossTypeCode, LossTypeDesc, StartsCode, StartsDesc, RunAndDrive, Keys, KeyFOB, AirbagState, NoOfAirbags, VehicleGrade, OperableInd
Odometer — ODOValue, ODOBrand, ODOUoM, displayOdometer
Title & eligibility — Title, TitleCode, TitleBrand, TitleState, TitleStateName, TitleNotes, WhoCanBuy, CertState
Specification — EngineInformation, DisplLiters, Cylinders, CylindersDesc, Transmission, DriveLineTypeDesc, FuelTypeDesc, BodyStyleName, VehicleClass, ExteriorColor, InteriorColor, RestraintType, CountryOfOrigin
Branch & location — BranchName, BranchNumber, BranchState, Address, City, State, Zip, Phone, LocLatitude, LocLongitude, IsOffsite, HoursOfOperation, PickupInstructions
Auction — AuctionId, AuctionDateTime, Lane, Slot, Aisle, Stall, Currency, MinimumBidAmount, TimedAuctionIndicator, PublicAuctionInd, displayActualCashValue
Media — KeyImageLink, Link360, EngineSoundLink, ConditionReportURL
VIN enrichment (only with enrichVin: true) — vinDecoded, vinWmi, vinManufacturer, vinCountryOfOrigin, vinModelYear, vinBodyClass, vinPlantCity, vinEngineCylinders, vinDisplacementL, vinEngineHP, vinDriveType, vinGvwr
FAQ
Do I need an IAAI account? No. The actor reads only public vehicle-listing and lot pages.
Why is the VIN partly masked?
IAAI publishes only the first 11 VIN characters on public lots and hides the last six. That is IAAI's masking, not a limitation of the scraper. The 11 visible characters are exactly the manufacturer, descriptor, check digit, model year and plant code, so enrichVin still returns manufacturer, country of origin, model year, plant, engine and drivetrain.
Can I scrape an IAAI search URL with my own filters?
No. IAAI's robots.txt disallows /Search, so this actor deliberately sources lots from the vehicle-listing taxonomy instead. Use categories and makes to target inventory.
How many lots can one category and make return? Up to 100 per bucket. To go wider, cross more categories with more makes — the taxonomy holds roughly 253 valid combinations.
Why did a category and make combination return nothing?
Some pairs don't exist in IAAI's taxonomy — PickupTrucks/BMW, for instance. The actor logs the bucket as empty and moves on without spending retries on it.
Does it return the current high bid?
No. Live bid amounts, reserve and bidder status are served only to logged-in members. Public lots expose MinimumBidAmount and the actual cash value instead.
Are all fields filled on every row? No. Core identity, damage, odometer, title, branch and auction fields are present on essentially every lot. Some are genuinely sparse in IAAI's own data — a 360° view link appears on roughly a fifth of lots, and secondary damage on about two-thirds.
What are the display* fields?
The page-formatted version of a value that also exists as a machine value, so you get ODOValue: "37824" and displayOdometer: "37,824 mi (Actual)" side by side.
Support
Found a bug or need a field that isn't there? Open an issue on the actor's Issues tab and it gets looked at.
- Issues: the Issues tab on this actor's Apify Store page
- Email: muhamed.didovic@gmail.com
- More actors: muhamed-didovic.github.io
Additional Services
Need a tailored export, a different schedule, a custom field set, or a scraper for a site that isn't covered yet? Custom builds are available — get in touch by email with what you need.
Explore More Scrapers
- Copart Scraper — salvage auction lots across 8 countries
- Auction.com Scraper — foreclosure and bank-owned property auctions
- Cars.com Scraper — VIN, price history, dealer data
- AutoScout24 Scraper — European used-car listings
- Autotrader UK Scraper — UK used-car marketplace
- Carsales Scraper — Australian vehicle listings
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/iaai-scraper).
Purpose: Scrapes public salvage-auction lots from iaai.com into flat rows of 200+ fields, including VIN decoding that works on IAAI's masked VINs.
Minimal input:
{ "categories": ["Cars"], "makes": ["Toyota"], "maxItems": 25, "enrichVin": true }
Output: one dataset row per lot — url, salvageId, stockNumber, tenant, Year, Make, Model, Series, VIN, VINStatus, PrimaryDamageCode, PrimaryDamageDesc, SecondaryDamageDesc, LossTypeDesc, StartsDesc, RunAndDrive, Keys, KeyFOB, AirbagState, VehicleGrade, ODOValue, ODOBrand, ODOUoM, Title, TitleCode, TitleStateName, WhoCanBuy, EngineInformation, Cylinders, Transmission, DriveLineTypeDesc, FuelTypeDesc, BodyStyleName, VehicleClass, ExteriorColor, CountryOfOrigin, BranchName, Address, City, State, Zip, Phone, LocLatitude, LocLongitude, AuctionDateTime, Lane, Slot, Currency, MinimumBidAmount, KeyImageLink, Link360, displayActualCashValue, displayOdometer, scrapedAt, plus vin* columns when enrichVin is true.
Behaviors an agent should know:
- Always set
maxItems. An uncapped sweep of all categories and makes can reach roughly 25,000 lots. startUrlsoverridescategoriesandmakeswhen both are supplied.- Each category/make bucket yields at most 100 lots; widen coverage by adding makes, not by paging.
- Billing is $0.005 per run start plus $0.008 per lot written. Listing pages, retries, empty category buckets and withdrawn lots are never charged beyond the start fee.
- Free-tier runs are capped at 100 items regardless of
maxItems. - Live bid amounts and reserve are login-gated and are not returned. IAAI search URLs (
/Search) are not supported. - Field count varies per lot (roughly 225–246); treat the schema as a superset, not fixed.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by IAA Holdings, LLC, RB Global, Inc., or any of their subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available vehicle-listing and lot pages — no authenticated endpoints, paid features, or content behind the iaai.com login wall, and no paths disallowed by the site's robots.txt. Users are responsible for ensuring their use complies with iaai.com's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.
SEO Keywords
iaai scraper, scrape iaai, iaai api, iaai.com scraper, insurance auto auctions scraper, salvage auction scraper, salvage car data, salvage vehicle scraper, auto auction scraper, vehicle auction data, car auction api, vin decoder scraper, salvage title data, damaged car listings, wrecked car data, copart alternative scraper, dealer inventory sourcing, vehicle export data, auto salvage intelligence, used car market data, rebuilt title research, auto dismantler leads