Layer 3 · Data
Everything true about a vehicle that a model cannot see.
Sourced from best-in-class providers per country, then normalised into one schema behind the same key. You integrate once instead of once per country.
7 domains · sourced per country · normalised into one schema · same key
Why this layer
We do not compute any of this ourselves.
A model cannot see a service history or an outstanding finance claim. That data is bought, per country, from whoever is genuinely best in that country — and every provider has its own contract, schema and quirks. You integrate our schema once instead of theirs once per market.
The domains
7 domains behind the same key.
Coverage and freshness vary by country, because the underlying sources do. What does not vary is the shape of the response.
- Identity
- VIN decode, build sheet, factory options, plate → VIN lookup
- Specs
- Technical data, equipment, dimensions, powertrain
- Value
- Market pricing, residuals, depreciation curves
- History
- Mileage records, ownership, accidents, write-off status
- Compliance
- Recalls, service campaigns, emissions, homologation, taxes
- Parts
- OEM references and catalogues — feeds pricing/repair
- Risk
- Stolen and outstanding-finance checks
Where it joins
Data on its own is a lookup. Joined to the models, it is an answer.
You can call these domains directly. Most of their value shows up where a Layer 2 endpoint reads them mid-computation.
- IdentityPOST/v1/plate/read
Plate OCR with country detection is the bridge in — read the plate, resolve the VIN, and the build sheet follows
- ValuePOST/v1/pricing/vehicle
Market valuation needs both halves: identity and residuals from here, observed condition from the models
- PartsPOST/v1/pricing/repair
OEM references turn a detected damage into a part with a price rather than a bounding box
What we do not claim
No country is covered on every domain, and we will tell you which ones are thin before you build on them. Where a source is missing, the field comes back empty rather than guessed.
The rest of the stack
What reads this, and what shows it.
Start with a plate.
Send one to /v1/plate/read and follow what comes back. That single call is the doorway into all 7 domains.






