Score a deal by VIN
Paste the VIN from the listing, add price and miles, and DealScore decodes the car through NHTSA and scores it against live US market comps. ZIP is optional if you want a local refine.
What you need
- VIN — 17 characters, no I/O/Q. Found on the dash, door jamb, or listing photos.
- Asking price — seller's current ask in USD.
- Mileage — current odometer.
- ZIP — optional. Use it only to narrow comps to a local market. The default score is national.
That's it. Year/make/model is optional — the VIN path fills it in.
NHTSA decode (vPIC)
When a VIN is submitted, DealScore calls the NHTSA vPIC API to resolve year, make, model, and trim. It's the same public decode service insurers and DMV systems use — we don't maintain our own VIN database.
If decode fails (invalid VIN, incomplete NHTSA record), DealScore returns an error. Fall back to entering year/make/model on the homepage form.
Example API request
Agents and scripts can POST the same payload to /api/score:
Response includes grade, delta_pct, expected price, comp summary, brief, and risks. Production uses live market comps; see when we return cannot_score.
VIN vs. year/make/model
Both paths hit the same scoring engine. Use VIN when the listing includes one — it reduces typos on make/model and picks up trim when NHTSA has it. Use year/make/model when only those fields are available, or if decode fails.