Feeds

Your vehicle identity rows, rebuilt every night

Make, model and model year for every VIN pattern, in a new file every night.

full.csv.gzMon
1,204rows
sha256 77b1e4d0…first run

Sample files.

The dataset

Vehicle identity, 66 fields

One row per pattern, not per VIN.

#FieldTypeWhat it holds
1patternstringThe row key: VIN positions 1 to 8, an asterisk for the check digit, positions 10 to 11
2wmistringVIN positions 1 to 3
3makestringDisplay name
4make_refrefJoin key, such as make:toyota
5modelstringDisplay name
6model_refrefJoin key, such as model:toyota/rav4
7seriesstringSeries, where one is recorded
8series_refrefSeries within the model. Permanent key. Map it to your own codes.
9model_yearintegerModel year
10trimstringTrim, where one is recorded
11statusstringdecoded or undecodable
12status_reasonsstringWhy a pattern is undecodable: reason codes separated by ;.
13vehicle_typestringPassenger car, truck, motorcycle, trailer
14vehicle_type_refrefVehicle type. Permanent key, e.g. vehicle-type:passenger-car. Map it to your own codes.
15body_stylestringBody style
16body_style_refrefBody style. Permanent key. Map it to your own codes.
17body_cabstringCab type of a pickup or truck. Display name; empty when the registry holds no name for the ref.
18body_cab_refrefCab type of a pickup or truck. Permanent key. Map it to your own codes.
19bed_typestringBed type of a pickup. Display name; empty when the registry holds no name for the ref.
20bed_type_refrefBed type of a pickup. Permanent key. Map it to your own codes.
21doorsintegerNumber of doors
22fuel_typestringFuel type
23fuel_type_refrefPrimary fuel. Permanent key. Map it to your own codes.
24fuel_type_secondarystringSecond fuel of a dual-fuel vehicle. Display name; empty when the registry holds no name for the ref.
25fuel_type_secondary_refrefSecond fuel of a dual-fuel vehicle. Permanent key. Map it to your own codes.
26electrificationstringElectrification level
27electrification_refrefElectrification level. Permanent key, e.g. electrification-level:bev-battery-electric-vehicle. Map it to your own codes.
28drive_typestringDrive type
29drive_type_refrefDrive type. Permanent key. Map it to your own codes.
30transmissionstringTransmission. Display name; empty when the registry holds no name for the ref.
31transmission_refrefTransmission. Permanent key. Map it to your own codes.
32gvwr_classstringGross vehicle weight rating class
33gvwr_class_refrefGross vehicle weight rating class. Permanent key, e.g. gvwr:class-2e-6-001-7-000-lb-2-722-3-175-kg. Map it to your own codes.
34wheelsintegerNumber of wheels.
35axlesintegerNumber of axles.
36shipping_weightintegerShipping weight, as the record holds it.
37gross_weightintegerGross weight, as the record holds it.
38trailer_typestringTrailer type. Display name; empty when the registry holds no name for the ref.
39trailer_type_refrefTrailer type. Permanent key. Map it to your own codes.
40trailer_body_typestringTrailer body type. Display name; empty when the registry holds no name for the ref.
41trailer_body_type_refrefTrailer body type. Permanent key. Map it to your own codes.
42sourcestringHow the row was named: decode or reference
43make_sourcestringWhich mapper wrote make: decode, catalogue, fill, miit or nhtsa-safety.
44model_sourcestringWhich mapper wrote model: decode, catalogue, fill, miit or nhtsa-safety.
45series_sourcestringWhich mapper wrote series: decode, catalogue, fill, miit or nhtsa-safety.
46vehicle_type_sourcestringWhich mapper wrote vehicle_type: decode, catalogue, fill, miit or nhtsa-safety.
47body_style_sourcestringWhich mapper wrote body_style: decode, catalogue, fill, miit or nhtsa-safety.
48body_cab_sourcestringWhich mapper wrote body_cab: decode, catalogue, fill, miit or nhtsa-safety.
49bed_type_sourcestringWhich mapper wrote bed_type: decode, catalogue, fill, miit or nhtsa-safety.
50fuel_type_sourcestringWhich mapper wrote fuel_type: decode, catalogue, fill, miit or nhtsa-safety.
51fuel_type_secondary_sourcestringWhich mapper wrote fuel_type_secondary: decode, catalogue, fill, miit or nhtsa-safety.
52electrification_sourcestringWhich mapper wrote electrification: decode, catalogue, fill, miit or nhtsa-safety.
53drive_type_sourcestringWhich mapper wrote drive_type: decode, catalogue, fill, miit or nhtsa-safety.
54transmission_sourcestringWhich mapper wrote transmission: decode, catalogue, fill, miit or nhtsa-safety.
55gvwr_class_sourcestringWhich mapper wrote gvwr_class: decode, catalogue, fill, miit or nhtsa-safety.
56trailer_type_sourcestringWhich mapper wrote trailer_type: decode, catalogue, fill, miit or nhtsa-safety.
57trailer_body_type_sourcestringWhich mapper wrote trailer_body_type: decode, catalogue, fill, miit or nhtsa-safety.
58model_year_sourcestringWhich mapper wrote model_year: decode, catalogue, fill, miit or nhtsa-safety.
59trim_sourcestringWhich mapper wrote trim: decode, catalogue, fill, miit or nhtsa-safety.
60doors_sourcestringWhich mapper wrote doors: decode, catalogue, fill, miit or nhtsa-safety.
61wheels_sourcestringWhich mapper wrote wheels: decode, catalogue, fill, miit or nhtsa-safety.
62axles_sourcestringWhich mapper wrote axles: decode, catalogue, fill, miit or nhtsa-safety.
63shipping_weight_sourcestringWhich mapper wrote shipping_weight: decode, catalogue, fill, miit or nhtsa-safety.
64gross_weight_sourcestringWhich mapper wrote gross_weight: decode, catalogue, fill, miit or nhtsa-safety.
65identity_buildstringThe build the row came from
66updated_atdateThe date the row last changed
vehicle-identity@166 fields · pattern is always first

The night

Every night is recorded, whatever happened

A run that removes or changes too many rows is not published. The previous run stays current.

NightOutcomeChanges
Monpublishedfirst run
Tueunchangedsame data, same run
Wedpublished5 new · 2 changed
Thuheldtoo many rows changed
Fripublished6 new · 1 changed
Satrefusedtoo many rows removed
Sunpublished7 new · 3 changed · 1 removed
one run a night7 nights · 4 published
Sample week.

Your file

Choose the fields, name the columns

Set up in your workspace, as CSV, JSON Lines or JSON.

#FieldYour column
1patternVIN_PATTERNrow key
2makeMAKE
3model_yearYEAR
4modelMODEL
4 of 66 fields · renamed · reordered

CSV full.csv

pipe · header · LF

VIN_PATTERN|MAKE|YEAR|MODEL
2T3W1RFV*SC|Toyota|2025|RAV4
KNDCE6LK*T5|Kia|2026|EV9

JSON Lines full.jsonl

one object per line

{"VIN_PATTERN":"2T3W1RFV*SC","MAKE":"Toyota","YEAR":2025,"MODEL":"RAV4"}
{"VIN_PATTERN":"KNDCE6LK*T5","MAKE":"Kia","YEAR":2026,"MODEL":"EV9"}

JSON full.json

one array

[
{"VIN_PATTERN":"2T3W1RFV*SC","MAKE":"Toyota","YEAR":2025,"MODEL":"RAV4"},
{"VIN_PATTERN":"KNDCE6LK*T5","MAKE":"Kia","YEAR":2026,"MODEL":"EV9"}
]
each format plain or gzipped
Sample rows.

The files

A full file, a change file, a deletes file

The change file carries new and changed rows. The deletes file carries removed keys.

delta.csv + deletes.csvsince the last run
Statuspatternmake
kept2HGFC2F5*KHHonda
changed2T3W1RFV*SCToyota
newKNDCE6LK*T5Kia
kept3GNAXKEV*SLChevrolet
removedLRW3E7FA*RCTesla
2 rows in delta.csv · 1 key in deletes.csvsha256 5b7a19d4…
Sample run.

Read it

Answer a VIN from the file

Canada's Motor Vehicle Safety Regulations section 15.05 requires a designated company's VIN recall lookup tool to return make, model and model year for a VIN and to say when a VIN is not recognized. A feed is reference data that answers that.

Workspace, API or SDK

Reading costs no credits.

Push is coming

SFTP, S3 and webhook.

lookup.ts@cardog/api
import { CardogClient } from "@cardog/api";

const client = new CardogClient({ apiKey: process.env.CARDOG_ORG_KEY });
const run = await client.v2.feeds.latest("vehicle-identity@1");
const index = await run.index();

index.lookup("2T3W1RFV3SC776931");
// { pattern: "2T3W1RFV*SC", make: "Toyota",
//   model: "RAV4", model_year: 2025 }

index.lookup("1HGCM82633A123456");
// null: the pattern is not in the feed

Verify

Every file carries its count and hash, so you check before you load

run record published
dataset
vehicle-identity@1
run
9f2c4e1b7a3d…
file
full.csv.gz
rows
1,221
sha256
c81e7f02a96b…
outcome
published

$ gunzip -c full.csv.gz | sha256sum

9f2c4e1b7a3d…matches the run

Related

Related products

Start your feed

One dataset today: vehicle identity.