Sample code for 30+ languages & platforms
React Native

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 React Native Downloads

React Native
import { Http, HttpResponse, JsonObject, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new 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"
  // }

  const json = new JsonObject();
  json.updateString('registrationNumber', 'ABC1234');

  http.setRequestHeader('Accept', 'application/json');
  http.setRequestHeader('x-api-key', 'supplied API key');

  const resp = new HttpResponse();
  try {
    await http.httpJsonAsync('POST', 'https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles', json, 'application/json', resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const sbResponseBody = new StringBuilder();
  resp.getBodySb(sbResponseBody);
  const jResp = new JsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  console.log('Response Body:');
  console.log(jResp.emit());

  const respStatusCode = resp.statusCode;
  console.log(`Response Status Code = ${respStatusCode}`);
  if (respStatusCode >= 400) {
    console.log('Response Header:');
    console.log(resp.header);
    console.log('Failed.');
    return;
  }

  // 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

  const artEndDate = jResp.stringOf('artEndDate');
  const co2Emissions = jResp.intOf('co2Emissions');
  const colour = jResp.stringOf('colour');
  const engineCapacity = jResp.intOf('engineCapacity');
  const fuelType = jResp.stringOf('fuelType');
  const make = jResp.stringOf('make');
  const monthOfFirstRegistration = jResp.stringOf('monthOfFirstRegistration');
  const motStatus = jResp.stringOf('motStatus');
  const registrationNumber = jResp.stringOf('registrationNumber');
  const revenueWeight = jResp.intOf('revenueWeight');
  const taxDueDate = jResp.stringOf('taxDueDate');
  const taxStatus = jResp.stringOf('taxStatus');
  const typeApproval = jResp.stringOf('typeApproval');
  const wheelplan = jResp.stringOf('wheelplan');
  const yearOfManufacture = jResp.intOf('yearOfManufacture');
  const euroStatus = jResp.stringOf('euroStatus');
  const realDrivingEmissions = jResp.stringOf('realDrivingEmissions');
  const dateOfLastV5CIssued = jResp.stringOf('dateOfLastV5CIssued');
}