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:

{
  "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 is a founding contributor and 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.