Skip to main content
CANLAH AI
Try

Open dataset · CC BY 4.0

Agent-Readiness of 50 Cross-Border DTC Brands (2026)

An open dataset measuring whether the owned storefronts of 50 Chinese-origin cross-border DTC brands with US-facing storefronts (47 reachable) 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 at collection was issued by Shopify, not by the brand.

Collected 2026-08 · UCP issuer attribution re-verified 2026-08-21 · 50 brands, 22 fields

Sample frame. 50 Chinese-origin cross-border DTC brands with US-facing storefronts (47 reachable). Purposive sample; do not project onto DTC brands generally.

Issuer attribution. 25 of 25 UCP manifests found at collection (2026-08) were Shopify-issued: 22 confirmed live by the powered-by response header on 2026-08-21, 3 (Anker, Soundcore, eufy) no longer served and attributed by a collection-time *.myshopify.com host hint.

What it found

  • 25 / 47

    reachable storefronts serving a UCP manifest

    53.2%

  • 25 / 25

    of those manifests issued by Shopify, not the brand

    22 live on 2026-08-21 · 3 by host hint

  • 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.com address — 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 the powered-by response header: 22 answered Shopify. 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. An earlier version of this page reported that three manifests had gone dark between collection and re-verification (~12% churn). That was withdrawn in v1.0.2: the collector requested /.well-known/ucp while the re-verification script requested /.well-known/ucp.json, and self-hosted frontends answer only the first — so the three were false negatives. On re-test all 25 manifests were still served.
  • What the corrected re-test did surface is sharper: 22 of the 25 manifests were rewritten between April and August 2026 (version 2026-04-082026-08-25), while the three self-hosted frontends stayed on the old version. A panel that tracks only whether a file exists would report that month as “nothing happened”. Existence is the wrong instrument; version and content are.
  • 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.

Pang, H. & Canlah AI (2026). Agent-Readiness of 50 Cross-Border DTC Brands. Dataset v1.0.0. Zenodo. https://doi.org/10.5281/zenodo.22103178

@misc{canlah_ai_2026_agent_readiness,
  title  = {Agent-Readiness of 50 Cross-Border DTC Brands},
  author = {Pang, Haoyang and {Canlah AI}},
  year   = {2026},
  note   = {Dataset, v1.0.0, CC BY 4.0},
  doi    = {10.5281/zenodo.22103178},
  url    = {https://canlah.ai/data/agent-readiness-2026/}
}
Version
v1.0.0 — collected 2026-08, issuer attribution re-verified 2026-08-21. Corrections get a dated entry here.
Code
https://github.com/Canlah-AI/agent-readiness-2026
Mirror
https://huggingface.co/datasets/CanlahAI/agent-readiness-2026
Archive
swh:1:dir:d14734936dec4add414c537398d7d5d7b133c1ac
DOI
https://doi.org/10.5281/zenodo.22103178 (Zenodo)

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.