Open dataset · CC BY 4.0
Agent-Readiness of 50 Cross-Border DTC Brands (2026)
An open dataset measuring whether 50 cross-border DTC storefronts expose the files an AI shopping agent looks for — UCP manifests, agent payments, llms.txt, MCP, and product schema. Every one of the 25 UCP manifests found was issued by Shopify, not by the brand.
Collected 2026-08 · UCP issuer attribution re-verified 2026-08-21 · 50 brands, 22 fields
What it found
-
25 / 47
reachable storefronts serving a UCP manifest
53.2%
-
25 / 25
of those manifests issued by Shopify, not the brand
re-verified live
-
0 / 47
exposing an agent-payments endpoint
no exceptions
-
1 / 47
exposing an MCP endpoint
2.1%
-
9 / 47
with Product schema on the sampled product page
19.1%
-
6 / 47
naming any AI crawler in robots.txt at all
2 of them block one
The headline is not the 53.2%. It is that not one of those manifests was authored by the brand. Agent-readiness, at this point in 2026, is something a storefront platform switches on — not something a brand has decided.
How it was measured
- Unauthenticated HTTP requests only. No login, no crawling behind a session — nothing a brand could not reproduce against its own storefront.
- One sampled product page per storefront for the PDP schema columns, not an exhaustive catalogue scan.
- Issuer attribution is the part we redid. The original
collection labelled a manifest "Shopify" only when the host hint leaked a
*.myshopify.comaddress — that is 3 of 25, and it under-reports badly, because a Shopify store on a custom domain leaks nothing. On 2026-08-21 we re-requested all 25 manifests and read thepowered-byresponse header: 22 answeredShopify. The remaining 3 (Anker, Soundcore, eufy) no longer answer at that path at all, but their collection-time host hints were*.myshopify.com. That is 25 of 25. - Percentages use the 47 reachable storefronts as the denominator, not 50. Three did not answer.
Limits — read these before citing
- n = 50, purposively sampled from cross-border DTC brands selling into the US. Not a random sample; do not project it onto DTC generally.
- A single point in time. Three manifests went dark between collection and re-verification — roughly 12% churn in weeks, which is itself a finding.
- Presence of a file is not quality of a file. We did not evaluate whether the manifests describe the catalogue well.
- This measures what a storefront exposes. It does not measure whether any AI agent actually used it — nobody outside the engines can measure that today, and we will not claim otherwise.
Fields
| Column | Meaning |
|---|---|
| brand / domain / vertical | Identity and category. Verticals translated from the original Chinese labels. |
| reachable / home_status | Whether the homepage answered, and with what HTTP status. |
| ucp | Whether /.well-known/ucp.json returned a valid JSON manifest. |
| ucp_issuer / ucp_issuer_evidence | Who actually issues the manifest, and how we know. This column is the point of the dataset. |
| agent_payments / ai_plugin / mcp | Other agent-facing well-known endpoints. |
| llms_txt / robots_found | Whether /llms.txt and /robots.txt exist. |
| ai_agents_named / ai_agents_blocked | How many AI crawlers robots.txt names, and how many it disallows. |
| org_schema / product_schema_home / faq_schema | Structured data on the homepage. |
| product_schema_pdp / review_schema_pdp / faq_schema_pdp | Structured data on a sampled product page. |
Citing this
CC BY 4.0 — reuse it, including commercially, with attribution.
Canlah AI (2026). Agent-Readiness of 50 Cross-Border DTC Brands. Dataset. https://canlah.ai/data/agent-readiness-2026/
Found an error, or want the collection script? Write to admin@canlah.ai — corrections get a dated changelog entry on this page, not a silent edit.