API for accessing detailed vehicle information.

DVLA Search service provides a simple and self-explanatory API for accessing detailed vehicle information. All service responses are returned in the popular and well structured JSON standard and CORS enabled.
Demo API key
A fully active demo API key is available. However, it is restricted to licence plates beginning MT09 and FH51, it is a live account and returns real data. Please use ‘DvlaSearchDemoAccount’ as the API key for your testing.

Request: Vehicle Information

To request vehicle information, only two fields are required. A licence plate (VRM) and valid API key. This can be provided with either a GET or POST request over a plaintext (HTTP) or secure connection (HTTPS).

Format: http://dvlasearch.appspot.com/DvlaSearch?apikey=YOUR_API_KEY_HERE&licencePlate=VRM_HERE

Example:
https://dvlasearch.appspot.com/DvlaSearch?licencePlate=mt09nks&apikey=DvlaSearchDemoAccount

Field Name Format Description Example
licencePlate String vehicle registration mark MT09NKS
apikey String Your account API key DvlaSearchDemoAccount

Responses: Error messages
The API returns data in JSON format (CORS enabled). Error messages are returned as shown in the table below.

Error Description JSON response
Invalid API key The API key provided is not present in our system {"message":"API key invalid","error":1}
Invalid licence plate The licence plate (VRM) provided is invalid {"message":"API key or VRM invalid","error":1}
No vehicle found The vehicle is not known by the DVLA, possibly still being registered. {"message":"No vehicle found","error":0}

Response: Valid request

{
“make”: “FORD”,
“model”: “FOCUS ZETEC TDCI”,
“vin”: “WF0KXXGCBKDP31574”,
“dateOfFirstRegistration”: “24 May 2013”,
“yearOfManufacture”: “2013”,
“cylinderCapacity”: “1560cc”,
“co2Emissions”: “109 g/km”,
“fuelType”: “DIESEL”,
“taxStatus”: “Tax not due”,
“colour”: “BLACK”,
“typeApproval”: “M1”,
“wheelPlan”: “2 AXLE RIGID BODY”,
“revenueWeight”: “1900kg”,
“taxDetails”: “Tax due: 01 March 2017”,
“motDetails”: “Expires: 24 May 2017”,
“taxed”: true,
“mot”: true,
“transmission”: “Manual”,
“numberOfDoors”: “5”,
“sixMonthRate”: “”,
“twelveMonthRate”: “”
}

API data fields

Field name Format Description Example
vin String A vehicle identification number, commonly abbreviated to VIN, or chassis number, is a unique code including a serial number, used by the automotive industry to identify individual motor vehicles, towed vehicles, motorcycles, scooters and mopeds as defined in ISO 3833. VINs were first used in 1954. WVGZZZ5NZAW007903
make String The vehicle manufacturer Vauxhall
model String The vehicle model Vectra
cylinderCapacity String The vehicle cylinder capacity (cc) 1968cc
numberOfDoors String The number of doors on the vehicle 5
sixMonthRate String The cost of vehicle tax for 6 months 112.75
twelveMonthRate String The cost of vehicle tax for 12 months 205.00
dateOfFirstRegistration String The date on which the vehicle was registered 23 July 2009
yearOfManufacture String They year the vehicle was manufactured 2009
co2Emissions String The vehicle emissions 167 g/km
fuelType String The vehicle fuel type Diesel (other values Petrol Electric)
taxStatus String Current tax status Not taxed
transmission String The vehicle transmission Manual (other values automatic cvt)
colour String The vehicle colour Silver
typeApproval String The vehicle category classification M1
wheelPlan String The vehicle wheel plan 2 AXLE RIGID BODY
revenueWeight String The vehicle’s confirmed maximum gross weight 3850kg
taxDetails String Vehicle tax information Tax due: 06 February 2015
motDetails String MOT expiry day Expires: 23 July 2015
taxed boolean States if the tax is valid false
mot boolean States if the mot is valid true
MOT History
Retrieve the full MOT history of a vehicle.

Endpoint: https://dvlasearch.appspot.com/MotHistory

Parameters:

licencePlate – The vehicle registration mark of the vehicle. The VRM is not case sensitive.
apikey – The API key you have been issued.
For testing purposes use ‘DvlaSearchDemoAccount’. The API key is case sensitive.

Example:

https://dvlasearch.appspot.com/MotHistory?licencePlate=mt09nks&apikey=DvlaSearchDemoAccount

Responses:

JSON only, CORS enabled.

{
“make”: “VOLKSWAGEN”,
“model”: “TIGUAN”,
“dateFirstUsed”: “23 July 2009”,
“fuelType”: “Diesel”,
“colour”: “Silver”,
“motTestReports”: [
{
“testDate”: “22 April 2015”,
“expiryDate”: “21 April 2016”,
“testResult”: “Pass”,
“odometerReading”: 74998,
“motTestNumber”: 938552815158,
“advisoryItems”: [

],
“failureItems”: [

]
},
{
“testDate”: “25 March 2015”,
“expiryDate”: “”,
“testResult”: “Fail”,
“odometerReading”: 74813,
“motTestNumber”: 157384685012,
“advisoryItems”: [
“Front Brake pad(s) wearing thin (3.5.1g)”,
“Front brake disc worn, pitted or scored, but not seriously weakened (3.5.1i)”,
“Rear brake disc worn, pitted or scored, but not seriously weakened (3.5.1i)”,
“Rear Brake pad(s) wearing thin (3.5.1g)”,
“Nearside Front Suspension arm rubber bush deteriorated but not resulting in excessive movement (2.4.G.2)”,
“Offside Front Suspension arm rubber bush deteriorated but not resulting in excessive movement (2.4.G.2)”
],
“failureItems”: [
“Nearside Front Tyre tread depth below requirements of 1.6mm (4.1.E.1)”,
“Offside Front Tyre tread depth below requirements of 1.6mm (4.1.E.1)”,
“Front Brakes imbalanced across an axle (3.7.B.5b)”,
“Nearside Front Windscreen wiper does not clear the windscreen effectively (8.2.2)”
]
},
{
“testDate”: “24 June 2014”,
“expiryDate”: “23 July 2015”,
“testResult”: “Pass”,
“odometerReading”: 63643,
“motTestNumber”: 195455474181,
“advisoryItems”: [

],
“failureItems”: [

]
},
{
“testDate”: “23 July 2013”,
“expiryDate”: “23 July 2014”,
“testResult”: “Pass”,
“odometerReading”: 52191,
“motTestNumber”: 198414503254,
“advisoryItems”: [

],
“failureItems”: [

]
},
{
“testDate”: “6 July 2012”,
“expiryDate”: “23 July 2013”,
“testResult”: “Pass”,
“odometerReading”: 308600,
“motTestNumber”: 945398182180,
“advisoryItems”: [

],
“failureItems”: [

]
}
]
}

  • No vehicle information found

{
“message”: “No vehicle found”,
“error”: 0
}

  • An invalid API key:

{
“message”: “API key invalid”,
“error”: 1
}

  • An invalid licence plate:

{
“message”: “API key or vrm invalid”,
“error”: 1
}

Tyre Search

Retrieve the manufacturer recommended tyre information for a vehicle. This API is only applicable for cars.

Endpoint:
https://dvlasearch.appspot.com/TyreSearch

Parameters:

licencePlate – The vehicle registration mark of the vehicle. The VRM is not case sensitive.

apikey – The API key you have been issued.

For testing purposes use ‘DvlaSearchDemoAccount’. The API key is case sensitive. Please note this key is restricted to searching to licence plates beginning MT09 and FH51

Example:


https://dvlasearch.appspot.com/TyreSearch?licencePlate=mt09nks&apikey=DvlaSearchDemoAccount

Field Name

Format

Description

Example

licencePlate String vehicle registration mark MT09NKS
apikey String Your account API key DvlaSearchDemoAccount

Responses: Error messages

The API returns data in JSON format (CORS enabled). Error messages are returned as shown in the table below.

Error

Description

JSON response

Invalid API key The API key provided is not present in our system {“message”:”API key invalid”,”error”:1}
Invalid licence plate The licence plate (VRM) provided is invalid {“message”:”API key or VRM invalid”,”error”:1}
No vehicle found The vehicle is not known by the DVLA, possibly still being registered. {“message”:”No vehicle found”, error:0}

Responses:

JSON only, CORS enabled.

Example of a successful response:

{

“make”:”VOLKSWAGEN”,

model”:”TIGUAN SE TDI 4MOTION”,

“year”:2009,

“frontTyres”:

[{“width”:235,

“ratio”:55,

“rim”:”R17″,

“speedRating”:”H”,

“psi”:29,

“loadIndex”:99},

{“width”:235,

“ratio”:50,

“rim”:”R18″,

“speedRating”:”H”,

“psi”:29,

“loadIndex”:97}],

“rearTyres”:

[{“width”:235,

“ratio”:55,

“rim”:”R17″,

“speedRating”:”H”,

“psi”:29,

“loadIndex”:99},

{“width”:235,

“ratio”:50,

“rim”:”R18″,

“speedRating”:”H”,

“psi”:29,

“loadIndex”:97}]

}

● No vehicle information found

{

“message”: “No vehicle found”,

“error”: 0

}

● An invalid API key:

{

“message”: “API key invalid”,

“error”: 1

}

● An invalid licence plate:

{

“message”: “API key or vrm invalid”,

“error”: 1

}

API data fields

Field Name

Format

Description

Example

make String The vehicle manufacturer VOLKSWAGEN
model String The vehicle model TIGUAN SE TDI 4MOTION.
year Integer The year of registration 2009
frontTyres Array Contains the manufacturer’s recommended tyre information for the front tyres
rearTyres Array Contains the manufacturer’s recommended tyre information for the rear tyres
width Integer The width of the tyre in millimetres. A tyre marked 225 will measure 225mm across the tread from sidewall to sidewall. 235
ratio Integer The aspect ratio or profile height of the tyre sidewall is expressed as a percentage of the tyre width. So an aspect ratio of 55 for
example means that the profile height of the tyre is 55% of its width.
55
rim String The size of the wheel rim that the tyre can be fitted to. It is also the diameter of the tyre from bead to bead. So a tyre marked 16 will
fit on a 16-inch wheel rim.
R18
speedRating String The maximum speed capability of the tyre. Tyres receive a speed rating based on a series of tests which measure the tyres capability to
handle a set speed for a prolonged period of time.
H
psi Integer Tyre air pressure is measured in pressure per square inch (PSI) 29
loadIndex Integer The maximum weight capability for the tyre 99

Demo API key
A fully active demo API key is available. However, it is restricted to licence plates beginning MT09 and FH51, it is a live account and returns real data. Please use ‘DvlaSearchDemoAccount’ as the API key for your testing.

Request: V5C Validation
The V5C validation takes a vehicle registration and V5C number and validates the pair.
This can be provided with either a GET or POST request over a plaintext (HTTP) or secure connection (HTTPS).
Format: http://dvlasearch.appspot.com/V5CValidate?apikey=YOUR_API_KEY_HERE&licencePlate=VRM_HERE&V5CNumber=V5C_NUMBER_HERE

Responses

When a VRM and V5C are a valid pair, the following response is given:

{
“message”: “true”,
“error”: 0
}

When a VRM and V5C are not a valid paid, the following response is given:

{
“message”: “false”,
“error”: 0
}

If it is not possible to locate the vehicle details, the following response is given:

{
“message”: “Unable to verify vehicle details”,
“error”: 1
}

Demo API key

For VIN search testing, please use the ‘DvlaSearchDemoAccount’ as an API key and ‘WF0KXXGCBKDP31574’ to see a live example response.

Request: Vehicle Information

To request vehicle information, only two fields are required. A vehicle identification number / chassis number (VIN) and valid API key. This can be provided with either a GET or POST request over a plaintext (HTTP) or secure connection (HTTPS).

Format: http://dvlasearch.appspot.com/VINSearch?apikey=YOUR_API_KEY_HERE&vin=VIN_HERE

Example:
https://dvlasearch.appspot.com/VINSearch?vin=WMX1903782A004387&apikey=DvlaSearchDemoAccount

Field Name Format Description Example
vin String vehicle identification number WF0KXXGCBKDP31574
apikey String Your account API key olUeMRun1rxSdUZh

Responses: Error messages
The API returns data in JSON format (CORS enabled). Error messages are returned as shown in the table below.

Error Description JSON response
Invalid API key The API key provided is not present in our system {"message":"API key invalid","error":1}
Invalid VIN The VIN provided is invalid {"message":"API key or VIN invalid","error":1}
No vehicle found The vehicle is not known by the DVLA, possibly still being registered. {"message":"No vehicle found" error:0}

Response: Valid request

{
“make”: “FORD”,
“model”: “FOCUS ZETEC TDCI”,
“vin”: “WF0KXXGCBKDP31574”,
“dateOfFirstRegistration”: “24 May 2013”,
“yearOfManufacture”: “2013”,
“cylinderCapacity”: “1560cc”,
“co2Emissions”: “109 g/km”,
“fuelType”: “DIESEL”,
“taxStatus”: “Tax not due”,
“colour”: “BLACK”,
“typeApproval”: “M1”,
“wheelPlan”: “2 AXLE RIGID BODY”,
“revenueWeight”: “1900kg”,
“taxDetails”: “Tax due: 01 March 2017”,
“motDetails”: “Expires: 24 May 2017”,
“taxed”: true,
“mot”: true,
“transmission”: “Manual”,
“numberOfDoors”: “5”,
“sixMonthRate”: “”,
“twelveMonthRate”: “”
}

API data fields

Field name Format Description Example
vin String A vehicle identification number, commonly abbreviated to VIN, or chassis number, is a unique code including a serial number, used by the automotive industry to identify individual motor vehicles, towed vehicles, motorcycles, scooters and mopeds as defined in ISO 3833. VINs were first used in 1954. WVGZZZ5NZAW007903
make String The vehicle manufacturer Vauxhall
model String The vehicle model Vectra
cylinderCapacity String The vehicle cylinder capacity (cc) 1968cc
numberOfDoors String The number of doors on the vehicle 5
sixMonthRate String The cost of vehicle tax for 6 months 112.75
twelveMonthRate String The cost of vehicle tax for 12 months 205.00
dateOfFirstRegistration String The date on which the vehicle was registered 23 July 2009
yearOfManufacture String They year the vehicle was manufactured 2009
co2Emissions String The vehicle emissions 167 g/km
fuelType String The vehicle fuel type Diesel
taxStatus String Current tax status Not taxed
transmission String The vehicle transmission Manual
colour String The vehicle colour Silver
typeApproval String The vehicle category classification M1
wheelPlan String The vehicle wheel plan 2 AXLE RIGID BODY
revenueWeight String The vehicle’s confirmed maximum gross weight 3850kg
taxDetails String Vehicle tax information Tax due: 06 February 2015
motDetails String MOT expiry day Expires: 23 July 2015
taxed boolean States if the tax is valid false
mot boolean States if the mot is valid true
Demo API key
A fully active demo API key is available. However, it is restricted to licence plates beginning MT09 and FH51, it is a live account and returns real data. Please use ‘DvlaSearchDemoAccount’ as the API key for your testing.

Request: Vehicle Information
To request vehicle information, only two fields are required. A licence plate (VRM) and valid API key. This can be provided with either a GET or POST request over a plaintext (HTTP) or secure connection (HTTPS).
Format: http://dvlasearch.appspot.com/DvlaSearch?apikey=YOUR_API_KEY_HERE&licencePlate=VRM_HERE
Example:
https://dvlasearch.appspot.com/Valuation?licencePlate=mt09nks&apikey=DvlaSearchDemoAccount

Field Name Format Description Example
licencePlate String vehicle registration mark MT09NKS
apikey String Your account API key DvlaSearchDemoAccount

Responses: Error messages
The API returns data in JSON format (CORS enabled). Error messages are returned as shown in the table below.

Error Description JSON response
Invalid API key The API key provided is not present in our system {"message":"API key invalid","error":1}
Invalid licence plate The licence plate (VRM) provided is invalid {"message":"API key or VRM invalid","error":1}
No vehicle found The vehicle is not known by the DVLA, possibly still being registered. {"message":"No vehicle found","error":0}

Response: Valid request

{
“make”: “Ford”,
“model”: “Focus”,
“engineSize”: “1560CC”,
“numberOfSeats”: “5”,
“transmission”: “Manual”,
“imported”: “false”,
“bodyType”: “5 DOOR HATCHBACK”,
“insuranceGroup”: “”,
“price”: “6875.0”,
“description”: “2013 Ford Focus Zetec Tdci (116), 1560CC Diesel, 5DR, Manual”,
“steering”: “RHD”,
“fuel”: “Diesel”,
“year”: “2013”,
“numberOfDoors”: “5”,
“capID”: “50252”,
“capCode”: “FOFO16ZE5HDTM4”
}

API data fields
Field name Format Description Example
make String The vehicle manufacturer Ford
model String The vehicle model Vectra
engineSize String The vehicle cylinder capacity (cc) 1560CC
numberOfSeats String The number of seats in the vehicle 5
transmission String The vehicle transmission type. Automatic or Manual. Manual
imported String Determines whether this vehicle is an import. Response is either true or false. false
bodyType String There are different types of body styles available in the UK like Estates, Sedans, SUVs, Coupes, Convertibles, Hatchbacks, Wagons, Multi-utility vehicle or Multi-purpose vehicle. 5 DOOR HATCHBACK
insuranceGroup String The car insurance group value tells you which insurance group your car sits in. Insurance groups range from 1-50 and the lower the group the lower the insurance cost the higher the group the higher the insurance cost. If unknown the field is empty.
price String A private reseller value for the car. This is based on a number of factors, such as the MOT history (for mileage and condition), the previous number of owners and calculations from our partnership with insurance companies. 6875.0
description String An extended version of the overall vehicle description with the key fields. The description is made up of the year, make, extended model, engine size, fuel type, number of doors and transmission. 2013 Ford Focus Zetec Tdci (116), 1560CC Diesel, 5DR, Manual
steering String The side of which the steering column is found. Returns either “RHD” for right hand drive or “LHD” for left hand drive. RHD
fuel String The fuel type of the vehicle. Response values are diesel petrol electric. Diesel
year String The year the vehicle was registered with the DVLA. 2013
numberOfDoors String Number of doors on the vehicle. Can return 0 if the value is unknown. 5
capID String The CAPid is a unique vehicle identifier as a sequential number and is unique to the database only (car, lcv etc) so may be found in other databases. Please see http://business.cap.co.uk/new-vehicle-incentives/cap-code for a more indepth description. 50252
capCode String The CAPcode is a unique 20 character alpha-numeric code structure detailing vehicle characteristics for cars. Please see http://business.cap.co.uk/new-vehicle-incentives/cap-code for a more indepth description. FOFO16ZE5HDTM4
Account Management

Request: Credit details
Credit status can be retrieved through a single lookup. GET and POST requests are supported, over both plaintext (HTTP) and secure (HTTPS) connections.

Format: http://dvlasearch.appspot.com/SearchCount?apikey=YOUR_API_KEY_HERE

Example: http://dvlasearch.appspot.com/SearchCount?apikey=DvlaSearchDemoAccount

Field name Format Description Example
apikey String Your account API key olUeMRun1rxSdUZh

Responses: Error messages

Error Description JSON response
Invalid API key The API key provided is not present in our system {"message":"API key invalid","error":1}

Response: Valid Request
You will see a response similar to:

{
“usedCredit”: 20915,
“totalCredit”: 100000
“avgDailyUse” : 156
“accountUsage”: {
“04.02.2017”: 145,
“29.01.2017”: 159,
“02.02.2017”: 166,
“01.02.2017”: 178,
“30.01.2017”: 278,
“31.01.2017”: 83,
“03.02.2017”: 156
}
}

API data fields

Field name Format Description Example
usedCredit Integer Total credits used 20915
totalCredit Integer Total credits on the account 100000
avgDailyUse Integer Average number of credits used. This is based on the days of use and not calendar days. For example, if an account has been active for a month but only used for 10 days, the average is based on the 10 days of use. 1056
accountUsage Array A statement indicating the days of use over the last 7 calendar days. Date is a string and credits is an int 04.02.2017: 145
Demo API key
A fully active demo API key is available. However, it is restricted to licence plates beginning MT09 and FH51, it is a live account and returns real data. Please use ‘DvlaSearchDemoAccount’ as the API key for your testing.

Request: Vehicle Information – Useful for insurance
To request vehicle information aimed at insurance purposes, only two fields are required. A licence plate (VRM) and valid API key. This can be provided with either a GET or POST request over a plaintext (HTTP) or secure connection (HTTPS).
Format:
http://dvlasearch.appspot.com/Insurance?apikey=API_KEY&licencePlate=VRM_HERE
Example:

https://dvlasearch.appspot.com/Insurance?licencePlate=mt09nks&apikey=DvlaSearchDemoAccount


https://dvlasearch.appspot.com/Insurance?licencePlate=fh51tdu&apikey=DvlaSearchDemoAccount

Responses: Error messages
The API returns data in JSON format (CORS enabled). Error messages are returned as shown in the table below.

Error Description JSON response
Invalid API key The API key provided is not present in our system {"message":"API key invalid","error":1}
Invalid licence plate The licence plate (VRM) provided is invalid {"message":"API key or VRM invalid","error":1}
No vehicle found The vehicle is not known by the DVLA, possibly still being registered. {"message":"No vehicle found","error":0}

Response: Valid Request
{
“abicode”: “80460047”,
“make”: “HONDA”,
“model”: “CBR 600 F (M-W)”,
“engineSize”: “600 cc”,
“bodytype”: “SCOOTER COMBINATION”,
“transmission”: “MANUAL”,
“colour”: “YELLOW, BLACK”,
“fuel”: “PETROL”,
“imported”: false,
“dateOfFirstRegistration”: “9 SEPTEMBER 1997”,
“keeperStartDate”: “11 APRIL 2014”,
“previousKeepers”: 5
}

API data fields

Field name Format Description Example
abicode String For information on ABI codes please refer to documentation from the Association of British Insurers
make String The vehicle manufacturer Honda
model String The vehicle model CBR 600 F (M-W)
engineSize String The vehicle cylinder capacity (cc) 998 cc
bodyType String There are different types of body styles available in the UK like Estates, Sedans, SUVs, Coupes, Convertibles, Hatchbacks, Wagons, Multi-purpose vehicle SCOOTER COMBINATION
transmission String The vehicle transmission MANUAL
colour String The vehicle colour YELLOW , BLACK
fuel String The vehicle fuel type PETROL
Imported boolean Determines whether this vehicle is an import. Response is either true or false. false
dateOfFirstRegistration String The date when the vehicle was first registered with the DVLA. 9 SEPTEMBER 1997
keeperStartDate String The most recent keeper date on the V5C 11 APRIL 2014
previousKeepers String The number of previous keepers 5

The Vehicle Image API requires an account upgrade. This is a one off payment of £500 GBP. Once purchased the feature is enabled for an account which will work with your current API key.

The Vehicle Image API is structured in the same format as our existing APIs. As per the other APIs, just the VRM and API key are required to retrieve a vehicle image.

  • All image sizes are 400×300
  • All images have a white background
  • The images are just for cars and vans at the moment, covering over 28,000 models and derivatives. We’ll be adding trucks and motorbikes later in the year.
  • The API is the same format as all our others. Only the vehicle registration mark and API key is required to lookup an image.
  • The cost of each lookup is dependent on the tier that credits are purchased at.

Should you require any further information, please do not hesitate to contact us.

Contact us