Data sources

Every source behind this site, what it is licensed under, and what we use it for.

OBD-II trouble codes

Source
OBDex
Licence
Data: CC0-1.0(public domain dedication). Tooling: MIT.
Used for
Code identifiers, standard titles, system classification, and the structural links between codes, components, causes and symptoms.
Coverage
9,533 generic codes

CC0 removes any licensing obstacle, but a rights waiver is not an accuracy warranty. We treat this dataset as a structural skeleton — the identifiers, taxonomy and relationships — and write our own explanations on top of it. Every imported record stores a pointer to the exact archived snapshot it came from, with a content hash.

VIN decoding and vehicle attributes

Source
NHTSA vPIC
Licence
US government work — public domain
Used for
Decoding a VIN into year, make, model, engine, body and plant details
Queried
Live, per request. Nothing about your VIN is stored.

Safety recalls

Source
NHTSA recalls API
Licence
US government work — public domain
Used for
Recall campaigns by year, make and model, including "park it" and "park outside" warnings

ExplainMyCar is not affiliated with NHTSA, the US Department of Transportation, or any vehicle manufacturer.

Diagnostic guidance

The plain-English explanations, check-first ordering, diagnostic procedures, common mistakes and cost ranges are written for this site and reviewed here. They are not scraped, and they are not a reworded version of anyone else's article. See how ExplainMyCar works.

What we deliberately do not use

  • SAE J2012 and ISO 15031-6 text. The standards define the generic code set and their descriptive text is copyrighted. We use the code identifiers, which are facts, and write our own descriptions.
  • OEM service manuals and repair databases. Copyrighted, and licensed for use in ways that do not include republishing.
  • Fuse box and wiring diagrams. The diagrams circulating online are almost universally scanned from copyrighted manuals. We do not host them, and we will not fabricate substitutes. If we can license real data, we will say so.
  • Manufacturer-specific codes (P1xxx and similar). Their meaning is defined by each manufacturer and differs between makes. Publishing a single generic definition for them would be wrong by construction.

Reproducing our imports

Every import is scripted, versioned and idempotent, and every run archives the raw source it read from before transforming anything. The commands are documented in the repository so the same database can be rebuilt from scratch.