Bulk VIN decode

A spreadsheet of decoded vehicles, sixty seconds.

VINs in, year/make/model/trim/MSRP/photo out. Per-VIN pricing, no subscription.

The problem

Bulk decoding is a data-engineering problem disguised as a UX problem.

Roll your own against an API

~$0.05–0.20/VIN + dev time

Weeks of plumbing for a one-off spreadsheet.

Sign a vendor contract, write the integration, handle retries and rate limits, normalize the response, emit the workbook. By the time it works, the deal you needed it for is closed.

NHTSA vPIC

Free

No trim, no MSRP, no photos.

vPIC returns the build label and stops. For appraisal, listing prep, or wholesale lane work you also need trim, base MSRP, and a photo — none of which vPIC provides.

Manual VIN-by-VIN lookup

Hours of analyst time

Errors, copy-paste fatigue, no audit trail.

A junior analyst pasting VINs into a dealer tool one at a time produces a spreadsheet at the wrong cost basis with no way to re-run when the input changes.

What you get

One spreadsheet. Twelve columns. Every VIN accounted for.

  • 01

    Decoded build

    Year, make, model, trim, body, drive, engine, transmission — twelve columns, one row per VIN, typed cells (not stringified numbers).

  • 02

    Base MSRP

    Factory MSRP at the trim level, formatted as currency. Useful for cost-basis calculations and listing-price anchoring.

  • 03

    Hero photo URL

    First retail photo URL we find for the VIN's build. Copy-paste-able into a listing or comp sheet.

  • 04

    Per-row error column

    Invalid VINs, decode failures, and rate-limit retries surface as text in the Error column — never silently dropped, never blocking the rest of the batch.

  • 05

    XLSX or CSV

    XLSX is the default (typed cells, frozen header, currency format on MSRP). CSV is available for downstream pipelines.

  • 06

    Email delivery

    Spreadsheet downloads in the browser as soon as the batch finishes. The delivery email is recorded for the receipt.

How it works

One file. One click. One spreadsheet.

  1. 01

    Upload your CSV

    A single column named "vin" is required. Optional "zip" column for ZIP-localized downstream calls (ignored for v1 decoder).

  2. 02

    We fan out across decode + specs + photos

    Concurrency-bounded calls with retries — your batch finishes in seconds, not minutes, without melting the API.

  3. 03

    Download the spreadsheet

    XLSX (default) or CSV, twelve columns, one row per VIN. Per-row decode errors surface in the Error column.

Pricing

Per VIN. No subscription.

Per-VIN

$0.10/VIN

Dealer / fleet / auction

  • $5 minimum per upload
  • XLSX or CSV download
  • Twelve-column decoded output
  • Per-row error column for failures
Decode VINs

Defensibility

What this is. What it isn't.

Suitable for

  • Dealer-group inventory scrubs against trade-in lists.
  • Auction-lane prep before live sale.
  • Fleet remarketing batches.
  • Insurance total-loss queue triage.
  • Pipelines needing build, MSRP, photo per N VINs.

Not for

  • USPAP-grade individual valuations. See Carriage Probate.
  • Title or accident history. Carfax/AutoCheck territory.
  • Real-time API integration. This is a batch tool.

Bulk decode is a comparative-data product, not an appraisal or a title check. Per-row errors surface in the Error column; invalid VINs do not block the rest of the batch. Input VINs are processed in-memory and discarded after the workbook renders.

Frequently asked

Questions worth answering up front.

How big a batch can I upload?
Practical limit: 5,000 VINs per upload. For larger batches email sales@ — we can do 100k+ but want to coordinate the timing.
What happens to invalid VINs?
They get a row in the output with the Error column populated. The rest of the batch isn't blocked — partial-failure tolerance is a first-class feature.
XLSX vs CSV — which should I pick?
XLSX if a human will open the file (typed cells, frozen header, currency-formatted MSRP). CSV if it feeds a downstream pipeline that wants a flat string format.
Do you store the uploaded VINs?
No. Uploads are processed in-memory and discarded after the spreadsheet renders. The VIN list is not retained.
Why not just use NHTSA vPIC?
vPIC is great for the build label but doesn't return trim, base MSRP, or photo URL. If you only need YMM, vPIC is free — use it.
Can I get more columns?
The chassis supports it. Email sales@ with the columns you want; if there's general demand we add them to the standard output.

Ready when you are

Spreadsheet in, spreadsheet out.