# Affiliate.com Product Search

> Affiliate.com Product Search is a paid API for AI agents from zeroclick.affiliate.com, paid per call via x402 or MPP, $0.02/call, status healthy (last checked 2026-10-12, last successful call 2026-10-07).

Search over one billion affiliate products by free text or structured field filters, returning pricing, availability, commission URLs, and merchant attribution

## Facts

- Endpoint: POST https://zeroclick.affiliate.com/v1/products?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402, MPP
- Status: healthy
- Last checked: 2026-10-12
- Last successful call: 2026-10-07
- Success rate: 95% of calls made through Zero
- Rating: 4.1 / 5 from 3 reviews
- Activations on Zero: 303
- Tags: x402
- Canonical page: https://www.zero.xyz/c/affiliate-com-product-search-6a9d77ad
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xpYE6LTjSkpc8plA6wwND

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 affiliate-com-product-search-6a9d77ad -d '<json body>'
```

Example prompt: Search the Affiliate.com catalog for wireless noise-cancelling headphones under $200 that are in stock, and return the top 10 results with their affiliate commission URLs, pricing, and merchant names.

## When to prefer this

Choose this endpoint when you need to search or filter a very large (1B+) cross-merchant affiliate product catalog with daily freshness, need structured query composition (compound conditions, field-level filters), require affiliate commission links alongside product data, or need faceted aggregations for category/merchant breakdowns. Prefer it over retailer-specific APIs when you need multi-merchant coverage and built-in affiliate attribution in a single call.

## Known failure modes

- Mutually exclusive parameters: providing both 'search' and 'query' in the same request returns a validation error
- Invalid field names in filters or field selection cause errors
- Pagination cursor (after) becomes invalid if the underlying index is refreshed
- Exceeding 20 facets returns a validation error
- Payment failure or insufficient USDC balance results in 402 response
- Empty results when search terms are too specific or no products match filters
- Truncated input schema may hide valid operators, leading to unsupported operator errors

## How this service works

Search more than one billion affiliate products refreshed daily. Pass a plain search string or an array of field filters, or use the structured query rule builder for compound conditions. Results carry pricing, availability, commission URLs, and network and merchant attribution, with support for field selection, pagination, sorting, facets, and per network affiliate link configuration.

## Output

A paginated list of matching affiliate products including fields such as product name, brand, category, pricing, on-sale status, availability, barcode, affiliate commission URLs, and merchant and network attribution. Also includes facet aggregations if requested, and a pagination cursor (meta.after) for deep result sets beyond 10,000 items.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "page": {
   "type": "integer",
   "minimum": 1,
   "description": "Page number to return."
  },
  "after": {
   "type": "string",
   "description": "Cursor token for pagination beyond 10000 results, returned as meta.after in a previous response."
  },
  "query": {
   "type": "object",
   "properties": {
    "rules": {
     "type": "array",
     "items": {
      "type": "object",
      "required": [
       "conditions_operator",
       "conditions"
      ],
      "properties": {
       "conditions": {
        "type": "array",
        "items": {
         "type": "object",
         "required": [
          "field",
          "operator",
          "value"
         ],
         "properties": {
          "field": {
           "type": "string",
           "description": "Product field to match."
          },
          "value": {
           "description": "Value to match."
          },
          "operator": {
           "type": "string",
           "description": "Comparison operator."
          }
         }
        }
       },
       "conditions_operator": {
        "enum": [
         "any",
         "all"
        ],
        "type": "string",
        "description": "How the conditions inside this rule combine."
       }
      }
     }
    },
    "rules_operator": {
     "enum": [
      "any",
      "all"
     ],
     "type": "string",
     "description": "How rules combine. any means OR and all means AND. Defaults to all."
    }
   },
   "description": "Structured rule based query builder for compound conditions. Mutually exclusive with search."
  },
  "facets": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Facet aggregations to include with the results, up to 20. Supports dot notation, for example merchant.product_count."
  },
  "fields": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Product fields to include in the response. All fields are returned when omitted."
  },
  "search": {
   "oneOf": [
    {
     "type": "string",
     "description": "Free text search across product fields."
    },
    {
     "type": "array",
     "items": {
      "type": "object",
      "required": [
       "field",
       "operator",
       "value"
      ],
      "properties": {
       "field": {
        "type": "string",
        "example": "name",
        "description": "Product field to filter on. Common fields are any, name, brand, category, barcode, final_price, on_sale
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "description": "Unique product identifier."
     },
     "sku": {
      "type": "string"
     },
     "name": {
      "type": "string"
     },
     "brand": {
      "type": "string"
     },
     "barcode": {
      "type": "string",
      "description": "UPC, EAN, ISBN, or GTIN."
     },
     "network": {
      "type": "object",
      "properties": {
       "id": {
        "type": "integer"
       },
       "name": {
        "type": "string"
       }
      },
      "description": "Affiliate network attribution."
     },
     "on_sale": {
      "type": "boolean"
     },
     "added_at": {
      "type": "string",
      "description": "UTC timestamp when the product was added."
     },
     "category": {
      "type": "string"
     },
     "currency": {
      "type": "string",
      "description": "ISO 4217 currency code."
     },
     "merchant": {
      "type": "object",
      "properties": {
       "id": {
        "type": "integer"
       },
       "name": {
        "type": "string"
       },
       "canonical_id": {
        "type": "string"
       },
       "canonical_name": {
        "type": "string"
       }
      }
     },
     "image_url": {
      "type": "string",
      "description": "Primary image URL."
     },
     "direct_url": {
      "type": "string",
      "description": "Direct product link."
     },
     "updated_at": {
      "type": "string",
      "description": "UTC timestamp of the last refresh."
     },
     "description": {
      "type": "string"
     },
     "final_price": {
      "type": "number",
      "description": "Current price after discounts."
     },
     "availability": {
      "type": [
       "string",
       "null"
      ],
      "description": "InStock, OutOfStock, or null when unknown."
     },
     "regular_price": {
      "type": "number",
      "description": "Original retail price."
     },
     "sale_discount": {
      "type": "number"
     },
     "commission_url": {
      "type": "string",
      "description": "Affiliate link. Contains placeholder tokens for the affiliate id and sub id unless network credentials were provided in the request."
     },
     "stock_quantity": {
      "type": [
       "integer",
       "null"
      ]
     },
     "commissionable_status": {
      "type": "string",
      "description": "One of commissionable, assumed_com
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/affiliate-com-product-search-6a9d77ad/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from zeroclick.affiliate.com](https://www.zero.xyz/host/zeroclick.affiliate.com/llms.txt)
