---
title: "Content cannibalization detector"
method: POST
path: "/content/cannibalization"
---

# Content cannibalization detector

`POST /content/cannibalization`

## Request

- Base URL: `https://www.agentseo.dev/api/v1`
- URL: `https://www.agentseo.dev/api/v1/content/cannibalization`
- Auth: API key in header `x-api-key`

Detect pages that may compete for the same keyword intent and recommend safe consolidation, differentiation, canonical, internal-link, or monitoring actions. Costs 2 credits and does not call a paid SERP provider.

## Query parameters

- `sync` boolean

## Headers

- `x-project-id` string
- `x-workflow-id` string

## Request body

- ContentCannibalizationParams
  - `target` string: Optional target brand, domain, or product.
  - `focus_keywords` string[]
  - `sensitivity` 'conservative' | 'balanced' | 'aggressive'
  - `pages` object[], required
    - `url` string, uri, required
    - `title` string, required
    - `description` string
    - `headings` string[]
    - `primary_keyword` string
    - `target_keywords` string[]
    - `ranking_queries` string[]
    - `page_type` 'unknown' | 'homepage' | 'blog_post' | 'landing_page' | 'product' | 'software' | 'local_business' | 'comparison_page' | 'guide' | 'docs'
    - `canonical_url` string, uri
    - `indexable` boolean
    - `clicks` number
    - `impressions` number
    - `avg_position` number
    - `backlinks` number
    - `last_updated` string

## Response `200`

Completed content cannibalization workflow with agent_workflow

- ContentCannibalizationResponse
  - `target` string, nullable
  - `content_cannibalization` object
  - `agent_workflow` AgentWorkflow
    - `summary` string
    - `decision` 'ready' | 'act_now' | 'monitor' | 'blocker'
    - `confidence` number
    - `recommended_actions` AgentWorkflowAction[]
      - `priority` 'critical' | 'high' | 'medium' | 'low'
      - `action` string
      - `why` string
    - `evidence` AgentWorkflowEvidence[]
      - `finding` string
      - `detail` string
      - `severity` 'critical' | 'high' | 'medium' | 'low'
    - `limitations` string[]
    - `next_calls` AgentWorkflowNextCall[]
      - `endpoint` string
      - `reason` string
  - `markdown_summary` string

## Other responses

- `202`: Job queued or still processing

---

[API](https://skmtc.dev/agentseo/apis/agentseo-api.md) · [All operations](https://skmtc.dev/agentseo/apis/agentseo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentseo/apis/agentseo-api/revisions/53a62da6f92c?raw)
