posted 2026-07-26 · data.vin/blog/what-vehicle-data-can-you-get-from-a-vin
What vehicle data can you get from a VIN?
One VIN unlocks the decode, factory specs, the OEM build record, the window sticker, live listings, five values, the full history, and open recalls.
A single VIN unlocks the whole record: the decode, the factory specifications, the OEM as-built record, the original window sticker, live for-sale listings, five market values, the full history, and every open recall. Each of those is a distinct dataset with its own coverage, its own license, and its own price, and all of them key to the same seventeen characters. The VIN is not one lookup — it is the join key that resolves one car into every catalog that has ever recorded it.
That is the catalog view, and it is what data.vin exists to state. Most VIN tools answer one question about one car. The catalog answers the meta-question above it: for any given VIN, what data exists at all, where each face comes from, and what each one costs. Below is the full roster, grouped by what it holds.
The eight faces of a VIN's record
Decode. The seventeen characters are not random — they are a structured code the manufacturer stamped at build. Decoding them yields the world manufacturer identifier, the model year, the assembly plant, and the vehicle descriptor section that names body, engine family, and restraint system. The check digit (the ninth character) validates the other sixteen arithmetically, so a mistyped VIN fails before any lookup runs. The decode is the anchor every other face joins through.
Factory specifications. Once the VIN resolves to the exact trim the car actually is — not the trim an ad claims — its full factory spec is on the table: dimensions, powertrain, capacities, standard equipment, and capability ratings like tow, payload, and GVWR for that precise configuration. This is the as-designed record. See specs.vin for the reading itself.
The OEM build record. Distinct from specs, the build record is the as-built data the factory ordered for that one serial: options and packages as coded, paint and trim codes, the assembly plant, and the build date. It is the source data from which the window sticker is later printed.
The window sticker. Regenerated from the build record, the original Monroney sticker restates the factory MSRP, every option and package, the paint, and the destination charge — the car's birth certificate, as it left the plant. This is a historical document, not a current value.
Live listings. If the car is for sale anywhere — dealer lot, auction lane, or private seller — the listings face carries it, with price, venue, source, and a timestamp on the pull. This is a live corpus, described as it stands rather than a frozen snapshot.
Five market values. What the car is worth today, stated as five distinct numbers — retail, private-party, trade-in, wholesale, and auction — each with the source, timestamp, and comps behind it. Worth is a spread, not a single figure, and the record shows the whole spread.
The full history. The chronological record: reported accidents, title brands (salvage, flood, junk), theft and total-loss events, odometer readings over time, and photos of the car through its life. If a record class is not on file, the report says so — a clean result is stated, never implied by a blank. This is the deepening step, checked after the free faces; the vhr.vin report is where it reads.
Open recalls. Every open NHTSA campaign against the vehicle, each with its affected component, the remedy, and the current repair status — each carried with source and timestamp, and stated as absent when no campaign is open.
Where the data comes from — and why it matters
The eight faces do not share an origin, and that is the fact behind the price. Some are computed from VIN's own database at zero marginal cost — the decode, the specs, the listings corpus, and VIN's own values model read the same for every buyer with nothing licensed underneath. Others are metered thin against a public source, like the recall check reading NHTSA. And some are real-money pulls licensed per lookup — book values, the OEM build data, the window sticker, and the full history report each carry a cost that VIN pays upstream and passes through.
This is why the catalog posts three things per face, not one: coverage (does this dataset hold rows for this VIN, and how completely), license (under what terms the data may be used), and price (zero, thin, or priced-through). A VIN with a rich history and a licensed build record is a different quote than a base-trim VIN with only the free faces — and the manifest states which is which before anything transacts.
Reading it for one VIN
At data.vin/{VIN}, the coverage manifest states which datasets hold rows for that specific VIN and prices the full record's data as one typed, per-VIN bundle. The manifest itself is free, on every VIN, no account — it renders no member's reading and is noindex by construction, because the readings live at the member addresses. It answers the buyer's first question honestly: before I pay, what is actually here?
The precision ladder governs the depth. The anonymous base answer is free. An account raises it to a range with its confidence. Paid accuracy — the licensed book overlays and build-level data — is priced through, never given away. Free faces lead; the cost-bearing faces are the deepening step, in that order by design.
So the short answer to what you can get from a VIN is: everything about the car, keyed to one code — provided you also get told, per face, how complete it is and what it costs. That honesty is the catalog. To price one VIN's whole record, read the manifest at data.vin.
The record, at its other addresses
- vhr.vinOne answer, not the catalog? What happened to any VIN is vhr.vin's job — the history, posted.
- values.vinWhat any VIN is worth is values.vin's job — the posted numbers and their basis.
- listings.vinWhether any VIN is for sale is listings.vin's job — the live-listing corpus.
- sticker.vinHow any VIN was built is sticker.vin's job — the window sticker, retrieved.
- apis.vinKey, SDK, MCP — how to integrate is apis.vin's job. This page prices what you integrate.
- all.vinEvery door, one record: all.vin/