API Tool -- How to use

Table of Contents

Welcome

Intro and welcome text to go here. You can now add line breaks easily by just pressing enter!

Code Monkey Do

Indexed (local) by VRM

Search our local high-speed database for vehicle records using the VRM. This is optimized for low latency.

Custom DB lookup

Live lookup by VRM (MOT)

Performs a real-time fetch from the MOT database to ensure you have the most up-to-date test history available.

GET /api/v1/live/mot/vrm/{vrm}

Live lookup by VIN (MOT)

Useful for identifying vehicles where the plate has changed or is unavailable. Queries the MOT database via VIN.

GET /v1/trade/vehicles/vin/{vin}

DVLA VES

Access the DVLA Vehicle Enquiry Service for tax status, CO2 emissions, and basic vehicle registration details.

POST https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles

Batch upload

Upload a CSV or TXT file containing multiple VRMs to process lookups in bulk. Results are generated asynchronously.

Benchmark data: Ryzen 7 Server indexed (no VES): 2155 Records Progress: 100.0% (2155/2155) | RPS: 104.4 (Avg: 104.4) Elapsed: 00:00:20 | Response: 31ms (Avg: 38ms) | ETA: 00:00:00 indexed (with VES merged):2155 Records Progress: 100.0% (2155/2155) | RPS: 10.0 (Avg: 8.4) Elapsed: 00:04:16 | Response: 415ms (Avg: 476ms) | ETA: 00:00:00 Note: average RPS is/maybe lower than 10 due to retry logic on failed requests Live VRM API Endpoint (no VES) Progress: 100.0% (2155/2155) | RPS: 6.0 (Avg: 6.2) Elapsed: 00:05:45 | Response: 954ms (Avg: 639ms) | ETA: 00:00:00 Live VRM API Endpoint (with VES merged) Progress: 100.0% (2155/2155) | RPS: 4.8 (Avg: 4.2) Elapsed: 00:08:35 | Response: 729ms (Avg: 955ms) | ETA: 00:00:00 Live VIN API Endpoint (no VES) Progress: 100.0% (2142/2142) | RPS: 6.2 (Avg: 6.1) Elapsed: 00:05:49 | Response: 845ms (Avg: 651ms) | ETA: 00:00:00 200: 2125 502: 17 Live VIN API Endpoint (with VES merged) Progress: 100.0% (2142/2142) | RPS: 4.6 (Avg: 4.1) Elapsed: 00:08:36 | Response: 1074ms (Avg: 963ms) | ETA: 00:00:00 200: 2125 502: 17 VES API Endpoint Progress: 100.0% (2155/2155) | RPS: 4.6 (Avg: 8.4) Elapsed: 00:04:16 | Response: 50634ms (Avg: 472ms) | ETA: 00:00:00 200: 2154 502: 1 Notes: Average RPS maybe lower than the above figures due to retry logic on failed requests and exponential backoff DVSA and DVLA VRM (Registation) API Endpoints and Indexed Database search are using the same 2155 Records DVSA VIN endpoint is using a different set of records for diverity in results

Data Export

Export Bulk or Delta files provided by the DVSA API: - CSV will produce one row of data for all vehicle records - TXT file will produce one registration per line

Only working for VRM/Registration. VIN option will be removed as the DVSA do not provide VIN in any of the data. Exporting delta files should only take a few seconds/minutes. The bulk file will take over two hours to process and may fail to produce a readable file. Exporting the bulk file will likely be removed in a future release.

Vehicle record

A comprehensive view of a single vehicle, combining local data, MOT history, and DVLA specifications.

By default VES data will be merged with DVSA records -- Check the tick box in each section to omit VES records being merged

Test data (full details + defects)

Detailed breakdown of specific MOT tests, including advisory items and major/dangerous defects.

Tabulised view of the JSON Test Data returned by the DB/API endpoints. Includes milage increase between tests. bug: cannot be calculated if the units change between tests (MI/KM)

Compare

Compare two vehicle records side-by-side to identify differences in specifications or history.

This function may likely be removed in a future release

JSON output

Any Single Endpoint search (Indexed, DVSA API or DVLA API) will return pretty (Human readable) or RAW (single line) response from the upstream data providers and the indexed data at the end of the page.

Structured in order of DVSA vehicle record > MOT/Annual Test Data > VES Data

ARM CPU 4x -- Low spec

Raspberry Pi4B, 4 core 1.5ghz, A1 U3 Storage, RPS (no VES): Indexed: RPS: 21.6 (Avg: 13.3) -- .

Progress: 100.0% (85700/85700) | RPS: 24.0 (Avg: 13.2) Elapsed: 01:48:25 | Response: 114ms (Avg: 289ms) | ETA: 00:00:00

ARM CPU 4x -- High spec

Raspberry Pi4B, 4 core 2.2ghz, A2 U3 Storage, RPS (no VES): Indexed: RPS: 33 Peak, (Avg: 14.6) -- .

Progress: 100.0% (85700/85700) | RPS: 28.4 (Avg: 14.9) Elapsed: 01:35:59 | Response: 68ms (Avg: 254ms) | ETA: 00:00:00

Backup Server

AMD EPYC

Benchmarks: 87795 Records (indexed, no VES): RPS: 20.6 (Avg: 14.1) - Elapsed: 01:41:18 - Response Time: (Avg:272ms) 2155 Records (indexed, no VES): RPS: 46.8 (Avg: 48.9) - Elapsed: 00:00:44 - Response Time: (Avg:81ms)

Ryzen 7 16 vCPU -- High Spec

Ryzen 7 5825U, 16 core 2.0-4.5ghz, NVMe Storage, (no VES): Indexed RPS 80+ Peak

Benchmarks: 87795 Records (indexed, no VES): RPS: 32.0 (Avg: 32.3) - Elapsed: 00:45:21 - Response Time: (Avg:108ms) 2155 Records (indexed, no VES): RPS: 97.8 (Avg: 98.3) - Elapsed: 00:00:21 - Response Time: (Avg:40ms)