Sample code for 30+ languages & platforms
B4X

DVLA Vehicle Enquiry Service

See more _Miscellaneous_ Examples

Demonstrates how to make a call to the DVLA Vehicle Enquiry API to get vehicle details of a specified vehicle. It uses the vehicle registration number as input to search and provide details of the vehicle.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example assumes the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

'  Implements the following CURL command:

'  curl -X POST https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles \
'    -H "x-api-key: supplied API key" \
'    -H "Accept: application/json" \
'    -d '{"registrationNumber": "ABC1234"}'

'  Use the following online tool to generate HTTP code from a CURL command
'  Convert a cURL Command to HTTP Source Code

'  Use this online tool to generate code from sample JSON:
'  Generate Code to Create JSON

'  The following JSON is sent in the request body.

'  {
'    "registrationNumber": "ABC1234"
'  }

Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("registrationNumber", "ABC1234")

http.SetRequestHeader("Accept", "application/json")
http.SetRequestHeader("x-api-key", "supplied API key")

Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpJson("POST", "https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles", json, "application/json", resp)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
resp.GetBodySb(sbResponseBody)
Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Log("Response Body:")
Log(jResp.Emit)

Dim respStatusCode As Int = resp.StatusCode
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
    Log("Response Header:")
    Log(resp.Header)
    Log("Failed.")
    Return
End If


'  Sample JSON response:
'  (Sample code for parsing the JSON response is shown below)

'  {
'    "artEndDate": "2025-02-28",
'    "co2Emissions": 135,
'    "colour": "BLUE",
'    "engineCapacity": 2494,
'    "fuelType": "PETROL",
'    "make": "ROVER",
'    "markedForExport": false,
'    "monthOfFirstRegistration": "2004-12",
'    "motStatus": "No details held by DVLA",
'    "registrationNumber": "ABC1234",
'    "revenueWeight": 1640,
'    "taxDueDate": "2007-01-01",
'    "taxStatus": "Untaxed",
'    "typeApproval": "N1",
'    "wheelplan": "NON STANDARD",
'    "yearOfManufacture": 2004,
'    "euroStatus": "EURO 6 AD",
'    "realDrivingEmissions": "1",
'    "dateOfLastV5CIssued": "2016-12-25"
'  }

'  Sample code for parsing the JSON response...
'  Use the following online tool to generate parsing code from sample JSON:
'  Generate Parsing Code from JSON



Dim artEndDate As String = jResp.StringOf("artEndDate")
Dim co2Emissions As Int = jResp.IntOf("co2Emissions")
Dim colour As String = jResp.StringOf("colour")
Dim engineCapacity As Int = jResp.IntOf("engineCapacity")
Dim fuelType As String = jResp.StringOf("fuelType")
Dim make As String = jResp.StringOf("make")
Dim markedForExport As Boolean = jResp.BoolOf("markedForExport")
Dim monthOfFirstRegistration As String = jResp.StringOf("monthOfFirstRegistration")
Dim motStatus As String = jResp.StringOf("motStatus")
Dim registrationNumber As String = jResp.StringOf("registrationNumber")
Dim revenueWeight As Int = jResp.IntOf("revenueWeight")
Dim taxDueDate As String = jResp.StringOf("taxDueDate")
Dim taxStatus As String = jResp.StringOf("taxStatus")
Dim typeApproval As String = jResp.StringOf("typeApproval")
Dim wheelplan As String = jResp.StringOf("wheelplan")
Dim yearOfManufacture As Int = jResp.IntOf("yearOfManufacture")
Dim euroStatus As String = jResp.StringOf("euroStatus")
Dim realDrivingEmissions As String = jResp.StringOf("realDrivingEmissions")
Dim dateOfLastV5CIssued As String = jResp.StringOf("dateOfLastV5CIssued")