Every format at once
PDF catalogs, tabbed XLSX workbooks, CSVs with merged header rows. No two suppliers ship the same shape, and the shape changes between releases.
Fitment data for automotive ecommerce
Applying fitment to product data is the messiest job in automotive ecommerce. We already did it, brand by brand, into one canonical vehicle database. Connect your store and every part you sell inherits the right vehicles, matched on brand + MPN.
The file problem
Getting fitment onto product data is the messiest, most time-consuming job in automotive ecommerce. The same vehicle arrives under a different name from every supplier, somebody reconciles it by hand in a spreadsheet, once per brand, forever. The storefront inherits every mistake.
PDF catalogs, tabbed XLSX workbooks, CSVs with merged header rows. No two suppliers ship the same shape, and the shape changes between releases.
One brand writes MK7, another writes Golf VII, a third just writes the years. Drivetrain is frequently left blank, which is not the same as “fits everything.”
Year/Make/Model search only works if every product carries the same vehicle keys. Hand-typed tags drift, so real inventory goes invisible and wrong-fit orders come back.
Illustrative example of the formats the normalization rulebook handles. That reconciliation happens once, on our side, per brand. Not once per store, and not by you.
How it works
You don’t send us files and you don’t fill in a spreadsheet. The fitment library already exists. Your products just need to be matched to it.
Install on your store. Fitmentware reads the vendor and MPN already sitting on your products. Nothing to export, nothing to re-key.
Each MPN resolves against a library we normalized brand by brand: chassis codes expanded, nameplates split by badge, drivetrain settled, all pointing at the same vehicle rows.
Vehicle tags and metafields land on your products, and the storefront blocks turn them into search, a garage and a fitment table. When a brand’s coverage changes on our side, your catalog picks it up.
Brands we support
Every catalog below is normalized against the same vehicle rows. If you carry one of these, the app can already fit it the moment you install.
| Brand | Category | Parts | Fitment records |
|---|---|---|---|
| APEXi | Brakes, Engine+5 | 564 | 7,887 |
| BC Racing | Suspension | 2,787 | 36,432 |
| Bilstein | Air suspension, Electronics+1 | 3,834 | 94,166 |
| HKS | Aero, Brakes+10 | 1,474 | 18,463 |
| Ohlins | Suspension | 252 | 6,755 |
| 55 brands | Live now | 53,214 | 1,047,745 |
New catalogs get added continuously, and brands can publish their own at no cost. Tell us which one you need and we will tell you where it is in the queue.
One vehicle database
Fitment attaches to a canonical vehicle row of year, make, model, chassis, body and drivetrain, or to a whole platform when a part covers the entire chassis. Pick a car and watch a single Year/Make/Model resolve into what it actually is.
Start with the year. The 2015 BMW M4 is the one worth looking at: it comes back as two cars.
Demo set: 12 vehicles pulled from the live Fitmentware database (27,399 total). Counts are real records, not mock-ups.
On your storefront
The fitment has to reach the shopper to be worth anything. These drop into your theme from the app. No code, no developer, and they read the same records the lookup above is showing.
A Year/Make/Model picker, down to submodel where the data splits. Sends the shopper into a filtered collection. Heading, button label and target collection are yours to set.
The shopper picks their car once and it follows them, stored in their own browser and reachable from the nav on every page. No account, nothing for you to host.
On the product page: every vehicle the part fits, chassis code included. The answer to “will this fit mine” without an email.
Shopify caps a product at 250 tags, and no tag set covers every Year/Make/Model, so universal parts vanish from filtered results. This merges them back in, cloned from your own theme’s product card so it looks like it belongs.
The list metafields also feed Shopify’s own Search & Discovery, so fitment shows up as native filters alongside the ones your store already has: make, model, year, drivetrain and engine.
Two ways in
Most stores want the app: connect, map your vendors, and let fitment sync itself. If you run a headless front end or your own PIM, take the same data over HTTP.
Installs on your store, matches your products on vendor + MPN, and keeps fitment current without anyone opening a spreadsheet.
Ask for a part and get the vehicles it fits. Ask for a vehicle and get the parts. Same records the app writes.
# what fits a 2015 BMW M3? GET /v1/vehicles/2015-bmw-m3/parts { "vehicle": { "year": 2015, "make": "BMW", "model": "M3", "chassis": "F80", "drivetrain": "RWD" }, "parts": [ { "brand": "…", "mpn": "…" } ] }
Two sides, one database
A store carrying eight suspension brands maintains eight incompatible fitment systems. A brand selling through forty dealers watches its catalog get retyped forty times, badly. Same problem from both ends, so we solve it in the middle, once per brand.
Brands own their fitment and keep it correct in Fitmentware. Sellers connect a store and inherit it. Every brand that joins makes the database worth more to every seller, and every seller makes it worth more to the next brand.
One fitment layer across every vendor you carry. Add a brand and its catalog lands on the same vehicle rows as everything else.
Your coverage, published once and kept current, at no cost to you. Every dealer running Fitmentware shows the fitment you actually engineered for.
Deepest where the catalogs are hardest: coilovers, springs, dampers, air suspension. Now widening into exhaust, intake and engine.
Built inside a working parts retailer, not a lab. It handles a 4,000-SKU catalog because that is what it was made to handle.
Why the data holds up
Fitment is only worth anything if it is right. Normalization decisions live in a rulebook that gets versioned and reviewed, so two people importing two brands produce the same answer, and last year’s decision is still legible.
“Golf” is not one car. Badge-level splits keep Golf R from inheriting Golf GTI fitment.
A chassis code becomes explicit model years and models, so A90 and 2020–2026 Supra resolve to the same rows.
NULL means unknown, never “fits everything.” Confirmed values are marked as confirmed.
Every brand’s original file is archived against the records it produced, so any row can be audited back to its document.
The database and the manager. Canonical vehicles, platforms and applications across 55 brand catalogs, with a working import and review tool.
Brand workspace. Manufacturers get their own login to add MPNs, correct coverage and publish to every dealer at once. Access is granted by hand today. Ask and we’ll set you up. Free to the brand.
Shopify sync. Writing vehicle tags, metafields and the Year/Make/Model feed onto a live storefront.
Public API and self-serve onboarding. Being designed now. Early partners get to set the shape.
Pricing
Not by SKU count. Fitment variants make automotive catalogs enormous, and a big catalog shouldn’t cost you more. Start free on one brand, see it hit your own products, then turn on the rest.
Get started
Install the app on your store. It reads the vendor and MPN already on your products and tells you how many of them it can fit, before it writes a single tag.
Goes straight to a person. No sequence, no drip.
Hand us your fitment once and keep it right. You get a workspace to add MPNs, correct coverage and publish changes, and every dealer running Fitmentware picks them up.
Free No cost to the brand. Your data is the point.