Agentic Commerce Readiness Audit — UCP, ACP & Product Schema
Pricing
from $16.00 / 1,000 merchant readiness audits
Agentic Commerce Readiness Audit — UCP, ACP & Product Schema
Audit stores for agentic commerce readiness: UCP profile, ACP discovery file, Product JSON-LD, policies and crawlability, scored out of 100. USD 0.02 per store.
Pricing
from $16.00 / 1,000 merchant readiness audits
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Agentic Commerce Readiness Audit checks a merchant website's public Universal Commerce Protocol (UCP) profile, Agentic Commerce Protocol (ACP) discovery file, Product JSON-LD, store policies and crawlability, and returns one 100-point readiness score per store with every finding and the fix for it. It costs USD 20.00 per 1,000 audited stores on the FREE tier (USD 0.020001 per report) plus a start fee of about USD 0.006 per run, so a one-store audit costs about USD 0.026.
It is built for ecommerce teams, agencies, technical SEO specialists and commerce developers who need to know whether AI shopping agents can find, read and eventually check out from a storefront.
What does the agentic commerce audit check?
It scores five categories that add up to exactly 100 points, using only what the storefront publishes publicly.
| Category | Points | What is checked |
|---|---|---|
| UCP readiness | 30 | /.well-known/ucp profile, JSON shape, ucp.version date, services registry, HTTPS endpoint, dev.ucp.shopping.checkout capability, payment-handler registry, official schema validation, no private keys exposed |
| ACP readiness | 25 | /.well-known/acp.json, protocol name and versions, HTTPS api_base_url, REST transport, checkout service, capabilities.services, Cache-Control, extension URLs |
| AI-shopping discoverability | 20 | Product pages found, schema.org Product JSON-LD, Offer price and currency, availability, SKU/GTIN/MPN, canonical URLs, Open Graph, /llms.txt |
| Trust and policies | 15 | Returns, shipping, privacy, contact and terms pages linked from the sampled pages; Organization or OnlineBusiness JSON-LD |
| Technical access | 10 | HTTPS, a usable public homepage, robots.txt, XML sitemap, no homepage noindex |
Grades: A is 90–100, B 75–89, C 60–74, D 40–59, F below 40. A high score is not a certification for any AI platform's merchant program, and a low score only means the public evidence is missing.
How do I check whether my store supports UCP or ACP?
Add the store's address to startUrls and run it; each report's ucp and acp objects say whether the discovery file exists, which version it declares, which capabilities and payment handlers it lists, and every problem found.
{"startUrls": [{ "url": "https://www.allbirds.com" },{ "url": "https://www.gymshark.com" }],"maxPagesPerSite": 8,"requestTimeoutSecs": 12,"checkProtocolResources": true}
startUrls: 1–20 public HTTPS store URLs. A bare domain such asshop.example.comis upgraded to HTTPS.http://URLs, IP addresses, single-word hosts and URLs with a username or password are rejected before any work and are not charged. Exact duplicates are audited once.maxPagesPerSite: 1–20 HTML pages sampled per store (default 8). Product-like links are visited first, androbots.txtrules are respected for every followed link.requestTimeoutSecs: 5–30 seconds per request (default 12).checkProtocolResources: validates a found UCP profile against the official schema for the version it declares (default on).proxyConfiguration: optional. Direct HTTPS is tried first; an Apify Proxy route you configure is used only after a block or network failure.
What data does each report return?
One dataset record per audited store:
| Field | What it means |
|---|---|
requestedUrl, finalUrl, domain | Your input, the address after up to four safe redirects, and its host |
outcome | complete, partial (UCP or ACP file has issues) or blocked (homepage could not be read) |
readinessScore, readinessGrade | 0–100 score and A–F grade |
categoryScores, categoryMaximums | Points earned per category beside the 30/25/20/15/10 maximums |
ucp, acp | Discovery URL, HTTP status, found/valid flags, version, API endpoint, capabilities, payment handlers, issues |
pagesScanned, productPagesDetected, productJsonLdCount | Size and product coverage of the sample |
findings | All 37 checks with pass/fail, severity, points, evidence URL and recommendation |
topRecommendations | Up to 8 distinct fixes, highest points first |
summary, auditedAt | One-line result and audit time |
The OUTPUT key-value record adds the run outcome, requested and delivered counts, warning count, average score and all reports.
When should I use it, and when not?
Use it when you need to:
- check a store, a client list or competitors for UCP and ACP discovery files before an agentic-commerce launch;
- find missing Product JSON-LD, price, availability or identifiers that AI shopping surfaces read;
- give a team a scored, repeatable checklist and re-run it after fixes.
Do not use it when you need:
- an authenticated checkout or conformance test: it never creates a cart or calls checkout endpoints;
- a full technical SEO crawl: use SEO Site Checkup;
- how answerable a page is for AI assistants: use GEO Content Auditor;
- the store's product catalog itself: use Shopify Product Scraper.
Use it from an AI assistant
Agentic Commerce Readiness Audit works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add it with https://mcp.apify.com/?tools=muhammadafzal/agentic-commerce-readiness-index, then ask, for example: "Audit allbirds.com and gymshark.com for UCP and ACP readiness and list the three highest-value fixes for each."
Run it with the API
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/agentic-commerce-readiness-index').call({startUrls: [{ url: 'https://www.allbirds.com' }],maxPagesPerSite: 8,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].summary);
Python (apify-client 3.x):
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("muhammadafzal/agentic-commerce-readiness-index").call(run_input={"startUrls": [{"url": "https://www.gymshark.com"}], "maxPagesPerSite": 8})items = client.dataset(run.default_dataset_id).list_items().itemsprint(items[0]["readinessScore"], items[0]["topRecommendations"])
What does the output look like?
Two reports produced by the Actor's audit code on 2026-10-26 with a 5-page sample, shortened (findings cut to one entry, capability lists trimmed):
[{"requestedUrl": "https://www.allbirds.com","finalUrl": "https://www.allbirds.com/","domain": "www.allbirds.com","outcome": "complete","readinessScore": 50,"readinessGrade": "D","categoryScores": { "ucp": 30, "acp": 0, "aiShopping": 4, "trust": 6, "technical": 10 },"ucp": {"discoveryUrl": "https://www.allbirds.com/.well-known/ucp","found": true,"httpStatus": 200,"valid": true,"version": "2026-08-25","capabilities": ["dev.ucp.shopping.checkout", "dev.ucp.shopping.cart", "dev.ucp.shopping.catalog.search"],"paymentHandlers": ["com.google.pay", "dev.shopify.card", "dev.shopify.shop_pay"],"issues": []},"acp": { "discoveryUrl": "https://www.allbirds.com/.well-known/acp.json", "found": false, "httpStatus": 404, "issues": [] },"pagesScanned": 5,"productPagesDetected": 0,"productJsonLdCount": 0,"findings": [{ "code": "ACP_DISCOVERY", "category": "acp", "severity": "high", "passed": false, "details": "No ACP discovery document was found (HTTP 404).", "recommendation": "Publish a public ACP discovery document at /.well-known/acp.json.", "pointsAwarded": 0, "pointsPossible": 5 }],"topRecommendations": ["Publish a public ACP discovery document at /.well-known/acp.json.","Add valid schema.org Product JSON-LD to every canonical product page."],"summary": "www.allbirds.com scored 50/100 (D): UCP 30/30, ACP 0/25, AI shopping 4/20, trust 6/15, technical 10/10."},{"requestedUrl": "https://www.gymshark.com","domain": "www.gymshark.com","outcome": "complete","readinessScore": 30,"readinessGrade": "F","categoryScores": { "ucp": 0, "acp": 0, "aiShopping": 5, "trust": 15, "technical": 10 },"ucp": { "found": false, "httpStatus": 404, "issues": [] },"acp": { "found": false, "httpStatus": 404, "issues": [] },"pagesScanned": 5,"productPagesDetected": 2,"productJsonLdCount": 0,"summary": "www.gymshark.com scored 30/100 (F): UCP 0/30, ACP 0/25, AI shopping 5/20, trust 15/15, technical 10/10."}]
How much does it cost? (pricing)
Pay per event. Apify platform usage is included in these prices.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM / DIAMOND |
|---|---|---|---|---|---|
| Merchant readiness audit (one report) | USD 0.020001 | USD 0.0195 | USD 0.019 | USD 0.016 | USD 0.016 |
| Actor start (per started GB of allocated memory) | USD 0.006251 | USD 0.006094 | USD 0.005938 | USD 0.005 | USD 0.005 |
The default memory is 512 MB, so a run has one start event. Worked totals on the FREE tier:
- One store: USD 0.020001 + USD 0.006251 = USD 0.026
- 20 stores in one run (the maximum): 20 × USD 0.020001 + USD 0.006251 = USD 0.406
A report is charged when it is saved, including a blocked report for a store whose homepage refused the audit. Rejected inputs produce no report and no report charge.
How fast is it, and what are the limits?
Stores are audited one after another. A 5-page sample took 11–12 seconds per store in a 2026-10-26 test, and the default run timeout is 600 seconds.
- It is a sample, not a crawl: 8 pages by default. Allbirds scored 0 product pages in a 5-page sample, so raise
maxPagesPerSitewhen product checks fail on a store you know has products. - HTML as served: Product JSON-LD or links added later by JavaScript are not seen.
- Public evidence only: ACP payment handlers are negotiated per checkout session, so they are not guessed. Feeds hosted by a commerce partner are not visible.
- Responses are capped at 3 MB, redirects at four, and private or reserved network addresses are blocked.
FAQ
What is agentic commerce?
Shopping where an AI agent searches, compares and buys on a person's behalf. UCP and ACP are the open protocols merchants publish so agents can discover their catalog and checkout services.
Does this Actor test checkout or place orders?
No. It reads public files and pages only. It never creates carts, calls checkout endpoints, reserves stock or handles payment data.
Does a high score mean AI assistants will list my products?
No. The score shows which public signals are present. Program acceptance, feed quality and checkout behavior are decided by each platform.
Can I audit competitors' stores?
Yes, any public HTTPS storefront, up to 20 per run. Audit only sites you are allowed to inspect and keep request volume low.
Why did a store get full UCP points but no product points?
UCP points come from /.well-known/ucp, while product points come from the sampled HTML. A small sample can miss product pages; increase maxPagesPerSite.
Can it fix the problems it finds?
It reports them with a recommendation per check. Changes are made in your store platform or theme.
Related Actors
- GEO Content Auditor: AI answerability score for content pages.
- SEO Site Checkup: technical website audit.
- Shopify Product Scraper: products, variants and prices from Shopify stores.
- AliExpress Scraper and Chemist Warehouse Scraper: product data from large retail catalogs.
Legal and compliance
Audit only storefronts you are authorized to inspect, in line with their terms, robots rules and applicable law. Do not put API keys, cookies, customer data or private network URLs in the input. Follow a good score with authorized protocol conformance tests before a production launch.
Last verified: 2026-10-26
