UCP

Universal Commerce Protocol (UCP)

A standard, open API for AI agents to query product catalogues, and how Zevin implements it for your store.

The Universal Commerce Protocol (UCP) is an open specification for exposing e-commerce catalogue data to AI agents. Zevin implements UCP for every connected store, giving AI platforms a single, consistent interface to query your products.

Why a protocol

Without a standard, every AI platform would need a bespoke integration with every commerce platform, a combinatorial explosion of maintenance work. UCP solves this with a single, versioned spec that:

  • AI developers target once and get access to any UCP-compliant store
  • Merchants implement once (via Zevin) and become visible to every UCP-aware AI

Think of it as the robots.txt for AI commerce: a known location, a known format.

UCP endpoint anatomy

Every store connected to Zevin gets a UCP base URL:

https://ucp.zevin.ai/stores/{store-id}/

The following paths are defined by the spec:

PathMethodDescription
/productsGETPaginated product catalogue
/products/searchGETSemantic product search
/products/{id}GETSingle product detail
/products/{id}/variantsGETVariants (size, colour, etc.)
/inventoryGETReal-time stock levels
/tool-schema/openaiGETOpenAI function tool definition
/tool-schema/claudeGETAnthropic tool definition
/.well-known/ucp.jsonGETStore metadata and capabilities

Authentication

UCP endpoints are publicly readable by default. Any AI agent can query your catalogue without authentication. This is intentional: discoverability requires openness.

You can optionally restrict access to a list of approved API keys in your Zevin dashboard under UCP → Access control. This is useful for B2B stores where catalogue visibility should be limited to known partners.

Product search endpoint

The most commonly used endpoint is /products/search:

GET /products/search?q=waterproof+hiking+boots&max_price=150&in_stock=true

Parameters:

ParameterTypeDescription
qstringNatural language or keyword query
max_pricenumberMaximum price in the store’s default currency
min_pricenumberMinimum price
in_stockbooleanFilter to in-stock items only
categorystringRestrict to a product category
limitintegerResults per page (default 10, max 50)
cursorstringPagination cursor from previous response

Response shape:

{
  "products": [
    {
      "id": "prod_abc123",
      "name": "Salomon X Ultra 4 GTX",
      "description": "Waterproof hiking boot with Gore-Tex lining...",
      "price": 139.99,
      "currency": "GBP",
      "availability": "in_stock",
      "url": "https://yourstore.com/products/salomon-x-ultra-4-gtx",
      "image_url": "https://cdn.yourstore.com/images/salomon-x-ultra.jpg",
      "brand": "Salomon",
      "category": "Footwear / Hiking"
    }
  ],
  "total": 24,
  "cursor": "eyJvZmZzZXQiOjEwfQ=="
}

.well-known/ucp.json

The discovery file at /.well-known/ucp.json lets AI agents auto-discover your store’s capabilities. You can check yours with the UCP Validator.

{
  "ucp_version": "1.0",
  "store_name": "Your Store",
  "store_url": "https://yourstore.com",
  "currency": "GBP",
  "product_count": 4821,
  "categories": ["Footwear", "Clothing", "Equipment"],
  "supports_search": true,
  "supports_variants": true,
  "supports_realtime_inventory": true,
  "tool_schemas": {
    "openai": "/tool-schema/openai",
    "claude": "/tool-schema/claude"
  }
}

UCP and your existing infrastructure

Zevin’s UCP layer sits in front of your platform. You do not need to modify your store’s code or infrastructure. Zevin handles:

  • Translating your platform’s native API (Shopify Admin, WooCommerce REST, Magento GraphQL) into the UCP spec
  • Caching product data at the edge for low-latency AI queries
  • Normalising currency, units, and category taxonomy across platforms
  • Keeping the endpoint fresh as products, prices, and stock change

The specification

UCP is an open, community-governed specification. The full spec and JSON schema are published at ucp.dev. Zevin implements the spec in full.

Merchants can implement UCP independently without using Zevin, but Zevin provides the managed implementation, AI platform relationships, and analytics layer on top.