Prowl
62/100
prowl
Benchmarked Sep 28, 2026

Shop

Search for millions of products from the world's greatest brands.

searchapi platform_profile
Benchmark Your API

Score Breakdown

Latency9/10
Token Efficiency7/10
Parseability7/10
Consistency6/10
Documentation6/10
Auth Simplicity6/10
Error Clarity5/10
First-Try Success5/10

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
{
  "service_type": "platform",
  "base_url": "https://shop.app",
  "auth_method": "oauth2",
  "auth_config": {
    "type": "oauth2_device_flow",
    "device_authorization_endpoint": "https://accounts.shop.app/oauth/device",
    "token_exchange": "https://accounts.shop.app/oauth/token",
    "notes": "Shop.app exposes an agent-oriented device sign-in flow at https://accounts.shop.app/oauth/device with token exchange. A 'none'/anonymous mode is also available for parts of the catalog — the Global Catalog MCP search works unauthenticated."
  },
  "endpoints": [
    {
      "name": "Shop Skill (agent entrypoint)",
      "method": "GET",
      "url": "https://shop.app/SKILL.md",
      "description": "Primary agent skill document describing catalog search, product display, checkout creation on merchant domains, and order/tracking/returns/reorders handling. Read before calling anything."
    },
    {
      "name": "Skills index",
      "method": "GET",
      "url": "https://shop.app/.well-known/skills/index.json",
      "description": "JSON index of skills Shop publishes for agents that discover skills via .well-known."
    },
    {
      "name": "Agent skills manifest",
      "method": "GET",
      "url": "https://shop.app/.well-known/agent-skills/index.json",
      "description": "Agent Skills discovery manifest with digest for verification."
    },
    {
      "name": "Global Catalog MCP",
      "method": "POST",
      "url": "https://catalog.shopify.com/api/ucp/mcp",
      "description": "MCP endpoint for the Shopify Global Catalog. Product search works unauthenticated; full checkout/order operations follow the skill's rules."
    },
    {
      "name": "Direct API reference",
      "method": "GET",
      "url": "https://shop.app/references/direct-api.md",
      "description": "Raw request reference: device sign-in, token exchange, Global Catalog MCP, checkout creation, and order lookups without the CLI."
    },
    {
      "name": "Shop CLI (npm)",
      "method": "N/A",
      "url": "https://www.npmjs.com/package/@shopify/shop-cli",
      "description": "Install @shopify/shop-cli and run `shop search`, `shop checkout`, `shop orders`, `shop auth`. Preferred path: handles tokens, request shapes, and pagination."
    },
    {
      "name": "Sitemap index",
      "method": "GET",
      "url": "https://shop.app/sitemap.xml",
      "description": "Enumerates all public pages."
    },
    {
      "name": "Products sitemap",
      "method": "GET",
      "url": "https://shop.app/cdn/shopifycloud/shop-web/sitemaps/products/sitemap_products.xml",
      "description": "Enumerates product IDs and handles."
    },
    {
      "name": "Collections sitemap",
      "method": "GET",
      "url": "https://shop.app/cdn/shopifycloud/shop-web/sitemaps/collections/sitemap_collections.xml",
      "description": "Enumerates collection IDs and handles."
    },
    {
      "name": "Storefronts sitemap",
      "method": "GET",
      "url": "https://shop.app/cdn/shopifycloud/shop-web/sitemaps/storefronts/sitemap_storefronts.xml",
      "description": "Enumerates brand storefront slugs (/m/{store})."
    },
    {
      "name": "Product page",
      "method": "GET",
      "url": "https://shop.app/products/{id}/{handle}",
      "description": "Public single-product page with pricing, variants, and reviews."
    },
    {
      "name": "Storefront page",
      "method": "GET",
      "url": "https://shop.app/m/{store}",
      "description": "Public brand storefront on Shop."
    },
    {
      "name": "Storefront collection page",
      "method": "GET",
      "url": "https://shop.app/m/{store}/collections/{id}/{handle}",
      "description": "Public collection within a brand storefront."
    },
    {
      "name": "Universal Commerce Protocol (UCP)",
      "method": "GET",
      "url": "https://www.shopify.com/ucp",
      "description": "Open standard behind agentic commerce on Shopify. Enables product discovery, cart building, checkout, and order tracking across any UCP merchant with Shop Pay."
    }
  ],
  "pricing_model": {
    "type": "free",
    "details": {
      "model": "Shop is free for shoppers to use. Merchants sell on Shop with no marketplace fees (https://www.shopify.com/shop). Shop Cash is a rewards/loyalty mechanism (see https://shop.app/shop-cash-terms) and not a fee. Agent access to the catalog and UCP tooling is presented as free/open."
    }
  },
  "rate_limits": {},
  "capabilities": [
    "Product catalog search across millions of Shopify stores (Global Catalog MCP — search works unauthenticated)",
    "Product page rendering with pricing, variants, and reviews",
    "Brand storefront and collection browsing (/m/{store}, /m/{store}/collections/...)",
    "Checkout creation on the merchant's domain, with Shop Pay built in",
    "Order tracking, including orders placed outside Shop",
    "Order history, returns, and reorders",
    "Shop Cash rewards earning and spending",
    "Agent-oriented discovery via SKILL.md, .well-kn
Execute

2/3 tests passed

TestEndpointStatusLatency
website_uptimeGET /40364ms
robots_txtGET /robots.txt200156ms
llms_txtGET /llms.txt200188ms
Interpret
```json
{
  "overall": 58,
  "dimensions": {
    "token_efficiency": 7.0,
    "first_try_success": 5.0,
    "response_parseability": 7.0,
    "error_clarity": 5.0,
    "doc_quality": 6.0,
    "auth_simplicity": 6.0,
    "latency": 9.0,
    "consistency": 6.0
  },
  "pricing_normalized": {
    "model": "marketplace/commission",
    "note": "Shop (Shopify) is a shopping app/storefront; monetization via merchant fees and Shop Pay, not a per-call API. No explicit pricing surfaced in checks."
  },
  "issues": [
    "Root website returned HTTP 403 with a 'Verifying your connection...' interstitial — bot/agent blocking on the primary entry point.",
    "llms.txt exists but is thin; geared toward human/agent shopping rather than rich machine-readable API documentation.",
    "No explicit pricing, rate limits, or auth details surfaced in the checks.",
    "robots.txt explicitly states 'Checkouts are for humans' — implies automated agents are restricted at the checkout step, a key limitation for agent workflows.",
    "No structured API spec (OpenAPI) detected in the provided capability data (capabilities list empty)."
  ],
  "recommendations": [
    "Do not assume unattended end-to-end purchase flows: robots.txt signals checkout is human-only, so scope agent use to discovery/catalog and cart-building.",
    "Anticipate 403 bot challenges on shop.app; use the llms.txt start URL (https://shop.app/SKI...) and documented agent entry points rather than scraping the root.",
    "Check llms.txt content first for the sanctioned agent crawl/shop path before designing integration logic.",
    "Verify whether an official Shopify/Shop agent API or Storefront API credentials are needed for structured catalog/order access instead of HTML parsing.",
    "Confirm rate limits and auth before recommending to a user, since neither appeared in the checks."
  ]
}
```

Agent Readiness

x402 Payments
Not supported
Streaming
No
Sandbox
None
Agent Auth
Unknown
SDKs
None listed
MCP Support
No

Embed your Prowl badge

Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.

Prowl agent-readiness badge
<a href="https://prowl.world/service/shop">
  <img src="https://prowl.world/badge/shop.svg" height="56" alt="Agent-readiness on Prowl">
</a>

Options: ?style=light|dark · ?size=sm|md · ?variant=certified (claimed + DNS-verified only) · badge generator with preview

Want the full interactive view?

See operational metrics, LLM evaluations, agent readiness, and more.

Open in Dashboard