Salvage Auction Data

Salvage auction data — photos, damage labels, and what happened to the car next

46.2 million Copart and IAAI lots, over 528 million auction photos, around 30 normalized damage classes, repair-cost estimates and pre-loss retail values. For about 561,000 of those VINs we also captured the retail listings the same car reappeared in after the auction — date, asking price, mileage and seller. It is a salvage auction dataset built for training: ~44M lots carry a damage class, ~4.4M also carry a repair-cost estimate and a pre-loss retail value, and every photo is joined to its VIN.

Copart · IAAI
New lots daily
Bulk · API · sample ZIP
2023 Kia Rio LX in white, front three-quarter view at a Copart salvage yard in Wilmer, Texas — minor dent and scratch damage, lot 72326955 MINOR DENT/SCRATCHES
Front end of a white 2023 Kia Rio LX showing minor bumper and hood damage, Copart salvage auction lot photo Driver-side profile of a 2023 Kia Rio LX salvage lot, classified as minor dents and scratches

VIN 3KPA24AD7PE615699 · Copart · Wilmer, TX · lot 72326955

528M+
auction photos
46.2M+
lots with a full photo set
~44M
lots with a damage class
~4.4M
photos + damage + repair + ACV
daily
new lots

Totals update weekly; damage-class and repair-estimate breakdowns are as of August 2026. New Copart and IAAI lots land daily, and the archive runs back to June 2021.

Dataset at a glance

Geography
United States — Copart and IAAI yards; auction city and state on every record
Sources
Copart, IAAI
Observation window
June 2021 – present
Model years
Late 1990s through the current year; ~97% are MY2000+
Records
46.2M+ lots · 528M+ photos · ~561,000 VINs linked to a retail outcome
Photos per lot
10–13 for 90% of lots (median 11, maximum 38)
Image format
JPEG, typically 1280×960 native; 640×480 on some older lots, 5,000+ px panoramas on some
Delivery
Signed URLs or a bulk archive, with a manifest joining every photo to its VIN and lot
Update cadence
New lots added daily
Formats
CSV · Parquet · JSON · API
Licence
Period-limited, perpetual, or API — commercial model training included

One Real Lot

Everything we ship, for one VIN

This is not a mock-up. Below is a real lot from the dataset — its auction photos, the record exactly as it is delivered, and the retail listings the same VIN appeared in three weeks later.

lot-72326955/
2023 KIA RIO LX 39,048 mi Keys: yes Run & Drive Verified Copart · Wilmer, TX
2023 Kia Rio LX lot 72326955 at Copart Wilmer, Texas — full walkaround photo 1 of 14 MINOR DENT/SCRATCHES 1/14
Front end of a white 2023 Kia Rio LX showing minor bumper and hood damage, Copart salvage auction lot photo 2/14
Driver-side profile of a 2023 Kia Rio LX salvage lot, classified as minor dents and scratches 3/14
Rear three-quarter view of a white 2023 Kia Rio LX at a Copart yard, minor cosmetic damage 4/14
Close-up of minor dent and scratch damage on a 2023 Kia Rio LX body panel, auction damage documentation photo 5/14
Interior and odometer view of a 2023 Kia Rio LX salvage lot showing 39,048 miles, Run and Drive verified 6/14
Six of the 14 photos on lot 72326955 — walkaround plus damage close-ups, delivered at 1280×960. Every lot ships its full photo set: 10 to 13 photos for 90% of lots, median 11.
  • record.json 1 lot
  • images/ 14 files
  • retail_listings.json 2 rows
  • README.md schema + license
record.json
{  "vehicle": {    "vin": "3KPA24AD7PE615699", "year": 2023,    "make": "KIA", "model": "RIO", "trim": "LX",    "engine": "1.6L 4", "drivetrain": "Front-wheel Drive",    "fuel_type": "GAS", "transmission": "AUTOMATIC",    "exterior_color": "WHITE", "odometer_mi": 39048  },  "damage_assessment": {    "primary_damage": "MINOR DENT/SCRATCHES",    "secondary_damage": null,    "keys_present": "YES", "run_and_drive": true,    "run_and_drive_note": "Run & Drive Verified"  },  "valuation": {    "repair_cost_estimate_usd": 1626,    "estimated_retail_value_usd": 16875.0, "currency": "USD"  },  "auction": {    "house": "Copart", "lot_id": "72326955",    "city": "WILMER", "state": "TX",    "record_observed_at": "2026-01-31"  },  "vehicle_history": {    "retail_market_outcome": {      "reappeared_on_retail_market": true,      "first_listed_at": "2026-02-20",      "days_from_auction_to_first_listing": 20,      "min_listed_price_usd": 10500,      "max_listed_price_usd": 15659    },    "retail_listings_after_auction": [      { "listed_at": "2026-02-20", "price_usd": 15659,        "mileage_mi": 39049, "seller": "Greg May Honda",        "city": "Waco", "state": "TX" }    ]  },  "images": ["… 14 photos: walkaround + damage close-ups"]}

Real record. Retail listings trimmed to one for length; the delivered record carries all of them. The highlighted lines are the fields buyers ask about first — the damage class, the repair estimate, the pre-loss retail value, and what the same VIN was listed at afterwards.

What happened to this VIN after the auction

  1. Jan 31, 2026 Auction record Copart · Wilmer, TX · lot 72326955 · minor dents and scratches · Run & Drive Verified
  2. Feb 20, 2026 Back on the retail market 2 listings observed · highest asking $15,659 at Greg May Honda, Waco, TX, with 39,049 miles — one mile more than at the auction
Repair cost estimate
$1,626
Pre-loss retail value (ACV) what the car was worth before the damage
$16,875
Retail asking after the auction
$10,500 – $15,659

A repair-to-value ratio of 9.6% — nowhere near any state's total-loss threshold, which is why this car was always going to be repaired and resold. Everything above is observed: the auction record, the repair estimate, the pre-loss value, and the retail listings the VIN turned up in, matched against our retail listings data feed.

And now multiply

One car you just met. 46.2 million more behind it.

Every step you just read — the photos, the damage class, the repair estimate, the pre-loss value, the retail listing that followed — is a field on a record. Here is how far each of them reaches.

  1. 528M+ auction photos — about 11 per lot
  2. 46.2M+ lots with a full photo set
  3. ~44M with an auction-house damage class
  4. ~4.4M with repair estimate + pre-loss value on the same record
  5. ~561,000 VINs with a retail listing observed after the auction

Not every lot carries every field. The first rung counts photographs, not lots, so it is a different unit; from the second rung down each row is a subset of the row above it. This is the honest coverage, not a headline number, and new lots land every day.

2025 Toyota Corolla CR XLE with hail damage, front three-quarter view at a salvage auction yard Hail dents across the hood of a 2025 Toyota Corolla CR XLE, salvage auction lot photo Roof of a 2025 Toyota Corolla CR XLE covered in hail dents, overhead damage documentation photo Side profile of a hail-damaged 2025 Toyota Corolla CR XLE at a salvage auction
2025 Toyota Corolla CR XLE, primary damage HAIL — four of the auction photos on the lot.

Second lot

2025 Toyota Corolla CR XLE · HAIL — the same loop, five times the repair bill

  • $14,341 repair estimate
  • $27,515 pre-loss retail value
  • 144 days to a retail listing
  • $28,520 asked by a Houston dealer

Hail is the class where nothing is broken and everything is dented. A 52% repair-to-value ratio, five times the Rio's — and the car still came back, 144 days later instead of 20. Cheap damage returns fast. Expensive damage takes months. That gradient, from severity to time-to-resale to price, is a label you can train on, and it sits in the vehicle_history block of every linked record.

Schema

record.json, field by field

One record is one auction lot, keyed on VIN. The examples below are the real values from lot 72326955 — the same lot shown above.

record.json — schema v1
Fields of one auction record, with type, example value and coverage
Field Type Example Coverage Notes
vehicle Decoded vehicle identity as recorded on the lot.
vin string "3KPA24AD7PE615699" 46.2M+ Join key across every VinAssessment dataset.
year integer 2023 46.2M+
make string "KIA" 46.2M+
model string "RIO" 46.2M+
trim string "LX" 46.2M+ Normalized against the NHTSA trim list where the lot record allows it.
engine string "1.6L 4" 46.2M+
drivetrain string "Front-wheel Drive" 46.2M+
fuel_type string "GAS" 46.2M+
transmission string "AUTOMATIC" 46.2M+
exterior_color string "WHITE" 46.2M+
odometer_mi integer 39048 46.2M+ As recorded at the auction, not corrected.
damage_assessment The auction house label, normalized.
primary_damage enum(~30) "MINOR DENT/SCRATCHES" ~44M Lot-level, not part-level. Per-panel annotation is a paid add-on.
secondary_damage enum|null null ~44M Present when the lot record carries a second label.
keys_present enum "YES" ~44M
run_and_drive boolean true ~44M The auction house started the vehicle and confirmed it moved under its own power — the “Run and Drive Verified” note on the lot.
run_and_drive_note string "Run & Drive Verified" ~44M Verbatim note from the lot record.
valuation The two price fields the auction record actually carries.
repair_cost_estimate_usd integer 1626 ~4.4M A single figure from the lot record — no parts / labour breakdown.
estimated_retail_value_usd float 16875.0 ~4.4M Pre-loss retail value (ACV) as published by the auction house. Not a post-repair price. Copart values carry finer resolution; IAAI values are more coarsely rounded — you will see both in the sample.
currency string "USD" ~4.4M
auction Where and when the lot was observed.
house enum "Copart" 46.2M+ Copart or IAAI.
lot_id string "72326955" 46.2M+
city string "WILMER" 46.2M+
state string "TX" 46.2M+
record_observed_at date "2026-01-31" 46.2M+ The date we observed the lot record — our observation date, not the auction date. days_from_auction_to_first_listing is measured from it, so it carries the lag between the auction itself and our observation: typically small, but treat the interval as a lower bound rather than an exact figure. Use it as your temporal split boundary.
vehicle_history What happened to this VIN afterwards: the post-auction retail listings for the same VIN.
retail_market_outcome.reappeared_on_retail_market boolean true subset True where we matched the same VIN in retail listings after the auction date.
retail_market_outcome.first_listed_at date "2026-02-20" subset
retail_market_outcome.days_from_auction_to_first_listing integer 20 subset Directly trainable as a time-to-resale target.
retail_market_outcome.min_listed_price_usd integer 10500 subset Lowest asking price observed across all post-auction listings of this VIN.
retail_market_outcome.max_listed_price_usd integer 15659 subset Highest asking price observed. These are asking prices, not closes.
retail_listings_after_auction[] array listed_at, price_usd, mileage_mi, seller, city, state subset One row per observed retail listing of the same VIN.
auction_appearances[] array lot_id, observed_at, odometer_mi, primary_damage subset Repeat appearances of the VIN at auction — mileage and damage progression.
images The photo set.
images[] array<url> 14 photos: walkaround + damage close-ups 46.2M+ Between 10 and 13 photos for 90% of lots (median 11, maximum 38). JPEG, typically 1280×960 native. Delivered as signed URLs or as a bulk archive.
images[].phash string perceptual hash on request Computed and shipped on request — used for reuse / forensics work.

Splitting without leaking

One VIN can carry up to fourteen photographs of the same car, and the same VIN can appear at auction more than once. Split by VIN, never by image, or your validation set will contain your training set from a different angle. For a time-honest evaluation, split on record_observed_at as well — the field is on every record for exactly that purpose.

Fields we do not ship

The hammer price of the lot. Salvage auction outcomes are not published in a form we can verify record by record, so we do not sell a price field we cannot stand behind. The money in this dataset is the repair cost estimate, the pre-loss retail value, and the actual retail asking prices the same VIN carried after the auction.

Trainable tasks

What you can train on it, and on how much

This is a vehicle damage dataset for machine learning, and every card below names the label column, because that is the question an ML lead asks in the first five minutes. Teams building damage triage, claims automation, insurance and lending models, and remarketing analytics all train on the same records; only the target column changes. Each card is a task the schema supports directly: the inputs, the target column, and the size of the labeled set that target lives in. Where a task has a known limitation, it is written on the card, not in the footnotes.

01

Damage classification

multiclass · vision
Input
images[] + vehicle.*
Target
damage_assessment.primary_damage
Train set
~44M labeled lots — about 480M images

The lot label applies to every photo in the set, so ~44M labeled lots is roughly 480 million labeled images. Labels come from the auction houses and are normalized to ~30 classes, and we publish the distribution rather than describe it: front end 17.9M, side 5.3M, rear 4.8M, all over 1.4M, mechanical 1.1M, minor dents and scratches 1.1M, with hail, flood, rollover, burn and vandalism as a rarer tail (counts as of August 2026). That imbalance is what your production traffic looks like, but you should see the numbers before you plan your sampling. For auto damage detection training data this is the difference between a demo and a production model: the public car damage datasets used in most deep learning papers hold a few thousand annotated photos.

02

Severity and repairability scoring

regression · vision + tabular
Input
images[] + vehicle.* + damage_assessment.*
Target
repair_cost_estimate_usd ÷ estimated_retail_value_usd
Train set
~4.4M full-chain lots — about 48M images

The repair-to-value ratio is the economic question underneath every total-loss decision an insurance carrier makes. The Kia Rio above is 9.6%, the hail Corolla is 52% — continuous, so you can threshold it wherever your business rules sit. Both fields come from the same source, the auction house, so what you are learning is the auction-house assessment rather than an independently verified economic outcome.

03

Repair cost regression

regression · vision + tabular
Input
images[] + vehicle.* + damage_assessment.*
Target
repair_cost_estimate_usd
Train set
~4.4M lots with an estimate

One figure per lot, no parts / labour split. Treat it as the auction-house estimate it is: noisy per row, well-behaved across 4.4 million of them. The research literature on repair-cost prediction routinely notes that cost-labeled datasets have to be built from scratch because none exist off the shelf. This is that vehicle repair cost dataset: about 4.4 million lots where the cost figure travelled with the car.

04

Resale outcome prediction

classification + regression · tabular
Input
vehicle.* + damage_assessment.* + valuation.* + auction.{house, city, state, record_observed_at} — everything on the record at auction time, with the vehicle_history block held out as the target
Target
retail_market_outcome.{reappeared_on_retail_market, days_from_auction_to_first_listing, min/max_listed_price_usd}
Train set
~561,000 VINs linked from auction to retail

The layer no competing salvage feed ships: whether the same VIN came back to retail, how fast, and at what asking price. It is the only target here where the ground truth is a market event rather than an estimate.

05

Photo forensics and reuse detection

retrieval · vision
Input
images[] + perceptual hashes
Target
auction photo reused in a later retail listing
Train set
528M+ auction images as the index corpus

This is a matching pipeline, not a supervised task: there is no “reused” label to fit, you index 528M+ auction images by perceptual hash and query them. To query against retail photography you also need the retail image corpus, which is a separate dataset — see Vehicle Image & Damage Datasets below. Both corpora share one VIN keyspace, so a match is a match on the same car.

06

Damage-aware valuation (diminished value)

regression · tabular
Input
damage_assessment.* + estimated_retail_value_usd + retail_listings_after_auction[]
Target
gap between pre-loss value and post-repair asking price
Train set
~561,000 lots — the intersection of the full chain and the retail-linked set

The usable set is the intersection: a lot needs a pre-loss value, a repair estimate and an observed retail price after the auction, which is about 561,000 of them. Diminished value normally gets argued about rather than measured, because it needs the same car before and after. Here both endpoints sit on one row.

If your model needs asking prices and price history across the whole retail market rather than the salvage side of it, that lives in our automotive AI training data.

Delivery

Delivered to your infrastructure

Into the infrastructure your team already uses. There is no portal to log into to reach data you have licensed.

Bulk files

CSV, Parquet or JSON pushed to your S3 bucket, Snowflake, BigQuery or SFTP endpoint. Full history or a filtered slice — by make, model, year range, damage class, state or date range. Images ship as signed URLs with a manifest joining every photo to its VIN and lot.

API

A salvage auction data API: query lots and their photo sets by VIN, damage class, date or region when you need records on demand rather than in a nightly batch. Same schema as the bulk files, so a model trained on the batch runs unchanged against the API.

Samples & licensing

The sample package is a ZIP of 20 complete lots — 285 photographs, one record.json per lot, and a README with the data dictionary and licence terms. In the last package we sent, 18 of the 20 lots carried a post-auction retail outcome. We filter it to your segment — your makes, model years, damage classes, states — and it goes out in about one business day, before anything is signed. Evaluation use only.
period-limited perpetual API access part-level annotation — paid add-on

What the licence does and does not allow

It covers commercial model training, including production use of the trained model, for one named end client per licence. It does not cover redistributing the raw images or sublicensing the data to third parties — if that is your model, the redistribution page below covers a different arrangement. The data is provided as-is, sourced from publicly listed auction records; we do not warrant intellectual property in the photographs themselves. Personal information is stripped from the tabular record before delivery, and a data processing agreement is available on request.

What it costs, roughly

Licences on this dataset typically start in the mid five figures. Tell us your volume and use case and we will quote within one business day. The sample package is free and evaluation-only.

Planning to redistribute or white-label the data rather than train on it? That is a different arrangement — see data redistribution and white-label licensing.

Known limits

What this dataset is not

We would rather you find these out here than in month two of a project.

There is no auction sale price

This dataset does not contain the winning bid or the hammer price for a lot, and we do not estimate one. The dollar figures in it are the repair estimate, the pre-loss retail value, and the actual asking prices in retail listings after the auction.

Damage labels are lot-level, not part-level

primary_damage describes the vehicle, not a region of a specific photo. There are no bounding boxes or segmentation masks in the standard delivery — part-level annotation is a paid add-on service. If you need an annotated car damage image dataset with per-region masks, that is the add-on, and we will quote it.

The repair estimate is a single figure

It arrives as one number from the lot record, with no parts-versus-labour breakdown and no line items. It reflects the auction house’s estimate, not a body-shop quote.

Retail outcome linkage is partial by nature

It covers about 561,000 VINs, not all 46.2 million. A car only appears if it genuinely came back to the retail market and we observed the listing — treat reappeared_on_retail_market: false as “not observed”, not as proof the car was never resold.

What is visible in the photographs

These are auction intake photographs of real vehicles in real yards, delivered as the auction house published them. License plates and VIN plates are visible where they were photographed; interiors are photographed as found. The tabular record carries no personal information: sellers in the linked retail listings are businesses, and no consumer names, addresses or contact details appear in any field. If your use case requires plate or face redaction, raise it during scoping and we will quote it.

Need per-image annotation rather than lot-level labels? Our per-image damage annotations and listing photo sets are a separate dataset, and part-level annotation on this one is quoted as an add-on service.

Coverage

Coverage: Copart and IAAI lots across the United States

What is actually in the corpus, in the units you will plan a training run in.

Auction houses and geography

Copart and IAAI, across the United States. Every record carries the auction city and state, so you can slice by region, stratify a training set geographically, or limit a licence to the territory you actually operate in. The geography is a usable variable, not just metadata: hail lots cluster in Texas and the Plains, flood lots follow storm seasons on the Gulf and East coasts. New lots land daily, and the observation window runs from June 2021 to the present.

The ~30 damage classes

Front end, rear end, side, all over, hail damage, water and flood damage, rollover, burn, vandalism, mechanical, minor dents and scratches, undercarriage — around 30 normalized classes, mapped from the auction houses' own damage codes. The distribution is published rather than described: front end 17.9M, side 5.3M, rear 4.8M, all over 1.4M, mechanical 1.1M, minor dents and scratches 1.1M, with hail, flood, rollover, burn and vandalism forming a rarer tail. Counts as of August 2026. A vehicle damage classification dataset built on these labels inherits the taxonomy the industry actually uses, not one invented by an annotation vendor, which matters when your model's output has to be handed to an insurance carrier, a salvage buyer or a rebuilder.

Photo coverage

Over 528 million auction images, 10 to 13 per lot for 90% of lots (median 11, maximum 38): a walkaround plus close-ups of the damaged areas. They are JPEG, typically 1280×960 native, with 640×480 on some older lots and 5,000+ pixel panoramas where the auction house shot a 360° frame. 46.2 million lots carry a complete photo set. As a car damage image dataset that is three to four orders of magnitude beyond the public research sets — CarDD, VehiDE and the Kaggle damaged-car photo packs run from roughly two thousand to fifteen thousand images each. The trade-off is granularity, and it is written out in full under What this dataset is not.

Salvage titles and what the data does not carry

Every lot here reached Copart or IAAI as a salvage-auction lot, and many are rebuilt and retitled before they reappear in the retail listings we link to. Model years reach from the late 1990s to the current year, and about 97% of lots are model year 2000 or newer. The title brand itself — salvage, rebuilt, flood — is not a field on this record; it lives in our title brands and odometer history, on the same VIN key, and the two datasets join without a crosswalk.

Copart dataset, IAAI dataset, or a scrape?

If you have been evaluating a Copart dataset or an IAAI dataset assembled from live lot pages, the difference is everything that happens after the lot closes. A scraper sees a lot while it is listed, and lots disappear from auction sites within weeks. We kept them — over 528 million photographs across 46.2 million complete photo sets, repeat appearances of the same VIN with mileage and damage progression, and for about 561,000 VINs the retail listings the car turned up in afterwards. The same VIN key also joins to 350M+ retail listings and to title and odometer history, so there is no reconciliation project before the first experiment.

How You Buy It

Buy only what you need — clean and ready to use

No all-or-nothing contract and no raw scrape to clean up. Take the exact slice you need, already normalized and ready for your pipeline.

Clean data, not a raw scrape

Every record is normalized to one schema across both auction houses, keyed on VIN, and versioned — damage classes are collapsed from the auction houses' inconsistent casing into ~30 canonical values, and numeric fields are typed rather than shipped as strings. It loads into a warehouse as-is. It is still auction data: the repair estimate is noisy row by row, and the Known limits section above says where else.

Buy it in pieces

Take the whole dataset or just the slice you need. License one dataset or several combined, as a one-time pull or an ongoing feed — and always start with a sample.

make & model region / state year range date range just the fields you need

FAQ

Frequently asked questions

Three signals, and none of them is a hammer price. The repair-cost estimate on the lot; the pre-loss retail value (what the car was worth before the damage); and the actual asking prices from retail listings where the same VIN reappeared after the auction. That last one is the number most models want anyway — it is what the vehicle was really offered for once it was back on the road. We do not carry the winning bid for a lot and we do not model one: salvage auction outcomes are not published in a form we can verify record by record, and we will not sell a price field we cannot stand behind.

Copart and IAAI, across the United States, with the auction city and state on every record so you can filter or stratify by geography. The observation window runs from June 2021 to the present, model years reach from the late 1990s to the current year, and about 97% of lots are model year 2000 or newer. New lots are added daily.

They originate in the auction houses' own intake records and are normalized by us into about 30 consistent classes — front end, rear end, side, hail, water/flood, rollover, burn, vandalism, mechanical, minor dents and scratches, undercarriage, all over, and others. The labels describe the vehicle, not a specific region of a specific photo: there are no bounding boxes or masks in the standard delivery. Part-level annotation is available as a paid add-on if your model needs it.

For about 561,000 VINs we have matched the salvage auction record to the retail listings that same VIN appeared in afterwards. You get whether it came back, how many days later, and the asking prices, mileage, seller, and location of each listing — a market event rather than an estimate. It is partial by construction: a VIN appears only if the car genuinely returned to the retail market and we observed the listing. That biases the linked subset toward lighter damage and dealer resale, and we would rather you model around it than discover it in month two. Two things make that tractable. First, reappeared_on_retail_market: false means “not observed”, not “never resold” — so the honest framing is positive-unlabeled learning, not binary classification. Second, every auction-side covariate is present on both the linked and the unlinked lots, so you can estimate the propensity to be observed and reweight. Ask us for the linkage rate broken down by damage class and we will send it with the sample.

Yes. Licences cover commercial AI and machine learning training, and are available period-limited or perpetual, per dataset or combined. If you intend to redistribute or white-label the data rather than train on it, that is a different arrangement — the redistribution page linked in the delivery section covers it. Some sources carry attribution requirements your account team will identify during scoping. Personal information is stripped before delivery and a data processing agreement is available on request.

The sample package is a ZIP of 20 complete lots — 285 photographs, one record.json per lot, and a README with the data dictionary and licence terms. In the last package we sent, 18 of the 20 lots carried a post-auction retail outcome. Tell us the segment — makes, model years, damage classes, states — and we filter it to match, before any agreement is signed. Turnaround is typically about one business day and the sample is evaluation-only. Full delivery is CSV, Parquet, or JSON to your S3 bucket, Snowflake, BigQuery, or SFTP endpoint, or through the API, with images as signed URLs.

Public research sets — CarDD, VehiDE and the Kaggle car-damage packs — run from roughly two thousand to fifteen thousand images and are annotated by academic teams for machine learning research, often with per-region masks. This is a commercial corpus of 528M+ photographs across 46.2M+ salvage auction lots, with ~44M carrying an auction-house damage class and ~4.4M also carrying a repair-cost estimate and a pre-loss retail value on the same record. The trade-off is granularity: our labels are lot-level unless you add part-level annotation as a paid add-on, and in exchange you get scale, an economic label, and a post-auction retail outcome that no public set carries.

For about 561,000 VINs, yes. We match the salvage auction record to retail listings the same VIN appeared in afterwards, so you get whether the car came back, how many days later, and the asking price, mileage, seller and location of each listing. The 2023 Kia Rio on this page was back in retail listings twenty days after its Copart record, asked at $15,659 against a $16,875 pre-loss retail value and a $1,626 repair estimate. The hail-damaged 2025 Toyota Corolla took 144 days and was listed at $28,520. Those are asking prices, and the linkage is partial by construction.

Get Started

Tell us what you need

Tell us about your salvage-data use case and we'll come back with a dataset recommendation, a sample, and a quote — usually within 2 business days. No sales call required to get the numbers.

A paragraph is enough. We'll follow up with the right schema questions.
Which datasets are you interested in?

We respond within 2 business days. If your need is urgent, email us directly at [email protected].

From the damage to the resale price, on one VIN

46.2M+ Copart and IAAI lots · 528M+ auction images · ~30 damage classes · repair estimates and pre-loss values on ~4.4M · post-auction retail outcomes on ~561,000 VINs. Whether you are training damage detection, repair-cost regression or a total-loss decision model, tell us the segment and we will send a real sample package.