ARC · OPEN DATA
3,324 online stores checked: can AI shopping agents buy from them?
At 39.6% of them, an AI agent can get a checkout link. One plain answer per store, free to download.
Download store_answers.csv3,324 rows · Parquet · snapshot 2026-10-09.r3 · CC-BY-4.0 · Hugging Face
What the data says
Checked 6 Oct 2026 to 9 Oct 2026. The check finished for 3,307 stores; 17 did not respond in time and are marked not_tested.
- 39.6% (1,309): an AI agent can get a checkout link through the store's agent connection.
- 44.9% (1,486): an AI agent can search products through an agent connection.
- 41.2% (1,362): no agent connection found, so an agent has to click through the site like a person.
- 10.5% (347): bot protection blocked ARC's agent check.
- Shopify stores: 81.2% have a checkout link agents can use. Stores not detected as Shopify: 2.6%.
Every answer comes from ARC's automated HTTP check (a plain program, not an AI model or a browser). 82 stores also have a browser cart test, shown separately in browser_cart_test. A checkout link is not a purchase: ARC never pays or places an order. A “no” is about agent connections only.
What each column means
For store_answers.csv, one row per store.
domain- The store's website, without www.
store_name- Store name from ARC's curated list. Empty for stores added by the public.
category- What the store sells (ARC's label). Empty when ARC has not labelled it.
platform- Shop software detected from the homepage (for example Shopify). "Not detected" means no known fingerprint (often a custom site). Empty means the homepage could not be read.
market- Where the storefront sells (ARC's curated label, not measured). Empty when not labelled.
checked_at- Date (UTC) of the latest automated check.
can_agents_find_products- Could an AI agent search the store's products through a machine-readable agent connection and get a product back (the specific product, for the ~90 Index stores where ARC tests one)? yes / no / blocked (bot protection returned a block page to ARC's check) / not_tested (the check did not finish). "no" is about agent connections only: an agent may still click through the website like a person.
can_agents_read_price_and_stock- Does the product page ARC opened list price and stock in structured data agents can read (schema.org Product)? yes / no / not_tested (no product page could be opened).
can_agents_get_checkout_link- Did the agent connection hand back a checkout link for a product it returned? yes / no / not_tested. ARC stops there: it never pays or places an order, so "yes" means an agent can reach checkout, not that a purchase was completed.
agent_catalog_type- Which agent connection answered with a product search tool: Shopify UCP MCP, Shopify Storefront MCP, or none.
ucp_profile_valid- Does the store publish a valid Universal Commerce Protocol profile at /.well-known/ucp? yes / no / unknown (blocked or errored).
webmcp- Does the homepage declare WebMCP tools for in-browser agents? yes / no / not_tested (checks before 6 Oct 2026).
blocks_ai_crawlers- Does robots.txt disallow at least one of the AI crawlers ARC tracks (answer, search or training bots) from the homepage or tested product? yes / no / unknown (robots.txt could not be read). A rule in a file, not an observed block.
blocks_ai_answer_agents- Same, but only for AI assistants fetching pages for a user (for example ChatGPT-User, Perplexity-User). yes / no / unknown.
browser_cart_test- Result of ARC's separate browser cart test, where it exists (about 90 stores): for example "2 of 5 added to cart". Empty means no browser test.
verdict- A plain answer to "can AI agents buy from this store?", the same sentence as the store's ARC page. The strongest answer is "AI agents can reach checkout": ARC's agent got a checkout link. ARC always stops before paying, so it never claims a completed purchase.
top_fix- The most useful change for the store, in plain words, the same as the first fix on its ARC page. Empty when nothing is needed.
checked_by- How the answer was measured: "automated HTTP check" or "automated HTTP check + browser cart test".
evidence_url- The store's page on ARC with the full details.
tested_url- The page the check started from: the homepage for most stores, one product page for Index stores (query string removed).
source- How the store got into ARC: index (weekly browser Index), directory (ARC's curated list), submitted (added by the public) or checked (one-off check).
snapshot_date- Date of this snapshot.
method_version- Version of ARC's method used.
All files
| File | Rows | Formats |
|---|---|---|
Store answers (start here) store_answersOne row per store, in plain words: can AI agents find products, can they get a checkout link, what blocks them, one-sentence verdict, top fix, and a link to the store's ARC page. Each row says whether it comes from the automated HTTP check alone or also ARC's browser cart test. | 3324 | CSV · Parquet |
Index stores storesLatest completed ARC Index result per store: score, browser personas that carted, per-persona outcome (persona_a to persona_e), failure label. | 89 | CSV · Parquet |
Rails checks rails_checksLatest HTTP check per store: WebMCP, storefront MCP, UCP profile, catalog tool, cart link, Checkout WebMCP (status, nullable detection, tool names; Shopify only), platform (homepage fingerprint; unknown = Not detected, empty = unmeasured). | 3324 | CSV · Parquet |
Adoption history adoption_historyWeekly counts by source (index, rails) and metric, long format. Same definitions as stores and rails_checks. | 17 | CSV · Parquet |
Personas personasThe five ARC browser shopper personas: neutral label, style, and legacy alias id. | 5 | CSV · Parquet |
Protocol Matrix protocol_matrixDeclared / Valid / Usable / Transacts counts per protocol with evidence labels. | 24 | CSV · Parquet |
Immutable copy: /data/2026-10-09.r3/. Version folders never change: a second export on the same date is published as YYYY-MM-DD.r2, .r3 and so on, and latest/ moves to it. Every version: versions.json. Machine-readable: manifest.json. Also on Hugging Face: ArcReport/arc-agent-commerce (same files, refreshed weekly; load_dataset("ArcReport/arc-agent-commerce", "store_answers")). Code and docs: github.com/abab7575/arc-open. Field reference: dataset card. Free charts and citable summaries from live checks: research pages (by platform, market, category and policy clarity). New snapshot every Monday.
Benchmark test set: ARC-100 v1
A fixed, versioned set of 100 real stores (frozen 2026-10-07), balanced across categories, markets and platforms, for comparing shopping agents on the same stores. It never changes inside a version. CSV · JSON · card · Open agent leaderboard → · Submit your agent's run →
Licence
Free to use, share and adapt under CC-BY-4.0. Attribution: ARC, arcreport.ai. The files hold ARC's own measurements: scores, signals, URLs and dates. No scraped page text, no emails, no account or user data.
Cite as
ARC (2026). ARC Agent Commerce Index, snapshot 2026-10-09.r3. https://www.arcreport.ai/data/2026-10-09.r3/
@misc{arc_agent_commerce_index_2026,
title = {ARC Agent Commerce Index: open dataset},
author = {{ARC}},
year = {2026},
note = {Snapshot 2026-10-09.r3, generated 2026-10-09T16:03:08.069Z, method arc-method-2026.10},
howpublished = {\url{https://www.arcreport.ai/data}},
license = {CC-BY-4.0}
}Citation file: arcreport.ai/CITATION.cff · method changelog
How it is measured
Index scores come from five browser cart attempts per store that stop before payment. Rails checks are live HTTP checks of WebMCP, storefront MCP, the UCP profile and the catalog tool. Each row has an evidence column: measured when the check completed cleanly, inferred when it was blocked, errored or partial. Full method: /methodology. Definitions are shared: stores and the index rows of adoption_history both use the latest completed scan per Index store per week, so the current week matches; rails metrics count each host once per week. Persona columns are persona_a to persona_e (ARC browser personas, not named agents); legacy ids are in personas. The rails_checks.platform field records homepage platform fingerprints: unknown means Not detected (including headless/custom stores), and empty means unavailable or older evidence. WebMCP is empty before 18:00 UTC on 6 Oct 2026, when detection started. Changes: method changelog. Grow it: check any store or submit up to 50; submitted stores carry source=submitted in rails_checks. Cross-protocol summary (UCP, ACP, PAP, WebMCP, MCP, agent payments): Protocol Matrix.
Changelog
- 2026-10-09 2026-10-09.r3: verdict wording no longer overclaims. The strongest answer is "AI agents can reach checkout at X" (ARC never measures a completed purchase), browser cart failures are stated next to it, and stores without an agent catalog read "X doesn't offer AI agents a product catalog yet".
- 2026-10-09 2026-10-09.r2: store_answers verdict and top_fix now use the same wording as each store's ARC page; adds can_agents_read_price_and_stock (product page structured data).
- 2026-10-09 New headline table store_answers: one row per checked store (3,000+), plain yes/no answers, verdict sentence, top fix, robots.txt AI-crawler rules, and checked_by (automated HTTP check vs browser cart test). manifest.json gains headline stats. Existing tables unchanged.
- 2026-10-08 rails_checks adds checkout_webmcp_status, checkout_webmcp (nullable), and checkout_webmcp_tools; Shopify-only GET checkout HTML detection. Unknown and not checked are separate from measured no. adoption_history adds matching Shopify coverage and outcome counts. Buyer approval required; no purchase completed.
- 2026-10-07 Snapshots are immutable per version: a later export on the same date becomes YYYY-MM-DD.rN and never overwrites. manifest.json gains snapshot_version, revision, generated_at and supersedes; versions.json lists every version. The five same-day 2026-10-07 regenerations are restored as 2026-10-07 to 2026-10-07.r5.
- 2026-10-07 rails_checks gains a source column (index, directory, submitted, checked). Anyone can add stores at /agent-checkout/submit.
- 2026-10-07 Persona columns renamed agent_* to persona_a…persona_e (legacy ids in personas.csv). adoption_history now uses the stores.csv definition (latest completed scan per Index store per week; rails: one row per host per week); stores_any_agent_carted renamed stores_any_persona_carted. WebMCP before 18:00 UTC 6 Oct is null (not measured). See /methodology/changelog.
- 2026-10-07 Added protocol_matrix: Declared / Valid / Usable / Transacts counts per protocol with evidence labels.
- 2026-10-07 First public release: stores, rails_checks and adoption_history as CSV and Parquet, CC-BY-4.0. Weekly snapshots every Monday.
Opt out or correct
Store owners can ask for a correction or removal through /contact or hello@arcreport.ai.