Skip to main content

Bulk file format

This section details the structure and format of the bulk data file, including field definitions and data types.

Warning Please note that certain fields in the bulk file may be added, omitted, or become deprecated in future releases. Any modifications to the bulk file format will be documented in this section.

An example from the bulk file:

{
  "registration": "SN97PLP",
  "registrationDate": "1973-09-21",
  "primaryColour": "Beige",
  "model": "AVENGER",
  "make": "HILLMAN",
  "fuelType": "Petrol",
  "motTests": [],
  "dataSource": "dvla",
  "last_update_date": "2023-12-04"
}
{
  "registration": "SE38GUW",
  "firstUsedDate": "2003-03-27",
  "registrationDate": "2003-03-27",
  "manufactureDate": "2003-03-27",
  "primaryColour": "Blue",
  "secondaryColour": "Not Stated",
  "engineSize": "1461",
  "model": "CLIO",
  "make": "RENAULT",
  "fuelType": "Diesel",
  "lastMotTestDate": "2017-03-10 12:21:09",
  "motTests": [
      {
          "completedDate": "2015-03-11 11:41:11",
          "motTestNumber": 971577975522,
          "dataSource": "dvsa",
          "expiryDate": "2016-03-10",
          "regMarkTimeOfTest": "SE38GUW",             
          "testResult": "PASSED",
          "odometerValue": "133230",
          "odometerUnit": "mi",
          "odometerResultType": "OK",
          "defects": []

      },
      {
          "completedDate": "2015-03-11 11:41:11",
          "motTestNumber": 971577565522,
          "dataSource": "dvsa",
          "expiryDate": "2016-03-10",
          "regMarkTimeOfTest": "SE38XUW",             
          "testResult": "PASSED",
          "odometerValue": "133230",
          "odometerUnit": "mi",
          "odometerResultType": "OK",
          "defects": [
              {
                  "dangerous": false,
                  "text": "",
                  "type": "ADVISORY"
              },
              {
                  "dangerous": false,
                  "text": "lens scuffed",
                  "type": "ADVISORY"
              }
          ]
      }
  ],
  "dataSource": "dvsa"
}

The following fields can contain provided values:

Field Description Example
registration The vehicle registration number SN97PLP
firstUsedDate The date the vehicle was first registered 2003-03-27
registrationDate The date the vehicle was registered 1973-09-21
manufactureDate The date the vehicle was manufactured 2003-03-27
primaryColour The vehicle primary colour Beige
secondaryColour The vehicle secondary colour Not Stated
engineSize The vehicle engine size 1461
model The vehicle model AVENGER
make The vehicle make HILLMAN
fuelType The vehicle fuel type Petrol
lastMotTestDate The date of the last MOT test 2017-03-10 12:21:09
motTests An array of test results See example
last_update_date The date the vehicle was last updated 2023-12-04

dataSource Column is now moved to motTests block.

MOT tests are stored in the motTests array and are sorted by the completedDate property value. Tests are sorted per data source. However, users are responsible for sorting all tests linked to a vehicle.

The possible dataSource values are:

  • dvla - Records with dvla source will only have vehicle information but not test and defect details.
  • dvsa - Records with dvsa source will have vehicle , test and defects details sorted by test completion date.
  • dva ni - Records with dva ni source will only have vehicle and test details but not defects sorted by test completion date.

The expected fuelType values are:

  • Diesel
  • Petrol
  • Electric

The motTests fields can contain provided values:

Field Description Example
completedDate The date the test was completed 2015-03-11 11:41:11
motTestNumber The test ceritifcate number. 123456789098
dataSource The source of the vehicle data dvla
expiryDate The date the test is due to expire 2016-03-10
registrationAtTimeOfTest The vehicle registration number at the time of the test SE38GUW
testResult The result of the test PASSED
odometerValue The vehicle odometer value 133230
odometerUnit The vehicle odometer unit mi
odometerResultType The vehicle odometer result type OK
defects An array of defects See example

The expected testResult values are:

  • PASSED
  • FAIL
  • PRS

The odometerUnit possible values are:

  • MI
  • KM

The odometerResultType values are:

  • OK
  • NOT_READ
  • NO_METER

The defects array fields can contain provided values:

Field Description Example
dangerous Is the defect dangerous or not false
text The description of the defect lens scuffed
type The type of the defect ADVISORY

The dangerous values are:

  • true
  • false

The expected type values are:

  • DANGEROUS
  • MAJOR
  • MINOR
  • ADVISORY

The bulk file JSON may also include metadata fields such as lastUpdateTimestamp, lastUpdateDate, lastRunDate and lastRunTimestamp. These fields provide details about when the bulk file was last updated, processed, or modified, helping users track the file’s update history and status.

Cherished Transfer - A cherished transfer refers to the process of moving a personalized (cherished) number plate from one vehicle to another, often with the assistance of a broker or directly through the DVLA.

Why “regAtTimeofTest” is required - Because vehicle registration marks can change over a vehicle’s lifetime (e.g., cherished transfers), analysing data solely on reg_mark may incorrectly link a vehicle to the wrong registration. To address this, a new column has been added to associate the correct vehicle at the time of test.