Methodology
Exactly how the numbers are produced. Crawl date: 2026-10-17.
What this does and doesn't mean
- UCP profile found: the store publishes a Universal Commerce Protocol profile at
/.well-known/ucp, the official machine-readable signal that it supports AI shopping agents, and lists what it supports (for example checkout). It doesn't guarantee that any particular assistant buys from it; that depends on the assistant. - No UCP profile found: we found no UCP signal. It does not mean AI agents can't shop there. Agents can use a store through a normal web browser, and some stores use other protocols, such as OpenAI and Stripe's Agentic Commerce Protocol (ACP), which this index doesn't check.
- Couldn't check: the site refused or failed our request, so we don't know either way.
- We measure one public signal. We don't test purchases, and we don't rank how well a store works with any assistant.
1. What we look for
The UCP specification says platforms discover a business by fetching its business profile from /.well-known/ucp (UCP specification overview). The profile is JSON with a ucp object: protocol version, services, capabilities and payment handlers. We fetch that path on each website, plus /robots.txt, and nothing else.
2. Who we track: three segments, side by side
- Shopify stores (1188): Stores from public lists of Shopify stores.
- Big retailers (380): Retailers on Wikipedia's List of largest retail companies, or with Wikipedia articles in 10+ languages.
- Other retailers & marketplaces (708): Other retail chains, department stores, supermarkets, hypermarkets and online marketplaces listed on Wikipedia or Wikidata.
Sources: Wikipedia list pages (largest retail companies, department stores by country, supermarket chains, hypermarkets, online marketplaces) resolved to Wikidata for official websites; Wikidata queries for retail chains and e-commerce companies; and public GitHub lists of Shopify stores (ihof/shopify, dipinarora9/Shopify-Domains-Scraper, first 900 of TeamDukaan/performance). This is not a random sample of all stores; shares are shares of our list.
3. One retailer, many country sites
When a retailer's Wikidata entry lists several official websites (for example one per country), we check up to 8 of them and show them as children of one retailer. A retailer counts as publishing UCP if at least one of its sites does.
4. "Couldn't check" is not "no"
Many large retailers use bot protection that refuses automated requests. We never try to get around it. A retailer is couldn't check when every one of its sites refused us (401/403/429), timed out, failed TLS/DNS, or disallowed the path in robots.txt. These are shown separately and excluded from adoption rates. A retailer is no UCP profile only when at least one of its sites answered and had no profile.
5. How we fetch
- User-Agent:
ShopBotIndexBot/1.0 (+https://shopbotindex.com/methodology.html; reads only /robots.txt and /.well-known/ucp) - robots.txt is read first and respected.
- At most 12 websites at a time, one request at a time per site, a pause between requests, 10-second timeouts, HTTPS only. If a listed host is unreachable we try the same domain with or without
www.. - Site owners: to have your site excluded, disallow
/.well-known/ucpforShopBotIndexBotin robots.txt, or email hello@shopbotindex.com.
6. Site-level results this crawl (2656 websites)
- No profile (HTTP 404 or similar): 943
- UCP profile found: 781
- Couldn't check: timeout, TLS or DNS error: 370
- Couldn't check: request refused (401/403/429): 275
- No profile (answered with a web page, not JSON): 206
- Couldn't check: robots.txt disallows: 80
- No profile (JSON without a ucp object): 1
7. Platform
"Shopify" means the profile's endpoints or extensions reference Shopify. Anything else is shown as another platform. We can only identify a platform for stores that publish a profile.
8. Weekly changes
Each crawl is saved with its date. The "What changed" page compares retailer-level status with the previous crawl: joined, left, couldn't check this time (not counted as leaving), capability changes, and newly tracked retailers (not counted as joining).
9. AI assistants table
Only official company announcements and help-centre pages, linked per row. We don't test those integrations.
10. Add, remove or correct a store
Run a store or retailer that should be added, removed or corrected, or think a result is wrong? Email hello@shopbotindex.com with the store's domain. We re-check it in the next weekly crawl and never change a result by hand.