# Competitive Intelligence MCP Server (`pxlbyt-co/competitive-intel-mcp`) Actor

Analyze markets with live competitive intelligence, pricing scans, complaint mining, and gap detection. Includes `analyze-market` ($0.50) and `quick-scan` ($0.10) for founders, strategists, product teams, and agent workflows.

- **URL**: https://apify.com/pxlbyt-co/competitive-intel-mcp.md
- **Developed by:** [PixelByte Labs](https://apify.com/pxlbyt-co) (community)
- **Categories:** MCP servers, AI
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $500.00 / 1,000 full market analyses

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Competitive Intelligence — AI Market Analysis MCP Server

### What is the Competitive Intelligence MCP Server?

The **Competitive Intelligence MCP Server** analyzes any market or niche using live web research. It discovers competitors, maps pricing landscapes, analyzes sentiment, identifies market gaps, and returns a **scored opportunity assessment** from a single focused MCP tool call.

It is built for **Claude Code, Claude Desktop, OpenClaw, Cursor, and other MCP workflows** where you want one clean market-analysis step instead of a long wandering research chat. It also fits automation-adjacent workflows well: run one structured market scan, then let the rest of your agent stack use the results for positioning, pricing, or GTM work. Stop guessing whether a market is too crowded. Get structured, evidence-based competitive analysis with **real data from live web searches**, not hallucinated competitor lists or a long manual loop.

🔍 **Live competitor discovery** — finds 5-12 real competitors via multi-stage web research.
💰 **Pricing landscape** — maps what competitors charge and identifies pricing gaps.
😤 **Sentiment analysis** — surfaces real customer complaints and unmet needs.
📊 **Opportunity scoring** — scores market attractiveness across 4 dimensions.
🎯 **Gap analysis** — identifies underserved segments and positioning opportunities.

### What can this Competitive Intelligence Actor do?

- ✅ **Full market analysis** — multi-stage research pipeline: discovery → sentiment → gap analysis → opportunity scoring
- ✅ **Quick competitor scan** — fast check of competition level (open-field / light / moderate / crowded / red-ocean)
- ✅ **Competitor profiling** — name, URL, pricing, positioning, strengths, weaknesses for each competitor found
- ✅ **Pricing comparison** — structured pricing landscape showing what the market charges
- ✅ **Review mining** — finds real customer complaints and feature gaps from review sites and communities
- ✅ **Actionable recommendations** — not just data, but specific positioning and differentiation advice
- ✅ **Depth control** — choose quick, standard, or deep analysis depending on your needs
- ✅ **Works via MCP** — connect from Claude Code, Claude Desktop, OpenClaw, Cursor, Windsurf, or any MCP client
- ✅ **Fits multi-agent workflows** — let one agent gather the market structure, then let another turn it into positioning, pricing, or GTM output

Runs on the **Apify platform**. Schedule recurring market scans, trigger analyses via API, integrate results into your product workflow, or monitor markets automatically with webhooks.

### What data does the Competitive Intelligence tool extract?

| Data Point | Description |
|-----------|-------------|
| Competitor Profiles | Name, URL, pricing, positioning, strengths, weaknesses |
| Competition Level | open-field / light / moderate / crowded / red-ocean |
| Pricing Landscape | Price ranges, models (subscription/usage/one-time), free tier availability |
| Customer Complaints | Real negative reviews, unmet needs, frustration points |
| Market Gaps | Underserved segments, feature gaps, pricing gaps |
| Opportunity Score | Market attractiveness (1-10) across 4 dimensions |
| Market Maturity | Early / growing / mature / declining |
| Recommendations | Specific positioning, differentiation, and entry strategies |

### How to analyze a market with MCP

1. **Connect this Actor** to your MCP client (Claude Code, Claude Desktop, OpenClaw, Cursor, Windsurf, or any MCP-compatible tool)
2. **Ask your AI assistant** to analyze a market — e.g. "Analyze the competitive landscape for AI code review tools"
3. **Optionally add context** — competitors you already know, your purpose (entering the market? monitoring it?), desired depth
4. **Review the report** — competitor profiles, pricing landscape, gaps, opportunity scores, and recommendations
5. **Take action** — use the gaps and positioning advice to differentiate your product

#### Example workflow: one market scan, then downstream execution

One practical Claude-style workflow:

1. Your assistant calls `analyze-market` on a niche you are considering
2. It gets back competitors, pricing, complaints, and market gaps in one structured payload
3. In the same conversation, a second step turns that output into positioning, pricing, or GTM drafts
4. On a schedule, you can rerun the scan and compare deltas instead of repeating open-ended market research

That replaces a longer agent loop of manually discovering competitors, checking pricing pages, hunting complaints, and then summarizing the market from scratch each time.

You can also call the API directly:
````

POST https://YOUR\_USERNAME--competitive-intel-mcp.apify.actor/mcp

```

### MCP Tools

#### `analyze-market` — Full Competitive Analysis ($0.50)

Multi-stage research pipeline producing a comprehensive competitive report.

**Research stages:**
1. **Discovery** — 3-4 searches to find direct competitors, comparison sites, community recommendations
2. **Sentiment** — Review and complaint analysis for top competitors
3. **Gap analysis** — Searches for unmet needs, feature gaps, pricing gaps
4. **Scoring** — Algorithmic market opportunity scoring

**Input:**
| Parameter | Required | Description |
|-----------|----------|-------------|
| `market` | ✅ | Market or niche to analyze (e.g. "AI code review tools") |
| `purpose` | Optional | Why you need this report (entering market, monitoring, etc.) |
| `knownCompetitors` | Optional | Competitors you already know about |
| `depth` | Optional | quick / standard / deep (default: standard) |

**Output:** Full markdown report with competitor profiles, pricing landscape, sentiment findings, gaps, opportunity scores, and positioning recommendations.

#### `quick-scan` — Fast Competition Check ($0.10)

Lightweight scan to quickly assess competition level. Use this to screen markets before investing in a full analysis.

**Input:**
| Parameter | Required | Description |
|-----------|----------|-------------|
| `market` | ✅ | Market or niche to scan |

**Output:** Competition level assessment + competitor list.

**Competition levels:**
| Level | Meaning |
|-------|---------|
| 🟢 Open field | Few or no competitors — first-mover opportunity |
| 🟡 Light | Some players but room for differentiation |
| 🟠 Moderate | Established players, need clear differentiation |
| 🔴 Crowded | Many competitors, hard to stand out |
| ⛔ Red ocean | Saturated, commodity pricing, avoid unless you have a unique angle |

### How much does competitive intelligence cost?

| Tool | Price | Brave Search Cost | Total |
|------|-------|-------------------|-------|
| `analyze-market` | $0.50 | ~$0.03 (5-6 searches) | ~$0.53 |
| `quick-scan` | $0.10 | ~$0.005 (1 search) | ~$0.105 |

**Compare this to alternatives:**
- Professional competitive analysis: $2,000-25,000
- Competitive intelligence SaaS (Crayon, Klue): $500-2,000/month
- Fiverr competitive analysis: $50-200
- Doing it yourself manually: 4-8 hours of research

For $0.50, you get a structured report with real competitor data. In practice, that is often cheaper than letting Claude Code or another agent spend a long session discovering competitors, pricing, complaints, and gaps from scratch. Scan 10 markets for $5.

Apify's **free tier includes $5/month** in platform credits — enough for ~9 full analyses or 45 quick scans per month at no cost.

### Trust and transparency

This tool is deliberately explicit about what it knows:

- **Live search is visible, not implied.** With `BRAVE_API_KEY`, it uses live research to find competitors, pricing, complaints, and gaps.
- **Degraded mode is honest.** If live search is unavailable, the tool says that directly instead of implying there are no competitors or no market signal.
- **Structured output is inspectable.** You get named competitors, pricing patterns, complaints, and gaps you can review, not just a confident paragraph.

That transparency matters for developer buyers who are tired of black-box market analysis.

### Example output

**Input:**
> Market: AI-powered code review tools  
> Known competitors: CodeRabbit, Sourcery

**Output (abbreviated):**

```

### Competitive Intelligence Report: AI Code Review Tools

#### Competition Level: 🟠 MODERATE (6 competitors found)

#### Competitor Profiles

| Competitor | Pricing | Positioning | Key Strength |
|-----------|---------|-------------|-------------|
| CodeRabbit | $12-24/user/mo | AI PR reviewer | Deep GitHub integration |
| Sourcery | Free-$30/user/mo | Code quality AI | Python-first, freemium |
| Codacy | $15/user/mo | Automated reviews | Multi-language, enterprise |
| DeepCode (Snyk) | Acquired | Security-focused | Vulnerability detection |
| Qodo (CodiumAI) | Free-custom | AI test generation | Test-first approach |
| Codeium | Free-$12/mo | AI completion + review | Generous free tier |

#### Pricing Landscape

- Range: $0 (freemium) to $30/user/month
- Enterprise: Custom pricing, $50-100+/user
- Most offer free tiers — table-stakes for adoption

#### Top Customer Complaints (from reviews)

- "Too many false positives" (CodeRabbit, Codacy)
- "Doesn't understand our codebase context" (multiple)
- "Enterprise pricing is opaque" (Codacy, Qodo)

#### Market Gaps

- 🎯 Framework-specific reviews (Rails, Django conventions)
- 🎯 Architecture-level feedback (not just line-by-line)
- 🎯 Transparent enterprise pricing

#### Opportunity Score: 5.8/10

Moderate opportunity. Established players, but clear gaps in
specialization and context-awareness.

````

### Setup — Brave Search API key

For live market research (strongly recommended), configure `BRAVE_API_KEY`:

1. Get a free API key at [brave.com/search/api](https://brave.com/search/api/) — includes $5/month credits (~1,000 searches)
2. In Apify Console → this Actor → Settings → Environment Variables → add `BRAVE_API_KEY`

Without the key, tools explicitly say live search is unavailable instead of implying the market has no competitors.

### Optional setup — AI synthesis

For provider-agnostic AI synthesis, configure either:

#### Preferred generic config

- `LLM_PROVIDER` = `openai` or `anthropic`
- `LLM_API_KEY`
- `LLM_MODEL`
- `LLM_BASE_URL` (optional, for custom / compatible runtimes)

#### Backward-compatible provider-specific config

- `OPENAI_API_KEY`, `OPENAI_MODEL`, `OPENAI_BASE_URL`
- or `ANTHROPIC_API_KEY`, `ANTHROPIC_MODEL`

If no AI provider is configured, the server still works with heuristic scoring only.

### FAQ

**How many competitors does it find?**  
Typically 5-12 for `analyze-market`, depending on the market. The tool searches multiple angles (direct competitors, comparison sites, community recommendations).

**Can I monitor a market over time?**  
Yes! Use Apify's built-in scheduler to run `analyze-market` weekly or monthly. Compare reports to spot new entrants, pricing changes, and shifting gaps.

**Does it work for non-tech markets?**  
Yes. It searches the web for competitors in any space — SaaS, physical products, services, local businesses, creative niches.

**How does depth affect results?**  
- **quick** — fewer searches, faster, good for initial screening
- **standard** — balanced coverage (default)
- **deep** — more searches, more competitors, fuller sentiment analysis

**Is my data stored?**  
No. Inputs and outputs are processed in your Apify run and not retained beyond your own run history.

### Related tools

- [Business Idea Validator MCP Server](https://apify.com/YOUR_USERNAME/idea-validator-mcp) — Validate business ideas with an 8-dimension scoring framework before you start building

# Actor input Schema



## Actor input object example

```json
{}
````

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("pxlbyt-co/competitive-intel-mcp").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("pxlbyt-co/competitive-intel-mcp").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call pxlbyt-co/competitive-intel-mcp --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=pxlbyt-co/competitive-intel-mcp",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Competitive Intelligence MCP Server",
        "description": "Analyze markets with live competitive intelligence, pricing scans, complaint mining, and gap detection. Includes `analyze-market` ($0.50) and `quick-scan` ($0.10) for founders, strategists, product teams, and agent workflows.",
        "version": "1.0",
        "x-build-id": "yaAYv5bGKYr4QMAp7"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/pxlbyt-co~competitive-intel-mcp/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-pxlbyt-co-competitive-intel-mcp",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/pxlbyt-co~competitive-intel-mcp/runs": {
            "post": {
                "operationId": "runs-sync-pxlbyt-co-competitive-intel-mcp",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/pxlbyt-co~competitive-intel-mcp/run-sync": {
            "post": {
                "operationId": "run-sync-pxlbyt-co-competitive-intel-mcp",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {}
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
