# StableProduct Shopify Global Catalog Search

> StableProduct Shopify Global Catalog Search is a paid API for AI agents from stableproduct.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Search across all eligible Shopify stores using natural-language text, product-ID similarity, image similarity, filters, and cursor-based pagination.

## Facts

- Endpoint: POST https://stableproduct.dev/api/shopify/search
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/stableproduct-shopify-global-catalog-search-33d6d2a1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rUpgBsWTZ-Qy50LvwaopB

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability stableproduct-shopify-global-catalog-search-33d6d2a1 -d '<json body>'
```

Example prompt: Search the Shopify global catalog for women's waterproof hiking boots under $150, and give me the top 10 results with prices and store names.

## When to prefer this

Choose this endpoint when you need to search across many Shopify stores simultaneously using natural language, product ID similarity, or image-based similarity — especially useful for cross-merchant product discovery, price comparison across the Shopify ecosystem, or finding visually similar products without knowing exact product names. Prefer it over single-store Shopify APIs when broad catalog coverage matters.

## Known failure modes

- Invalid or missing query — returns error if no search input is provided
- Bad cursor token — pagination may fail or return unexpected results if cursor is malformed
- No results found — returns empty list for highly specific or niche queries
- Rate limiting or payment failure — x402 micropayment not processed, request rejected
- Image URL unreachable — image-similarity search fails if the image cannot be fetched

## How this service works

Search the Shopify Global Catalog (all eligible Shopify stores) with natural-language text, similarity by product id or image, filters, and cursor pagination.

## Output

Returns a paginated list of matching products from eligible Shopify stores, including product metadata (name, description, price, store, images), similarity scores where applicable, and a cursor token for fetching the next page of results.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "like": {
   "type": "array",
   "items": {
    "anyOf": [
     {
      "type": "object",
      "required": [
       "id"
      ],
      "properties": {
       "id": {
        "type": "string",
        "minLength": 1
       }
      },
      "additionalProperties": false
     },
     {
      "type": "object",
      "required": [
       "image"
      ],
      "properties": {
       "image": {
        "type": "object",
        "required": [
         "content_type",
         "data"
        ],
        "properties": {
         "data": {
          "type": "string",
          "minLength": 1
         },
         "content_type": {
          "type": "string",
          "minLength": 1
         }
        },
        "additionalProperties": false
       }
      },
      "additionalProperties": false
     }
    ]
   },
   "maxItems": 2,
   "minItems": 1
  },
  "view": {
   "enum": [
    "offer"
   ],
   "type": "string"
  },
  "query": {
   "type": "string",
   "minLength": 1
  },
  "context": {
   "type": "object",
   "properties": {
    "intent": {
     "type": "string"
    },
    "currency": {
     "type": "string"
    },
    "language": {
     "type": "string"
    },
    "postal_code": {
     "type": "string"
    },
    "address_region": {
     "type": "string"
    },
    "address_country": {
     "type": "string",
     "maxLength": 2,
     "minLength": 2
    }
   },
   "additionalProperties": false
  },
  "filters": {
   "type": "object",
   "properties": {
    "price": {
     "type": "object",
     "properties": {
      "max": {
       "type": "integer",
       "maximum": 9007199254740991,
       "minimum": 0
      },
      "min": {
       "type": "integer",
       "maximum": 9007199254740991,
       "minimum": 0
      }
     },
     "additionalProperties": false
    },
    "ships_to": {
     "type": "object",
     "required": [
      "country"
     ],
     "properties": {
      "region": {
       "type": "string"
      },
      "country": {
       "type": "string",
       "maxLength": 2,
       "minLength": 2
      },
      "postal_code": {
       "type": "string"
      }
     },
     "additionalProperties": false
    },
    "shop_ids": {
     "type": "array",
     "items": {
      "type": "string",
      "minLength": 1
     }
    },
    "available": {
     "type": "boolean"
    },
    "condition": {
     "type": "array",
     "items": {
      "enum": [
       "new",
       "secondhand"
      ],
      "type": "string"
     }

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/stableproduct-shopify-global-catalog-search-33d6d2a1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stableproduct.dev](https://www.zero.xyz/host/stableproduct.dev/llms.txt)
