DVSA MOT Vehicle History
Pricing
Pay per event
DVSA MOT Vehicle History
Under maintenanceBulk lookup for UK vehicle registration to MOT history using DVSA data. Ideal for fleet, dealer, and analytics use. Supports JSON output and easy API integration for large-scale vehicle checks.
0.0 (0)
Pricing
Pay per event
1
2
2
Last modified
3 days ago
UK Vehicle MOT History API
Look up complete MOT history for any UK vehicle registration. Retrieve pass/fail results, advisories, defects, odometer readings, test dates, and current MOT status in seconds — at scale.
What You'll Get
- MOT Status — Current status and expiry date
- Full MOT History — Each test’s date, result, and station ID (where available)
- Defects & Advisories — Major/Dangerous defects and advisory notes per test
- Odometer Readings — Value and unit at each MOT test
- Vehicle Snapshot — Make, model (when available), fuel type, colour
- Data Provenance — Source timestamps and run metadata for traceability
Perfect For
- Vehicle Traders — Assess condition trends and red flags pre‑purchase
- Fleet Managers — Track compliance and upcoming MOT expiries at scale
- Insurers — Validate risk using historical failure and advisory patterns
- Automotive Services — Prepare work orders from known advisories/defects
- Compliance & Risk Teams — Audit odometer consistency and safety defects
- Developers & Data Teams — Embed MOT histories into apps and pipelines
How It Works
Submit UK vehicle registration numbers. The service validates inputs, queries official UK MOT history sources, normalizes the results, and returns a structured record for each registration.
Recommended batch size: 1–50 registrations per run.
Example input:
{"registrations": ["AB12CDE", "XY99ZXY"],"includeAdvisories": true,"sinceDate": "2015-01-01"}
Example output (per vehicle):
{"registrationNumber": "AB12CDE","motStatus": "Valid","motExpiryDate": "2026-06-11","make": "VAUXHALL","fuelType": "PETROL","colour": "WHITE","history": [{"testNumber": "123456789012","testDate": "2025-06-11","result": "PASS","odometerValue": 54821,"odometerUnit": "mi","defects": [],"advisories": ["Nearside front tyre close to legal limit"]},{"testNumber": "123456789011","testDate": "2024-06-10","result": "FAIL","odometerValue": 51200,"odometerUnit": "mi","defects": [{ "category": "MAJOR", "text": "Brake pad(s) worn below 1.5mm" }],"advisories": []}],"run": {"fetchedAt": "2025-10-24T17:30:00Z","source": "UK MOT history"}}
Views available:
- Overview — Current status and next expiries
- Errors Only — Registrations that failed to return results
- Full History — All tests, defects, advisories, and readings
API Access (via Apify)
Use the standard Apify run pattern to execute the actor and fetch results.
-
Start a run:
POST
https://api.apify.com/v2/acts/<username>~<actor-name>/runs?token=<APIFY_TOKEN>Body:
{"registrations": ["AB12CDE"],"includeAdvisories": true,"sinceDate": "2015-01-01"} -
Poll run status:
GET
https://api.apify.com/v2/actor-runs/<runId> -
Fetch results (dataset items):
GET
https://api.apify.com/v2/datasets/<datasetId>/items?format=json
Common input fields:
registrations(required) — Array of UK registrationsincludeAdvisories(optional, default true) — Include advisory notessinceDate(optional) — ISO date to filter older testsmaxVehicles(optional, default 50) — Soft cap for batch size
Error format (example):
{"registrationNumber": "NOTAREG","error": {"code": "NOT_FOUND","message": "No MOT history found for registration"}}
Key Benefits
- Official UK MOT history data
- Bulk lookups (1–50 vehicles per run)
- Detailed defects and advisory notes
- Odometer consistency checks across tests
- Fast, reliable, structured results
- Simple pay‑per‑use pricing on Apify
Export Options
- JSON
- CSV
- Excel
- HTML
Getting Started
- Collect registrations to check
- Run the actor with your input JSON
- Retrieve dataset results (JSON/CSV/Excel/HTML)
- Filter by status or inspect full histories
Notes & Limits
-
Registrations must be valid UK formats (case‑insensitive; spaces optional)
-
Historical coverage follows official MOT records availability
-
Throughput and concurrency align with your Apify plan and actor settings The actor includes a small delay (100ms) between requests to avoid rate limiting. For large batches, consider:
-
Breaking into multiple runs
-
Increasing delay in src/services/motApi.js#L86
-
Using cache to minimize API calls
