Agent Ready CheckoutEdition . The pay layer for agents.

360 check, 9 Nov 2026

Instacart on the pay layer: the 360 agent-readiness check

In short

Instacart scores 54 of 100 on Ora's agent-readiness scan, a C, read 14 Nov 2026. The six payment checks did not apply to instacart.com on this read, which is how Ora treats a site it does not read as a shop. The highest score among the sellers, with a live MCP handshake and no payment protocol.

On 14 Nov 2026 the public site at instacart.com scored 54 of 100 on Ora's agent-readiness scan, a C, in Ora's E-commerce category. Instacart is the grocery delivery marketplace of the United States, selling from more than 1,500 retail banners, so this check reads the Payments layer first: the six checks that look for x402, MPP, UCP, ACP and AP2 on the domain, the same protocols this site's matrix tracks row by row. The other layers follow, with every check Ora ran and what it saw. Ora's one-line summary: Instacart offers a working MCP and llms.txt presence and a published SDK package, but lacks an OpenAPI specification and WebMCP support for agents.

The score

Instacart on Ora, read 14 Nov 2026: points per layer, with the share of each layer's maximum. 34 checks pass, 9 are partial, 50 fail and 45 do not apply to this site.
LayerPointsShareWhat the layer asks
Discovery7.5 of 1454%Can agents find and recommend it
Access23.67 of 4256%Can agents read it
Usability48.8 of 9452%Can agents use it
Payments0 of 0none applyCan agents pay
Total54 of 10054%Grade C

The pay layer

Ora did not run the six payment checks against instacart.com on this read: it marks them not applicable on a site it does not read as a shop, so the layer has no maximum and costs nothing. A marketplace that sells online can still publish any of the five protocols; the matrix says which processors and platforms carry each one. Each protocol links to its matrix row, where the processors and platforms that carry it are dated and sourced.

The six Payments checks Ora runs, on instacart.com, read 14 Nov 2026. A protocol not found costs nothing, and a check marked does not apply was not run against the site.
Payment checkResultPointsMatrix rowWhat Ora saw
x402Does not apply0 of 2x402 in the matrixNo x402 payment protocol support detected. No working way for an agent to pay was found, so payments are not scored
MPPDoes not apply0 of 2MPP in the matrixNo MPP (Machine Payments Protocol) support detected. No working way for an agent to pay was found, so payments are not scored
UCPDoes not apply0 of 3UCP in the matrixno UCP (Universal Commerce Protocol) signals detected. No working way for an agent to pay was found, so payments are not scored
ACPDoes not apply0 of 3ACP in the matrixno ACP (Agentic Commerce Protocol) signals detected. No working way for an agent to pay was found, so payments are not scored

The other layers, check by check

Every check Ora ran on instacart.com, grouped by layer, with the result, the points and what Ora recorded where its wording passes this site's gate.

Discovery: 7.5 of 14

Discovery checks on instacart.com, read 14 Nov 2026; 3 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
ARD discoveryFail0 of 1No /.well-known/ard.json, no same-site rel="ard" link, and no legacy /.well-known/ai-catalog.json
Developer resource discoverabilityPass4 of 4Pass, no detail recorded.
Brand name discoverabilityPartial1 of 3instacart.com ranks #8 for "Instacart" (searched your brand name alone: no main product term from your homepage qualified)
robots.txt AI crawler policyPartial0.5 of 1AI search crawlers: allowed in 1 of 3 checks (3 crawlers on 1 page). AI training crawlers: allowed in 0 of 2 checks (2 crawlers on 1 page), not scored. robots.txt restricts 2/3 evaluated search page/crawler pairs.
Listed in MCP registriesFail0 of 3No verified entry in the official MCP Registry or on Smithery, and no npm or PyPI package of yours that runs as an MCP server. To pass
NPM/PyPI SDK packagePass1 of 1Pass, no detail recorded.
Agent platform configsFail0 of 1Could not locate a public repo containing agent configs or rules. If our probes missed it, AI coding agents likely will too - link the repo from your homepage or docs so it's discoverable.
Agent Plugins manifestFail0 of 1No Agent Plugins manifest (plugin.json) found in discovered repos
Registry brandingPass2 of 2Pass, no detail recorded.
ChatGPT app listedFail0 of 2Not found in ChatGPT app directory
Homepage not hidden from searchPass1 of 1No noindex on the homepage: no robots, googlebot or bingbot meta tag and no X-Robots-Tag header hides it from search.

Access: 23.67 of 42

Access checks on instacart.com, read 14 Nov 2026; 4 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
Sitemap existsFail0 of 1No sitemap found
Content without JavaScriptPass5 of 5Homepage: 5640 chars, semantic headings (1 H1 + 6 H2s + 17 H3s), 14.8% content ratio. 5 of 5 sampled inner pages have text without JavaScript.
Not blocked by bot detectionPass2 of 2Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot).
Agent discovery fileFail0 of 2No agent discovery file found
A2A / agent-cardFail0 of 2No A2A agent card found at /.well-known/agent-card.json
Listed on skills.shFail0 of 1No official skills self-published on skills.sh (26 community skills with potential relation to this domain found, but only self-published official skills count)
pricing.md existsFail0 of 2No pricing.md found - agents need machine-readable pricing to compare products and make purchase recommendations
NLWeb Schema FeedsFail0 of 1No schemamap: directive in robots.txt
MCP well-known discoveryPass2 of 2MCP server referenced in llms.txt
HTTP Link headers (RFC 8288)Fail0 of 1No HTTP Link response headers (RFC 8288) found
Markdown URL fallbackFail0 of 2Homepage does not support the .md suffix. Probed https://instacart.com/index.md and it did not return markdown (expected text/markdown content-type or a heading-led non-HTML body).
Modular llms.txt per product areaFail0 of 1No section-level llms.txt found. Tried /docs/llms.txt, /api/llms.txt, /developers/llms.txt, /guides/llms.txt, /reference/llms.txt, /grocery-delivery/llms.txt, /help/llms.txt, /privacy/llms.txt, /terms/llms.txt, /instacart-plus/llms.txt.
robots.txt agent-user policyPartial0.5 of 1robots.txt restricts 2/3 evaluated page/crawler pairs. Checked 3 user-triggered agents (chatgpt-user, claude-user, perplexity-user) on 1 public page. Restricted: claude-user at https://instacart.com/ (Disallow: /
llms.txt existsPass1 of 1Found the llms.txt at https://docs.instacart.com/llms.txt.
llms.txt formattingFail0 of 2The llms.txt is 200,532 characters. Agents truncate an llms.txt past 100,000 characters, so the links after that point are never read. Keep it a short index and move the detail to the linked pages.
JSON-LD structured dataPartial0.5 of 2JSON-LD found (1 block(s)) but no identity type - use SoftwareApplication, Product, Organization, Person, or Article so agents can tell what this site is
Pricing info accessibleFail0 of 3No pricing page or pricing data found
Public API/docs linked from homepagePass4 of 4Documentation site found at https://docs.instacart.com
Agent instruction / when-to-usePartial0.67 of 1When-to-use guidance found at https://docs.instacart.com
Skills.sh skill qualityFail0 of 2No official skills on skills.sh to evaluate
JSON-LD entity linking (sameAs)Fail0 of 1No sameAs entity linking in JSON-LD - agents cannot disambiguate your brand
Metadata completenessPass1 of 1All metadata signals present: canonical URL, lang="en-US", og:image, og:type
Organization schema completenessFail0 of 1No Organization type found in JSON-LD
Trust anchor pagesPass1 of 1Pass, no detail recorded.
Markdown alternate linkFail0 of 1No sampled page advertises a markdown alternate. Add <link rel="alternate" type="text/markdown" href="..."> (or the equivalent Link response header) pointing at a markdown twin of the page.
Redirect hygienePass1 of 1Pass, no detail recorded.
Page token budgetPass1 of 1All 6 measured pages fit an agent context budget (largest ~2K tokens)
Content starts near the topPass1 of 1Pass, no detail recorded.
Code fence validityPass1 of 1Pass, no detail recorded.
OpenAPI spec publishedFail0 of 8No OpenAPI/Swagger specification found
Developer portalPass5 of 5Developer portal found at /docs
API catalog (RFC 9727)Fail0 of 2No /.well-known/api-catalog found (RFC 9727)
Markdown agent docsFail0 of 1Missing markdown content negotiation. Homepage returned text/html when probed with Accept: text/markdown (expected text/markdown), and none of the well-known root paths (/llms.md, /auth.md, /agents.md, /developers.md
Markdown content negotiation (acceptmarkdown.com)Fail0 of 1Homepage https://instacart.com does not meet the Markdown negotiation requirements: Accept: text/markdown returned text/html; charset=utf-8; Vary header missing Accept (got "none")
Bot-UA markdown servingFail0 of 1No probed bot User-Agent (ChatGPT-User, Claude-User, Perplexity-User) receives markdown when requesting HTML. Optional: detect AI-bot UAs server-side and serve them a markdown representation directly.
Agent crawler reachabilityPass1 of 1Reachable to every agent we tested - ChatGPT-User: reachable, OAI-SearchBot: reachable, Claude-User: reachable, PerplexityBot: reachable

Usability: 48.8 of 94

Usability checks on instacart.com, read 14 Nov 2026; 33 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
MCP tool descriptionsPartial1.8 of 4All 2 tools on product MCP have detailed descriptions (>= 20 chars). Descriptions grade 45/100 for depth: an agent picks well when each one runs 80 characters or more and says when to use the tool and what it returns.
MCP parameter schemasPass3 of 3Pass, no detail recorded.
MCP server identityPass1 of 1Pass, no detail recorded.
MCP tool listingPartial2 of 3product MCP exposes 2 tool(s) - consider adding more for comprehensive agent coverage
MCP tool namingPass2 of 2Pass, no detail recorded.
Public API with reachable endpointsPass8 of 8REST API documentation found at /docs/api. GraphQL endpoint at https://api.instacart.com/graphql is reachable; introspection requires authentication (API key / OAuth), which is expected for agent access.
OAuth 2.0 supportPass5 of 5OAuth endpoint found at https://instacart.com/oauth/authorize
Scoped permissionsFail0 of 5No declared OAuth scopes, security schemes, or scoped-permission documentation found
Agent onboarding frictionPass2 of 2Pass, no detail recorded.
Web Bot Auth directoryFail0 of 2No /.well-known/http-message-signatures-directory found
OAuth Protected Resource metadata (RFC 9728)Fail0 of 2No /.well-known/oauth-protected-resource found (RFC 9728)
auth.md existsFail0 of 2No /auth.md found at site root
auth.md structureFail0 of 2No /auth.md found at site root
Agent auth discovery metadataFail0 of 3Neither /.well-known/oauth-protected-resource nor /.well-known/oauth-authorization-server found. Probed: instacart.com, mcp.instacart.com, api.instacart.com.
Agent auth WWW-Authenticate hintFail0 of 1No 401 with WWW-Authenticate: Bearer resource_metadata=... found. Probed [https://instacart.com/api, https://instacart.com/api/v1, https://instacart.com/v1, https://instacart.com/v2, https://instacart.com/agent/identity
agent_auth endpoints reachableFail0 of 2No agent_auth endpoint URIs found in AS metadata or /auth.md prose; nothing to probe
MCP server / manifestPass10 of 10MCP server connected via Streamable HTTP - InstacartRecipeServer v1.0.0 (protocol 2024-11-05)
MCP error handlingPass2 of 2Pass, no detail recorded.
MCP modern transportPass1 of 1Pass, no detail recorded.
WebMCP supportFail0 of 8No WebMCP support detected - no document.modelContext / navigator.modelContext usage found
Rate limit response headersFail0 of 2GraphQL introspection auth-gated and no header convention documented on GraphQL-tagged pages
Idempotency-Key supportFail0 of 3GraphQL introspection auth-gated and no idempotency documentation found on GraphQL-tagged pages
JSON error responsesPass3 of 3Pass, no detail recorded.
CLI tool availableFail0 of 3No CLI tool found
NLWeb /ask endpointFail0 of 1No NLWeb-conformant /ask endpoint found via GET or POST
NLWeb streaming supportFail0 of 1NLWeb /ask does not support SSE streaming via GET or POST
MCP tool annotationsFail0 of 3product MCP: declared annotations grade 0/100 across the 2 tools whose names say they read, write or delete (readOnlyHint, destructiveHint); 2 declare no readOnlyHint or destructiveHint
MCP server instructionsFail0 of 1product MCP sends no instructions on initialize
MCP tools are distinguishablePass2 of 2Pass, no detail recorded.
MCP tool output schemasFail0 of 30 of 2 tools on product MCP declare an outputSchema that describes their result fields
MCP server-card.jsonFail0 of 2No MCP server card found for https://mcp.instacart.com/mcp (checked /.well-known/mcp/server-card.json, the site's ai-catalog.json, servers[].card in mcp.json, and <server>/server-card)
Product + docs MCP coverageFail0 of 2You run an MCP server for your product, but not one for your documentation. This bonus needs two MCP servers: one for your product so agents can take actions
Sandbox / test environmentPass2 of 2Pass, no detail recorded.
GraphQL typed error modelFail0 of 3GraphQL introspection auth-gated and no typed graphql error model documentation found on GraphQL-tagged pages
GraphQL versioning / deprecation policyPartial1 of 2GraphQL versioning / deprecation policy described in documentation at https://docs.instacart.com/foodstorm/api/changelog; schema not introspectable to verify
GraphQL pagination patternFail0 of 2GraphQL introspection auth-gated and no graphql pagination pattern documentation found on GraphQL-tagged pages
GraphQL async-job patternFail0 of 2GraphQL introspection auth-gated and no graphql async-job pattern documentation found on GraphQL-tagged pages
Agent-friendly 404sPartial1 of 2Partial, no detail recorded.
Accessible document structurePass3 of 3Pass, no detail recorded.
Native interactive controlsPass3 of 3Pass, no detail recorded.
Accessible names on controlsPass2 of 2Pass, no detail recorded.
Accessibility-tree injection safety (bonus)Pass2 of 2Pass, no detail recorded.
MCP Apps supportFail0 of 4No MCP Apps support detected - this product has an in-agent UI surface but exposes no ui:// resources or tool UI metadata for agents to render.
A2UI / generative UI supportFail0 of 2No A2UI or generative UI support detected
API schema complexity analysisPass2 of 2Pass, no detail recorded.
Function calling compatibilityFail0 of 2No API spec found - function calling requires discoverable endpoints

The fixes worth most points

Ora attaches an estimate to each failing or partial check: how many points the site would gain by passing it. These are the 5 with the largest estimates for Instacart.

OpenAPI spec published
Fail, 0 of 8, about 6.3 points to gain. Ora saw: No OpenAPI/Swagger specification found.
Listed in MCP registries
Fail, 0 of 3, about 4.8 points to gain. Ora saw: No verified entry in the official MCP Registry or on Smithery, and no npm or PyPI package of yours that runs as an MCP server. To pass.
WebMCP support
Fail, 0 of 8, about 3.8 points to gain. Ora saw: No WebMCP support detected - no document.modelContext / navigator.modelContext usage found.
Brand name discoverability
Partial, 1 of 3, about 3.2 points to gain. Ora saw: instacart.com ranks #8 for "Instacart" (searched your brand name alone: no main product term from your homepage qualified).
Pricing info accessible
Fail, 0 of 3, about 2.4 points to gain. Ora saw: No pricing page or pricing data found.

Our read

Instacart is the highest score among the sellers read here, 63, and the one with a live MCP handshake: Ora connected to InstacartRecipeServer version 1.0.0 over Streamable HTTP, beside REST documentation at /docs/api, a reachable GraphQL endpoint at api.instacart.com, an OAuth endpoint at instacart.com/oauth/authorize and an llms.txt at docs.instacart.com. Ora probed the six payment checks on a site it reads as a shop and found no x402, MPP, UCP, ACP or AP2 signal, so the pay layer reads 0 of 0 on a platform whose product is a checkout made on someone's behalf. The home page is the best written in this batch, 5,640 characters at a 14.8 percent text ratio with a full heading tree. The policy is the odd row: robots.txt admits one of three search crawlers, neither training crawler, and restricts two of three user-triggered agents, while the door is open to all four. There is neither an OpenAPI specification nor a sitemap. A recipe server is a start; a checkout protocol is the product.

Test your own checkout

The scan above is free and needs no account: enter a domain at ora.ai and read the same layers for your own site, with the six payment checks mapped to this matrix on the Ora Payments page. The command below runs the same audit from a terminal and exits with 1 under the score you set, so it can gate a deploy. Why Ora, and its limits.

npx ax@0.10 audit https://example.com --min-score 70

All 360 checks, one company a day. Corrections to the corrections page.

Sources

  1. ora.ai/api/score/instacart.com, Ora's scan (vendor), read 14 Nov 2026
  2. Ora's scoring rules, version 3 (vendor), read 14 Nov 2026
  3. Ora check catalog (GET /api/checks), read 14 Nov 2026
  4. instacart.com, the company's site, read 14 Nov 2026

Last reviewed