Skip to main content
search_catalog finds products across stores from a text query. Optional: API key on curl for Token tier (limits + monetizable links). The UCP CLI is Anonymous on Channel3.
ucp catalog search \
  --set /query='wireless headphones under $100' \
  --set '/pagination/limit=10' \
  --format json
In the MCP response, open structuredContent (curl stream) or result (CLI):
  • products - matches with price, variants, and store info
  • pagination.has_next_page - more results available?
  • pagination.cursor - send this back for the next page

Next page

ucp catalog search \
  --set /query='running shoes' \
  --set '/pagination/limit=10' \
  --set '/pagination/cursor=<paste cursor from last response>' \
  --format json

Filter by store (Channel3 extension)

Limit results to specific merchants:
ucp catalog search \
  --input '{
    "query": "trail running shoes",
    "pagination": { "limit": 10 },
    "filters": {
      "website_ids": ["lGBj", "nike.com"]
    }
  }' \
  --format json
website_ids can be merchant ids or domains. Same as REST website_ids / shop_ids. More filters: Extension reference.

Fields worth saving

FieldWhy
products[].idProduct id for lookup or get_product
products[].variants[]Per-store listings (SKUs, prices, seller)
products[].variants[].seller.domainWhich store
messages[]Warnings (empty query, bad filter, etc.)
Variant options (Color, Size, …) are returned by get_product, not by search.

What’s next

Lookup

You already have ids or URLs

Get product

One product by id