Used car marketplace · Dealer

One field that catches what a manual history check misses.

Sellers manipulate odometers and manual HPI checks are slow, expensive, and require human review. Zyfy compares every recorded DVSA MOT mileage reading chronologically and returns `odometer_trend: possible_clocking` the moment an anomaly is detected — automatically, at the point a listing goes live or a valuation is requested.

Relevant signals

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

SignalRelevanceWhat it tells you
signals.odometerTrendCriticalZyfy compares every DVSA odometer reading chronologically. Returns "possible_clocking" when any reading is lower than a previous one — no manual review required.
summary.mileageAnomalyRiskCriticalRisk level derived from odometer pattern analysis: "none", "low", or "high". "high" means a credible clocking anomaly was detected.
summary.buyRecommendationCriticalZyfy's overall purchase assessment: "good", "consider", "caution", or "avoid". Aggregates odometer trend, MOT history, risk levels, and condition into a single actionable signal.
vehicleAgeYearsHighAge in decimal years from year of manufacture. Combine with odometer readings to sanity-check average annual mileage.
signals.motStatusHighCurrent MOT status — "valid", "expired", or "no_mot". A listing with "expired" is a risk flag on its own.
summary.conditionBandMediumOverall condition assessment derived from MOT history: "good", "fair", or "poor". Reflects test pass rate and advisory accumulation over time.
summary.colourChangeIndicatedMediumtrue when the colour on the current V5C (DVLA) differs from the colour recorded at the last MOT (DVSA). A post-accident respray is a common reason — flag this alongside odometer anomalies to build a fuller fraud picture.

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": "FOCUS",
  "colour": "SILVER",
  "fuelType": "petrol",
  "engineCapacityCc": 1596,
  "yearOfManufacture": 2014,
  "vehicleAgeYears": 11,
  "monthOfFirstRegistration": "2014-03",
  "summary": {
    "buyRecommendation": "caution",
    "vehicleRiskLevel": "medium",
    "motRiskLevel": "medium",
    "conditionBand": "fair",
    "mileageAnomalyRisk": "high"
  },
  "signals": {
    "taxStatus": "taxed",
    "taxDueDate": "2026-06-01",
    "motStatus": "valid",
    "motExpiryDate": "2026-08-14",
    "odometerTrend": "possible_clocking",
    "latestOdometerMiles": 68420,
    "motPassRate": 0.67,
    "totalMotTests": 6,
    "totalMotFailures": 1,
    "totalAdvisoryCount": 4,
    "lastMotDate": "2025-08-14",
    "lastMotResult": "passed"
  },
  "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

  • Automated clocking detection — The odometer_trend field compares every recorded DVSA mileage in sequence. possible_clocking fires when the data contradicts itself — no human review loop needed.
  • Full MOT history per listing — Surface pass/fail results, advisories, and failure reasons on every listing without requiring a separate HPI check. Buyers see the same data as a professional inspection.
  • Block risky listings at ingestion — Run the check when a dealer submits a listing. Gate on signals.motStatus: "expired" or signals.odometerTrend: "possible_clocking" before the listing ever reaches a buyer.
  • Reduce disputes and returns — Vehicles sold with accurate history have fewer post-sale disputes. Catching problems at the point of listing is cheaper than handling a return after a buyer discovers the issue.

Catch clocked vehicles before they go to market.

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