# Friday Seller Tools – Keyword Cannibalization Analyzer

> Friday Seller Tools – Keyword Cannibalization Analyzer is a paid API for AI agents from friday-seller-tools-production.up.railway.app, paid per call via x402, $0.25/call, status unknown (last checked 2026-09-14).

Detects keyword cannibalization across Amazon, Walmart, Shopify, or eBay listings so sellers can eliminate duplicate keyword targeting and optimize ad spend.

## Facts

- Endpoint: POST https://friday-seller-tools-production.up.railway.app/v1/listings/keyword-cannibalization
- Price: $0.25/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/friday-seller-tools-keyword-cannibalization-analyzer-d6cae01b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_RffwG36cYRLV3ChqmPFAh

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 friday-seller-tools-keyword-cannibalization-analyzer-d6cae01b -d '<json body>'
```

Example prompt: Check my Amazon listings for keyword cannibalization — I'm selling a yoga mat (ASIN B0ABC123) and a yoga block (ASIN B0DEF456) and I think they're competing for the same search terms, hurting my ad performance.

## When to prefer this

Choose this endpoint when you need to identify and resolve keyword overlap between multiple listings on the same marketplace — particularly before launching or optimizing PPC campaigns on Amazon, Walmart, Shopify, or eBay. It is purpose-built for e-commerce sellers managing multi-SKU catalogs where self-competition in search results wastes ad budget.

## Known failure modes

- Missing or invalid listing identifiers returns a 400 error
- Unsupported marketplace type returns a validation error
- Too many listings submitted in a single request may exceed payload limits
- Service unavailable on Railway deployment returns a 503
- Payment of $0.25 USDC not completed results in 402 Payment Required
- Job ID not found when polling for results if polled too early

## How this service works

Instant, low-cost Amazon, Walmart, Shopify, and eBay listing, upload-preparation, advertising, and image-brief deliverables.

## Output

Returns a job_id and status (queued) immediately; the async result includes a cannibalization report identifying overlapping keywords shared across multiple listings, the specific listings competing for each keyword, severity scores, and recommendations for which listing should own each keyword.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "listing_a": {
   "type": "object",
   "title": "ListingContent",
   "required": [
    "title",
    "bullets",
    "description"
   ],
   "properties": {
    "title": {
     "type": "string",
     "title": "Title",
     "maxLength": 500,
     "minLength": 5
    },
    "bullets": {
     "type": "array",
     "items": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 2
     },
     "title": "Bullets",
     "maxItems": 10,
     "minItems": 1
    },
    "description": {
     "type": "string",
     "title": "Description",
     "maxLength": 10000,
     "minLength": 10
    },
    "backend_keywords": {
     "type": "array",
     "items": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1
     },
     "title": "Backend Keywords",
     "maxItems": 100
    }
   },
   "additionalProperties": false
  },
  "listing_b": {
   "type": "object",
   "title": "ListingContent",
   "required": [
    "title",
    "bullets",
    "description"
   ],
   "properties": {
    "title": {
     "type": "string",
     "title": "Title",
     "maxLength": 500,
     "minLength": 5
    },
    "bullets": {
     "type": "array",
     "items": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 2
     },
     "title": "Bullets",
     "maxItems": 10,
     "minItems": 1
    },
    "description": {
     "type": "string",
     "title": "Description",
     "maxLength": 10000,
     "minLength": 10
    },
    "backend_keywords": {
     "type": "array",
     "items": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1
     },
     "title": "Backend Keywords",
     "maxItems": 100
    }
   },
   "additionalProperties": false
  },
  "marketplace": {
   "enum": [
    "amazon_us",
    "walmart_us",
    "shopify",
    "ebay_us"
   ],
   "type": "string",
   "title": "Marketplace",
   "default": "amazon_us"
  },
  "ignore_terms": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 100,
    "minLength": 1
   },
   "title": "Ignore Terms",
   "maxItems": 100
  },
  "include_phrases": {
   "type": "boolean",
   "title": "Include Phrases",
   "default": true
  },
  "listing_a_label": {
   "type": "string",
   "title": "Listing A Label",
   "default": "Listing A",
   "maxLength": 80,
   "minLength": 1
  },
  "listing_b_label": {
   "type": "string",
   "title": "Listing B Label",
   "default": "Listing B",
   "maxLength": 80,
   "minLength": 1
  },
  "primary_terms_a": {
   "t
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "job_id": "example",
  "status": "queued"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/friday-seller-tools-keyword-cannibalization-analyzer-d6cae01b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from friday-seller-tools-production.up.railway.app](https://www.zero.xyz/host/friday-seller-tools-production.up.railway.app/llms.txt)
