Fleet manager · Logistics operator

Alert before MOT expiry, not after the stop notice.

A vehicle with an expired MOT is uninsured and illegal to drive on a public road. Fleet managers who rely on manual spreadsheets or driver self-reporting routinely miss expiry dates until an incident forces the issue. Zyfy lets you query any registration programmatically and build automated alerts before expiry, not after.

Relevant signals

These fields are returned on every response and are ready to wire into your application logic.

SignalRelevanceWhat it tells you
signals.motStatusCriticalCurrent MOT status from DVLA: "valid", "expired", "no_mot", or "no_details". An "expired" vehicle cannot legally be driven on a public road.
signals.motExpiryDateCriticalDate the current MOT expires in ISO 8601 format. Use this to schedule renewal alerts — 4 weeks out, 2 weeks out, day-of.
signals.motDaysRemainingCriticalDays until MOT expiry. Negative means already expired. Use this directly in scheduler logic without needing to compute dates yourself.
signals.taxStatusHighWhether the vehicle is taxed, on SORN, or untaxed. A vehicle must be taxed to be driven or parked on a public road (unless SORN applies to a private address).
signals.taxDueDateHighDate the current vehicle excise duty expires. Alert before this date to avoid an untaxed vehicle appearing on your fleet.
signals.imminentMotMediumTrue when the MOT is due within 30 days. False when already expired — use signals.motDaysRemaining to distinguish the two states.

Live example

A real-world request and the response it returns.

Request

curl https://zyfy.uk/v1/vehicle/AB12CDE \
  -H "X-API-Key: your_api_key"

Response

{
  "registration": "AB12CDE",
  "make": "FORD",
  "model": "TRANSIT",
  "colour": "WHITE",
  "fuelType": "diesel",
  "engineCapacityCc": 1995,
  "yearOfManufacture": 2018,
  "vehicleAgeYears": 7,
  "monthOfFirstRegistration": "2018-03",
  "summary": {
    "vehicleRiskLevel": "high",
    "motRiskLevel": "high"
  },
  "signals": {
    "euroEmissionStandard": "EURO 6",
    "ulezCompliant": true,
    "taxStatus": "taxed",
    "taxDueDate": "2026-09-01",
    "motStatus": "expired",
    "motExpiryDate": "2025-03-14",
    "motDaysRemaining": -419,
    "imminentMot": false,
    "odometerTrend": "consistent",
    "lastMotDate": "2025-03-14",
    "lastMotResult": "failed"
  },
  "enrichmentPending": false
}

Example data is illustrative only. Responses shown include a subset of signals for clarity — the full response contains additional fields. See the signal reference for the complete list.

What you get

  • Catch expired MOTs before drivers do — signals.motStatus: "expired" is unambiguous — the vehicle cannot legally be on the road. Automated daily checks across your fleet surface this before anyone drives it.
  • Build expiry alerts into your system — mot_expiry_date and tax_due_date are structured ISO 8601 dates. Compute days-remaining in your scheduler and trigger reminders at whatever lead time your operations require.
  • One call per VRM, no scraping — Data comes from DVLA directly via the API — no screen scraping, no browser automation, no rate-limiting from a government portal. Structured JSON every time.
  • Works across any fleet size — From a three-van plumber to a national logistics operator. Query a single VRM ad-hoc or loop your entire fleet nightly — same endpoint, same response shape.

Know your fleet's MOT status before DVLA does.

Free tier includes 100 requests per month. No credit card, no sales call.