What 68 Auto Parts Sites Show AI Shopping Agents
I ran 68 auto parts sites through our agent-readiness checker between 7 and 10 November 2026, then opened their product pages and read the source. The finding that matters most to a parts store is not in the score. The best fitment data I found sat on a store that scores 0 of 9, and the agent files the checker counts said almost nothing about whether an AI agent can tell if a part fits a car.
It is the same checker and the same nine checks as our footwear study: MCP, WebMCP, A2A, ANP, UCP, AP2, OpenAPI, llms.txt and a Wikidata entry tied to the site. For parts I added the question the checker cannot answer: does a machine reading the product page learn which cars the part fits?
Auto parts AI agent readiness in numbers: 68 sites checked
Most of the 68 are parts stores, and eBay is in as the one marketplace. Some are not, and I kept them in because they came up along the way: a tyre shop, accessory shops, a garage equipment store, a tractor parts supplier, a motorcycle parts store, a repair shop, an industrial supplier, a parts maker, a distributor, a brand site and three corporate sites. The table at the end says which is which.
The stores were picked by hand: 23 of the biggest parts retailers in the US, UK, Europe, Canada and Australia, plus online-only stores, specialists and small shops. The big names say a lot about the top of the market. The small shops are most stores by count and behave differently, so treat the counts as what these sites showed in one week, not as shares of the auto parts market.
Which auto parts sites the agent readiness checker could read
Before comparing scores I split the sites by what the checker could actually read. A 0 means "publishes nothing for agents" only when the checker got answers from the store.
| Group | What the score means | Sites |
|---|---|---|
| Read in full | All 9 checks answered, so a 0 is a real 0 | 37 |
| Partly read | Some checks refused, so the score is a floor | 15 |
| Refused our checker | 3 or fewer checks readable, the score says nothing about the store | 15 |
| Never scored | Did not open from Europe, even through a VPN | 1 |
Of the 37 read in full, 17 publish nothing for agents, 15 have a single point and 5 score 3 or 4. Twelve of the fifteen single points are a Wikidata entry. That point comes from an entry about the company on Wikidata, not from anything published on the store's own site. The other three are an llms.txt the store wrote itself. One of those, AUTODOC's, has no sections, which the checker flagged as broken when it read Sonic Automotive's file two days later, so that point may not survive a rerun.
Shopify gives auto parts stores agent readiness points for free
Every site above 1 of 9 runs on Shopify, and most of what it scores comes from the platform. Shopify serves a UCP profile at /.well-known/ucp on every store and declares an MCP endpoint in it. Its storefronts also load a WebMCP adapter: on two of these stores, tradevehicleparts.co.uk and anjautoparts.com, a WebMCP-enabled Chrome listed 12 tools, from search_catalog and get_product to create_cart and proceed_to_checkout. Our checker counted that adapter from 9 November, so the three Shopify stores checked before then show 3 of 9 and would show 4 on a rerun (inferred from the two stores where we saw it).
So on Shopify a store starts at 3 or 4 without doing anything. On Magento (6 sites), WooCommerce (3) and Salesforce (1) it starts at 0, and every one of those I read in full sat at 0 or 1.
The free points do not reach the product data. On tradevehicleparts.co.uk the store sells a bumper as "Fits Fiat Scudo 2022-2024", while the Shopify catalog entry our checker matched to the same part number tells shoppers "Fitment: Fiat Scudo 2007-2016". An agent working from the catalog gets the other years.
The biggest auto parts retailers score 1 of 9 at most
I ran the biggest names I could list as their own group: AutoZone, O'Reilly, Advance Auto Parts, Pep Boys, NAPA, RockAuto, CarParts.com, Euro Car Parts, Halfords, GSF Car Parts, AUTODOC, Oscaro, kfzteile24, A.T.U, Norauto, Feu Vert, Mister-Auto, Repco, Supercheap Auto, Autobarn, Canadian Tire, Mekonomen and Inter Cars. That is 23 retailers across the US, UK, Europe, Canada and Australia. The list is mine, not a published ranking.
- None scores above 1 of 9. 9 were read in full, 6 in part, 7 refused our checker and CarParts.com never opened from Europe.
- Every point but one is a Wikidata entry, which lives on Wikidata, not on the store's site. The exception is AUTODOC's UK site, whose point is an llms.txt with no sections.
- None runs an MCP server, UCP, WebMCP, A2A or OpenAPI that our checker could find. Three publish an llms.txt (Halfords, AUTODOC UK, Canadian Tire), and two of those have no sections.
- The same company can look different by domain. autodoc.co.uk was read in full and serves an llms.txt. autodoc.de refuses our checker on the homepage and on llms.txt, and its Wikidata entry counts only there, because the entry names the .de domain.
eBay, checked as the one marketplace, scores 1 of 8 readable, also from Wikidata, with no agent files at the root of ebay.com.
Some of them also turn people away by location. NAPA refused me from my own connection and opened through a UK VPN, while our checker, running from a cloud network, read it in full. AUTODOC's German site and A.T.U I also opened through a VPN.
Fitment data and AI agents: where parts stores keep "does it fit"
This is the part a parts buyer cares about, and the nine checks do not touch it. Reading one product page per store, I found three places the fit answer lives.
Fitment in the product markup: three stores
- 1A Auto lists each car as its own
isAccessoryOrSparePartForentry with make, model and year, plus interchange part numbers. The most complete markup in the pilot, from a store that scores 0 of 9. - AUTODOC marks up 14 vehicles down to engine and power, but they are the cars customers bought the part for, not the fit list. The page itself says the part fits cars the markup leaves out.
- ECS Tuning puts 71 fitment rows in its markup as text values ("Audi B5 A4 Quattro 1.8T"), readable but not a structured vehicle.
Fitment in the page, not the markup
FCP Euro has the fullest fit table I saw, down to engine code and the brake size the car left the factory with, all in the HTML a crawler receives. It scores 0 of 9 and none of that table is in its markup. Winparts.fr lists 53 vehicle rows with engine codes, Pelican Parts gives year ranges per body variant, and exist.ua names 15 makes and about 90 models in the description. A crawler reading the page can find the cars. An agent that trusts structured data only cannot.
Fitment behind a vehicle picker
RockAuto, Summit Racing, Euro Car Parts, Halfords, AutoZone, Advance Auto Parts and Oscaro answer "does it fit" only after the visitor picks a car, by script. The served page names no vehicle, or only a make. Mister-Auto goes furthest: its page text says the part "est compatible avec tous les véhicules de cette liste" (compatible with every vehicle in this list) while the page data holds an empty vehicle list, under a footer notice from TecDoc forbidding copying of its data.
Bot protection decides which AI agents reach auto parts stores
Fifteen sites refused our checker outright, and I wanted to know if that meant agents are refused too. On two Dutch stores that are very likely one operator (same catalogue, same prices, same protection), mijnautoonderdelen.nl and carpartsdirect.nl, I tested it:
- Our checker, and PowerShell requests from a home connection under both a Chrome and a GPTBot name, all got 403.
- A real browser opened both stores normally. With the user-agent set to Googlebot, both showed Cloudflare's "verifies you are not a bot" page.
- ChatGPT in an ordinary chat with search listed live battery prices from the store, to the cent, including a product it was not first asked about.
- Claude in the chat could not open the page. Claude driving a real browser on my own computer could.
So the protection there passes real browsers and at least one AI company's fetcher, and refuses requests it cannot verify, our checker included. Two other stores went further and blocked me as a person in a normal browser: motointegrator.pl and repco.com.au. Mister-Auto runs DataDome instead of Cloudflare and opened for me while refusing the checker.
For a store owner this means "could not check" in our report is a statement about our checker, not about agents. The record that shows which agents your protection lets in is your own bot management dashboard, read per agent. Turning protection off is the wrong fix, because it also lets in the scrapers and card testers it exists to stop.
Product data errors AI agents read on auto parts pages
Where there was markup, I often found it saying something the page does not:
- Halfords puts the EAN barcode in the
mpnfield, and Brembo's part number only in the product name. - Mister-Auto writes its rating and review properties in lower case (
aggregaterating,ratingvalue) and its breadcrumb asBreadCrumbList. Schema.org names are case-sensitive, so a strict reader drops them. - Pelican Parts serves product microdata with an empty name and an empty image.
- anjautoparts.com names the store as the brand of the part, and Shopify localises the price and currency to the visitor.
- avtopro.ua shows three different price ranges for one part across its markup, its page and its meta description.
- Advance Auto Parts has no Offer in its markup at all, so no price or stock reaches an agent from it.
How an auto parts store can raise its AI agent readiness
- Put the fit list in the markup. One
isAccessoryOrSparePartForentry per vehicle, with make, model, years and engine where it matters. 1A Auto shows it can be done at scale. - Serve the fit list in the HTML. A list that loads only after a vehicle pick is invisible to anything that does not pick one.
- Fix identifiers. The maker's part number in
mpn, the barcode ingtin, property names spelled the way schema.org spells them. - Check your bot protection per agent. Look up which AI fetchers it passes and which it challenges, and allow the verified ones you want. Do not switch it off.
- Tie a Wikidata entry to your domain. Several stores have an entry that lists a different domain, so it does not count for the site they sell from.
- If you publish an llms.txt, give it sections. Two files in this pilot had none and do not meet the format they are named after.
To see where your own store stands on the nine checks, run it through our agent readiness checker. It is free and needs no login.
All 68 auto parts sites and their agent readiness results
| Site | Kind | Result |
|---|---|---|
| rockauto.com | Parts store, US | 0 of 9 |
| partsgeek.com | Parts store, US | 0 of 9 |
| 1aauto.com | Parts store, US | 0 of 9 |
| fcpeuro.com | Parts store, US | 0 of 9 |
| ecstuning.com | Parts store, US | 0 of 9 |
| pelicanparts.com | Parts store, US | 0 of 9 |
| asian-autoparts.com | Parts store | 0 of 9 |
| avtopro.ua | Parts marketplace, Ukraine | 0 of 9 |
| britpart.com | Parts store, UK | 0 of 9 |
| milneroffroad.com | 4x4 parts store, WooCommerce | 0 of 9 |
| mercadocar.com.br | Parts store, Brazil | 0 of 9 |
| fortbras.com.br | Parts store, Brazil | 0 of 9 |
| kokkinoplitis.gr | Parts and accessories, Greece | 0 of 9 |
| johnconaty.com | Tractor parts, Ireland | 0 of 9 |
| pnevmatike.com | Tyres, Slovenia, Magento | 0 of 9 |
| 12volt.sk | Accessories, Slovakia, Magento | 0 of 9 |
| sinspeed.co.uk | Repairs and shop, UK, WooCommerce | 0 of 9 |
| summitracing.com | Performance parts, US | 1 of 9 |
| eurocarparts.com | Parts chain, UK | 1 of 9 |
| autodoc.co.uk | Parts store, UK and Europe | 1 of 9 |
| partsavatar.ca | Parts store, Canada | 1 of 9 |
| mekonomen.se | Parts chain, Sweden, Magento | 1 of 9 |
| classic-volvo.com | Parts store, Magento | 1 of 9 |
| monotaro.com | Industrial supplies, Japan | 1 of 9 |
| ige.ie | Garage equipment, Ireland, Magento | 1 of 9 |
| lkqcorp.com | Distributor, corporate site | 1 of 9 |
| sonicautomotive.com | Dealer group, corporate site | 1 of 9 |
| napaonline.com | Parts chain, US | 1 of 9 |
| atu.de | Parts and workshop chain, Germany | 1 of 9 |
| gsfcarparts.com | Parts chain, UK | 1 of 9 |
| supercheapauto.com.au | Parts chain, Australia, Salesforce | 1 of 9 |
| canadiantire.ca | General retailer with parts, Canada | 1 of 9 |
| ptc-auto.ro | Accessories, Romania, Shopify | 3 of 9 |
| tradevehicleparts.co.uk | Body parts, UK, Shopify | 3 of 9 |
| anjautoparts.com | Parts store, Shopify | 3 of 9 |
| as3performance.com | Motorcycle parts, Shopify | 4 of 9 |
| autoricambi4x4.it | 4x4 parts, Italy, Shopify | 4 of 9 |
| autozone.com | Parts chain, US | at least 1 (1 of 5 readable) |
| advanceautoparts.com | Parts chain, US | at least 1 (1 of 6 readable) |
| pepboys.com | Parts and service chain, US | at least 1 (1 of 5 readable) |
| carquest.com | Parts brand site, US | at least 1 (1 of 3 readable) |
| kfzteile24.de | Parts store, Germany | at least 1 (1 of 8 readable) |
| autodoc.de | Parts store, Germany | at least 1 (1 of 5 readable) |
| autobarn.com.au | Parts chain, Australia | at least 1 (1 of 5 readable) |
| ebay.com | Marketplace | at least 1 (1 of 8 readable) |
| exist.ua | Parts store, Ukraine | at least 1 (1 of 6 readable) |
| carid.com | Parts and accessories, US | at least 0 (0 of 6 readable) |
| boodmo.com | Parts marketplace, India | at least 0 (0 of 8 readable) |
| winparts.fr | Parts store, France | at least 0 (0 of 8 readable) |
| recoautos.com | Parts store | at least 0 (0 of 7 readable) |
| mm-opelparts.com | Opel parts store | at least 0 (0 of 7 readable) |
| sweden-parts.pl | Parts store, Poland | at least 0 (0 of 7 readable) |
| halfords.com | Parts and bikes chain, UK | Refused our checker |
| oscaro.com | Parts store, France | Refused our checker |
| repco.com.au | Parts chain, Australia | Refused our checker |
| oreillyauto.com | Parts chain, US | Refused our checker |
| mister-auto.com | Parts store, Europe | Refused our checker |
| mijnautoonderdelen.nl | Parts store, Netherlands | Refused our checker |
| carpartsdirect.nl | Parts store, Netherlands | Refused our checker |
| motointegrator.pl | Parts store, Poland | Refused our checker |
| ucando.pl | Parts store, Poland | Refused our checker |
| intercars.com | Distributor, Poland | Refused our checker |
| norauto.fr | Parts and workshop chain, France | Refused our checker |
| feuvert.fr | Parts and workshop chain, France | Refused our checker |
| bustruckparts.com | Used truck and bus parts, Estonia, Magento | Refused our checker |
| dormanproducts.com | Parts maker, US | Refused our checker (site down or closed to us) |
| genpt.com | Parts group, corporate site | Refused our checker (site down or closed to us) |
| carparts.com | Parts store, US | Never scored, did not open from Europe |
Auto parts agent readiness study method and limits
Dates, checker version and what was read
Checks ran from 7 to 10 November 2026. The checker changed twice during the pilot, both on 9 November: it started counting Shopify's WebMCP adapter, and it stopped reading a bot-check page as a store's homepage. Stores checked before those changes are marked in our working notes. Product pages were read by hand, one page per store where a page was read, so a fitment finding describes that page, not the whole catalogue.
What the checker cannot see
The nine checks read public files and a Wikidata entry. They do not measure fitment, price accuracy or which real agents a store's bot protection lets in. Those findings come from reading pages and from the agent tests above, on a handful of stores, so they show what happens, not how often.
What this means for auto parts stores and AI shopping agents
I started this pilot expecting the agent files to be the story. They are close to empty everywhere, from RockAuto to AutoZone, and the stores that score highest are the ones whose platform did the work for them.
What decides whether an agent can sell a part is the fit list, and most of these stores already have one. FCP Euro, winparts.fr and Pelican Parts show it to every visitor. Moving that list into the product markup, one vehicle per entry, is work a parts store can start this month, and no protocol helps an agent that cannot tell whether the part fits the car.
Want to know where your own store stands? Run it through our agent readiness checker, free and without a login, then open one of your product pages and look for the cars in its markup.
FAQ
How ready are auto parts stores for AI shopping agents?
Not very, on the evidence of 68 sites checked in November 2026. Our checker could read 37 of them in full: 17 publish nothing for agents, 15 have one point, and the 5 that score 3 or 4 are all on Shopify, which supplies most of those points itself. None of the 23 biggest retailers in the set scores above 1 of 9.
Do auto parts stores put fitment data where AI agents can read it?
Rarely in the markup. Of the product pages we read, 3 stores name the cars a part fits in their structured data: 1A Auto, AUTODOC and ECS Tuning. Others, like FCP Euro and winparts.fr, have full fit tables in the page HTML but not in the markup, and many show fit only after the visitor picks a car.
Why do Shopify auto parts stores score higher on agent readiness?
Because Shopify serves a UCP profile, an MCP endpoint and a WebMCP adapter on every store. A Shopify store reaches 3 or 4 of 9 without building anything, while a Magento or WooCommerce store starts at 0. The platform points do not fix the product data: one Shopify store's own fitment and the Shopify catalog entry for the same part number gave different model years.
Does a store that refuses the checker also block AI agents?
Not necessarily. On one Dutch store behind Cloudflare's bot check, our checker and plain PowerShell requests were refused, but ChatGPT's search read live prices and Claude driving a real browser opened the page. Two other stores blocked even a person in a normal browser. The store's own bot management dashboard shows which agents get in.
What should an auto parts store fix first for AI agents?
The fit list. Put one isAccessoryOrSparePartFor entry per vehicle in the product markup, serve the same list in the page HTML instead of behind a vehicle picker, and put the maker's part number in mpn and the barcode in gtin. Bot protection should be checked per agent, never switched off.