Built like a parts database,
not a search box.
Parts Resolve is a structured cross-reference graph with cited evidence, DVLA-verified vehicle data and fitment precision — exposed as a keyed REST API under /api/v1.
Listings vs. a real catalogue.
What typical parts tools give you
- A flat list of part listings
- Make / model / year dropdowns
- Exact-match part-number search
- No source for compatibility claims
- Manual catalogue ingestion
- Checkout and RFQ bolted on later
What Parts Resolve ships today
- A part-number graph with relation types and confidence
- DVLA-verified VRM lookup with history snapshots
- Fuzzy + phonetic search with confidence scores
- Cited evidence attached to every cross-reference
- VIN, gearbox and steering-side breakpoints on fitment
- Public /api/v1 REST API with per-key auth
Six strengths you can call today.
All of these are live in the API — not roadmap, not vapourware. Each card names the underlying data so you can verify it under /api/v1.
A real cross-vehicle part-number graph
Most parts tools are flat lists of listings. We model parts as a graph: every part number sits in a canonical group, with links between OEM, aftermarket, brand-equivalent and superseded numbers — each link tagged with a relation type, a confidence score and a reason.
When you resolve a number via the API, we map it to its group and return every other number in that group. That is how a Mondeo MAP sensor and a Transit MAP sensor resolve to the same equivalence set.
- One resolve finds every equivalent part number
- OEM, aftermarket and superseded numbers grouped together
- Every match comes with a confidence score
Listing sites show inventory rows. We return a structured cross-reference graph you can embed in counter or GMS software.
Every cross-reference cites its source
A claim that two part numbers are equivalent is only as good as the evidence behind it. Every link in our graph can be attached to one or more evidence assets — manufacturer URLs, screenshots, catalogue pages — with a snippet showing the exact line that proved it.
When the API returns a match, the evidence travels with it. You can audit any cross-reference back to the document it came from.
- A source link on every cross-reference
- Screenshots and catalogue snippets attached
- Auditable back to the original document
Most parts UIs assert fitment without proof. We make the proof first-class API data.
DVLA-backed VRM lookup, with history
POST a UK number plate to /api/v1/vehicle/lookup. We hit the DVLA Vehicle Enquiry Service in real time and return the canonical record — make, model, year, fuel, engine capacity, MOT status, tax status, CO2, Euro status, wheelplan and more — then cache it for 24 hours and snapshot every fetch for history.
Fitment endpoints use this verified vehicle data, not free-typed make/model strings. That is why results can be scoped to the plate you actually have on the forecourt.
- Type a number plate, get the real vehicle
- Make, model, year, engine, fuel — direct from DVLA
- Cached for 24 hours, with a full lookup history
Many tools ask for a make/model dropdown. We start from the plate and let DVLA tell us the truth.
VIN breakpoints, gearbox codes and steering side
A 3-Series brake disc on a chassis built before VIN BA572061 is not the same as one built after it. Most sites ignore this. We parse VIN breakpoints, gearbox codes (ZF 6HP26, DSG, PDK, DCT, S-Tronic, etc.) and LHD/RHD and store them on the fitment row.
Workshop Pro and Platform plans expose fitment and part-group endpoints so your integration can filter by every breakpoint we know about — so the match is also the right match.
- Filters by VIN build-date breakpoints
- Knows the gearbox code (DSG, ZF, PDK, S-Tronic…)
- Splits left- and right-hand drive correctly
Wrong-fit returns are still the most common parts complaint. Solving it is first-class data in our model, not a disclaimer at checkout.
Fuzzy part-number matching with confidence scores
Mistyped a digit? Missed a hyphen? Read it off a greasy invoice with a 0 that might be an O? We normalise, then run trigram similarity (on Postgres, via pg_trgm) plus soundex boosting — and fall back to Levenshtein on smaller deployments. Every result comes back with a 0–100 confidence score.
Exact matches first, then near-misses, then phonetic neighbours — never just an empty 404 wall for a one-character typo.
- Forgives typos, missing hyphens and 0-vs-O mix-ups
- Phonetic matching for numbers read off greasy invoices
- Confidence score on every result, never a dead-end
Exact-string lookup fails the moment a digit is wrong. We assume the caller is in a workshop, not a perfect search bar.
Public REST API under /api/v1
Resolve a part number, look up a VRM, fetch fitments, browse part and vehicle types, bulk-resolve up to 100 numbers at a time (Workshop Pro+), and pull part-group detail. Authenticate with a Bearer API key — no OAuth dance required.
Garage management systems, counter terminals and fleet apps plug Parts Resolve straight in. Plans: trial 100 free requests, Garage £49/1k, Workshop Pro £149/10k with bulk + fitment, Platform £499 fair-use unlimited.
- Paths under /api/v1 with OpenAPI docs
- Per-account API keys (prod + staging)
- Bulk resolve and fitment on Workshop Pro+
We document the data and put a key on it. Supplier marketplace ordering is waitlist-only — the shipped product is the API.
The same data, in JSON.
Every claim on this page is something you can read out of /api/v1. Confidence scores on matches. Evidence URLs on cross-references. VIN breakpoints on fitments. Nothing here is marketing fiction.
Read the API docs{
"part_item": {
"id": 1284,
"display_name": "MAP Sensor — Ford 2.0 TDCi",
"part_type": { "slug": "map-sensor", "name": "MAP Sensor" }
},
"part_numbers": [
{ "number_type": "manufacturer", "brand": "Bosch", "value_norm": "0281002937" },
{ "number_type": "oem", "brand": "Ford", "value_norm": "1S7A9F479AB" },
{ "number_type": "oem", "brand": "Ford", "value_norm": "3M5A9F479AB" }
],
"matches": [
{ "value_norm": "1S7A9F479AB", "confidence": 100 },
{ "value_norm": "3M5A9F479AB", "confidence": 92 }
],
"evidence": [
{
"source_url": "https://etka.example/part/1S7A-9F479-AB",
"snippet": "Reference OE/OEM Number: 1S7A 9F479 AB; 3M5A 9F479 AB"
}
]
}Try it on the next part you actually need.
Start with 100 free API requests. Resolve a part number or look up a VRM — with evidence and confidence on every match.