# UK vehicle MOT and tax lookup

> Look up a UK vehicle by its registration number. Returns tax status, tax due date, MOT status, MOT expiry, make, model, colour, fuel type, and MOT test history with mileage and advisories. Does not return the registered keeper, insurance, outstanding finance, a stolen marker, or a write-off category.

Last verified: 26 September 2026. Source services: DVLA Vehicle Enquiry Service and DVSA MOT History, combined by Driver Codes (RSMT Limited).

## Call the tool

On https://driver.codes/vehicle-check, a browser agent can invoke the WebMCP tool `lookup-uk-vehicle`.

| Input | Required | Meaning |
| --- | --- | --- |
| regNumber | yes | UK registration. Spaces are ignored. Example shape: AB12CDE |

The page shows the same result a person would see after submitting the form.

## Call the HTTP API

Prefer a JSON body so the registration is not written into a URL.

```http
POST https://driver.codes/api/vehicle-check
Content-Type: application/json

{ "regNumber": "AB12CDE" }
```

A missing vehicle returns HTTP 404 and `{ "ok": false, "error": "..." }`. A registration that is not 2 to 7 letters and numbers returns HTTP 400.

## Fields in vehicle

| Field | Meaning |
| --- | --- |
| registration | Normalised registration, no spaces |
| make, model, colour, fuelType | Identity from DVLA and DVSA |
| yearOfManufacture, firstUsedDate | Year, and first-used date as YYYY-MM-DD |
| taxStatus | Taxed, Untaxed, SORN, or Not Taxed for on Road Use |
| taxDueDate | Date the current tax runs to, YYYY-MM-DD |
| motStatus | Valid, Not valid, or no details held |
| motExpiryDate | MOT expiry, YYYY-MM-DD |
| hasOutstandingRecall | true, false, or null when the feed has no recall flag |
| motHistory | Newest test first. Each test has completedDate, expiryDate, result, odometer, odometerUnit, odometerChange, and defects |
| odometerChange | Difference versus the previous test when both use the same unit |
| defects | type, text, and dangerous |
| dateOfLastV5CIssued | Date the last V5C was issued. This is not the keeper's name |
| markedForExport | true when DVLA has marked the vehicle for export |
| notIncluded | The list below, repeated on every response |

## Not included

- Registered keeper name and address
- Insurance
- Outstanding finance
- Stolen marker
- Write-off or insurance category

A recall flag is not a list of campaigns. Mileage is the reading recorded at each MOT, not a live odometer. Tax status is not proof the vehicle is insured.

## WebMCP

The form is marked with `toolname="lookup-uk-vehicle"` and `toolautosubmit`. When `document.modelContext.registerTool` is available, the page registers the same tool in script and removes the form attributes so an agent sees one tool. `execute` accepts `{ "regNumber": "..." }`, updates the form and the result on the page, and returns `{ "ok": true, "vehicle": { ... } }`.
