Technical guide · VIN decoding 2026

    NHTSA VIN Decoder vs commercial API: when free is enough and when you need more

    The NHTSA VIN Decoder (vPIC) is free, official, and returns ~140 vehicle attributes. But it knows nothing about parts catalogs, doesn't cover LatAm well, and doesn't apply supersessions. This guide explains, with data, what each API solves, when to move to a commercial one, and how to assemble the VIN → EPC → ERP chain that actually sells parts.

    14 min read · Updated May 2026 · By the Efficiency IT Services team

    Executive summary (TL;DR)

    • The NHTSA VIN Decoder (vPIC) is 100% free, official, and requires no API key. It covers vehicles sold in the US since 1981.
    • It returns ~140 vehicle attributes (make, engine, plant, safety) but does NOT return part numbers or stock.
    • To sell OEM parts you need to cross-reference the VIN against the EPC (manufacturer's electronic catalog) and apply SSPL supersessions.
    • In LatAm (Mexico, Brazil, Argentina) NHTSA's coverage is partial: you need to combine vPIC + local commercial APIs.
    • AutoParts AI Agent chains NHTSA vPIC → OEM EPC → SSPL → your ERP inside a WhatsApp conversation, in under 2 minutes.

    Anatomy of the VIN under ISO 3779

    The Vehicle Identification Number (VIN) is a unique 17-character alphanumeric identifier defined by ISO 3779. Each position has a meaning and is used with two algorithms: the check digit (position 9 in the US and Canada) and the modular calculation over the standard's weights.

    The first three positions form the World Manufacturer Identifier (WMI) and tell you who built the vehicle and where. Positions 4 to 9 form the Vehicle Descriptor Section (VDS) and describe the platform: body type, engine, transmission, brake system and model attributes. Positions 10 to 17 form the Vehicle Identifier Section (VIS) and include model year, assembly plant and serial number.

    For a sales department, reading the WMI and model year is usually enough. For a parts department, what decides the correct part lives inside the VDS. And decoders that only process the first 5 characters of the VDS leave out — precisely — the character that differentiates trims and options that change the part.

    NHTSA vPIC: the free API everyone uses first

    vPIC (Vehicle Product Information Catalog) is the public API of the US National Highway Traffic Safety Administration. It's free, requires no authentication and returns responses in JSON, XML or CSV. The main call is DecodeVin/{vin}?format=json and, depending on the vehicle, returns between 80 and 140 attributes.

    What vPIC does well: it covers virtually every vehicle sold in the US since 1981, returning make, model, year, body type, displacement, cylinder count, engine configuration, manufacturing plant and safety data such as belt restraints and airbags.

    What vPIC does NOT do: it does not return the OEM part number for any component. It has no parts catalog. It does not know supersessions (when the manufacturer replaces one part number with another). It does not cover the LatAm market at the same level of detail (Mexican, Brazilian or Argentine VINs not homologated for the US return partial responses).

    On accuracy: for the vehicle's own data (not parts) vPIC is the most reliable source available, because it's fed by the automotive industry itself, which is required by US law to report VINs to the government. For vehicles NOT sold in the US, however, accuracy drops quickly.

    • Main endpoint: vpic.nhtsa.dot.gov/api/vehicles/DecodeVin/{vin}?format=json
    • No authentication, no documented hard quotas (reasonable use).
    • Covers US fleets 1981+; uneven coverage outside the US.
    • No part numbers, no supersessions, no stock — vehicle data, not parts data.

    How to use the NHTSA VIN Decoder step by step

    Calling NHTSA vPIC is trivial — no signup, no API key, no special headers. These five steps cover the full flow from validating a VIN to using the response in production. Works in any language; the examples below use JavaScript but they translate to Python, PHP or Go in minutes.

    Decode a VIN with the NHTSA API in 5 steps

    Minimal, reproducible flow to call the vPIC DecodeVin endpoint and use the response in production, free of charge.

    1. 1

      Validate the VIN on the client

      Before calling NHTSA, validate the VIN is 17 characters and uses only letters and digits (excluding I, O and Q). Compute the check digit (position 9) using ISO 3779 weights to detect typos.

    2. 2

      Call the DecodeVin endpoint

      GET https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVin/{VIN}?format=json. No API key required. The response is a Results[] object with ~140 Variable/Value entries.

    3. 3

      Filter the fields you care about

      Walk Results and keep Make, Model, ModelYear, BodyClass, EngineConfiguration, FuelTypePrimary, PlantCity and PlantCountry. Skip Value entries that are empty or equal to 'Not Applicable'.

    4. 4

      Cache by VIN

      The response is deterministic by VIN: it never changes. Store it in Redis or your DB with a long TTL (30+ days) to avoid re-queries and bring latency under 50 ms for repeat customers.

    5. 5

      Chain with your EPC or catalog

      With Make + ModelYear + EngineConfiguration you can already query the manufacturer's EPC or your internal catalog to get the real part number. This second call is the one that costs money: optimize it by triggering it only when the customer signals purchase intent.

    NHTSA vs commercial APIs: side-by-side comparison

    The difference between the NHTSA VIN Decoder and a commercial API isn't just price. It changes what you can offer the end customer, how fast you respond, and whether your business model can charge for the result. This table summarizes the criteria that matter when choosing.

    NHTSA vPIC vs commercial API vs official OEM EPC

    CriteriaNHTSA vPIC (free)Commercial APIOfficial OEM EPC
    Price per query0 USD0.05 – 0.40 USDRequires authorized dealer account
    AuthenticationNoneAPI keyOAuth + contract
    Vehicle attributes~140 fields~200 fieldsFull catalog
    Part numbers (OEM)NoPartialYes, official and current
    SSPL supersessionsNoSometimesYes, real time
    Stock / availabilityNoNo (requires ERP)No (requires dealer DMS)
    US coverage (1981+)ExcellentExcellentExcellent
    LatAm coverage (MX/BR/AR)PartialGood (provider-dependent)Excellent for brands with local presence
    Typical latency200–600 ms150–400 ms300–900 ms
    Best forVIN validation, insurance, valuationBulk quoting, marketplaceOfficial dealer, aftersales

    Commercial APIs: when you need the parts catalog

    Commercial APIs (DataOne, vinAudit, Carfax, Polk, plus the proprietary APIs from Toyota Tech Stream, Ford OASIS, Mopar EPC, etc.) cover what vPIC does not: cross-referencing the VIN against the manufacturer's electronic parts catalog (EPC).

    An official EPC responds, given a VIN, with the list of current part numbers for each assembly of the vehicle. The difference vs a generic decoder is that the EPC already applies supersessions (SSPL): if Toyota replaced brake pad 04465-02220 with 04465-02230 in September 2023, an EPC query on January 4, 2026 returns the new one, not the discontinued one.

    Pricing changes the model: NHTSA is 0 USD per query. A LatAm-coverage commercial API costs between 0.05 and 0.40 USD per query depending on the plan, and the official OEM EPCs require an authorized dealer account. That's why a well-designed agent typically chains a free vPIC call first to validate the VIN, and only then pays for the expensive call to the right manufacturer's EPC.

    When to use each type of API

    If your product is insurance, used-car valuation or theft verification, vPIC is enough. Vehicle information is what matters.

    If your product involves quoting, selling, shipping or installing a part, vPIC is not enough. You need the EPC layer because the customer doesn't want to know which engine their 2018 Toyota Hilux has — they want to know the exact part number for the front brake pad and whether it's in stock today.

    If you sell to dealers and distributors in LatAm, on top of the EPC you need an API that understands VINs from Mexican, Brazilian and Argentine plants with local homologations that don't appear in vPIC. And you need to connect everything to your ERP/DMS to answer with real stock, not theoretical catalog.

    The AI agent as a layer over the API

    An API is just the engine. What the end customer sees is the conversation. AutoParts AI Agent wraps that chain of APIs (NHTSA vPIC + official OEM EPC + SSPL table + your own ERP) inside a single WhatsApp conversation where the customer pastes the VIN and, in under two minutes, gets the exact part number, price from your ERP, stock availability, and a button to confirm the order.

    The agent automatically decides which APIs to call based on the WMI brand, what to do when the VIN returns a supersession, and when to escalate to a human (for example, when the customer asks about a component that requires visual validation, or when the VIN is not homologated in any available catalog).

    This turns a 4-to-6 API technical integration into a simple customer experience: send VIN, get quote, confirm order. No forms, no app, no waiting until Monday.

    Real demo: VIN decoded and quote sent over WhatsApp in under 2 minutes

    Real conversation with the AutoParts AI Agent: the customer sends the VIN, the system decodes it with NHTSA vPIC, cross-checks the EPC, applies supersession and returns a quote with in-stock confirmation.

    Try the VIN → EPC → ERP chain in a real conversation

    We'll connect you to a demo WhatsApp and you'll decode a real VIN in under 60 seconds.

    Frequently Asked Questions

    Everything you need to know before getting started.