Quickstart
Before you begin
Two things set you up for the paths below: an account with an API key, and a project for CompetLab to monitor. (The six free scan tools run against any public URL without either — but to see your own competitive intelligence, you need both.)
Create your account and key. Create a free account if
you don’t have one, then generate a key in the dashboard under Settings → API Keys — you’ll
need the Owner or Admin role. Every key starts with cl_live_ and is 40 characters; copy
it when it’s shown, because only a short hint is stored afterward. The same key works for all
three paths below — the MCP server, the REST API, and the Agent Skills. Treat it like a password,
and keep it in a secret manager or environment variable rather than committing it. Full detail:
Authentication.
Set up your first project. A project is your own domain plus the competitors you want to
track. Create one in the dashboard — add your domain, then a handful of rivals — and CompetLab
starts monitoring the six monitored dimensions for that set and researching the
eight more behind the Strategic Briefing. Every project-scoped API call and
every skill but the site audit needs a projectId, so this is the step that turns the paths below from empty
responses into your data. New to the vocabulary? Core concepts has it.
Choose your path
Three surfaces, same underlying data — pick the one that matches who’s calling. If an AI assistant or agent is the caller, use the MCP server or the Agent Skills; if your own code is the caller, use the REST API.
| Path | Best when | What you run | Full guide |
|---|---|---|---|
| Connect an AI assistant | You work in Claude, Cursor, VS Code, or another MCP client and want intelligence in the conversation | Add the MCP server URL and your key | MCP Connect |
| Call the REST API | The caller is your own code — a backend, a scheduled job, a dashboard you build | A GET request against /v1 with your key | REST Quickstart |
| Install the Agent Skills | You want packaged workflows — briefings, battlecards, site audits — inside Claude Code | npx skills add …, then ask in plain language | Agent Skills Setup |
Connect an AI assistant
Point any MCP client at https://mcp.competlab.com/mcp and authenticate with your API key,
and the assistant gets 48 tools — your monitored dimensions, competitors, alerts, the
Strategic Briefing and the Strategic Tickets board, plus the free scan tools — right inside a conversation. Claude Code is the
quickest client to wire up.
Add the server
Register the server with the CompetLab API key as a CL-API-Key header. In Claude Code it’s
one command — no file to edit:
claude mcp add --transport http \
--header "CL-API-Key: YOUR_COMPETLAB_API_KEY" \
competlab https://mcp.competlab.com/mcpClients that can’t send custom headers — Claude on the web is the main case — pass the key on
the URL instead: https://mcp.competlab.com/mcp?api_key=YOUR_COMPETLAB_API_KEY. Treat that
URL as a secret. The Connect guide has ready-to-paste config for
Cursor, VS Code, Windsurf, Cline, and Claude Desktop too.
Confirm the connection
List your configured servers, then ask the assistant to list your projects — that calls the
list_projects tool and confirms both the connection and your key in one step:
claude mcp listYou should see competlab in the output. Ask “list my CompetLab projects” and the assistant
returns them; if the key is missing or malformed, the server rejects the request with a 401
before any tool runs, so the client shows the server as failing to connect.
Full walkthrough, per client: Connect to the MCP Server.
Call the REST API
Send your key as a CL-API-Key header to https://api.competlab.com/v1 and you’re making
requests. Every resource endpoint is an HTTPS GET that returns JSON, wrapped in { item }
for a single resource or { items } for a collection.
List your projects
Every project-scoped call needs a projectId, and GET /v1/projects is where you get one:
curl https://api.competlab.com/v1/projects \
-H "CL-API-Key: YOUR_COMPETLAB_API_KEY"The response wraps the list in items — copy an id to use as the projectId in the next
call:
{
"items": [
{
"id": "65a1b2c3d4e5f6a7b8c9d0e1",
"name": "Acme",
"domain": "acme.com",
"status": "active",
"competitorCount": 4,
"lastMonitoredAt": "2026-07-07T09:12:00.000Z"
}
]
}Pull a dimension
With a projectId, read any of the six monitored dimensions. This call returns the latest
pricing intelligence, wrapped in item:
curl https://api.competlab.com/v1/projects/65a1b2c3d4e5f6a7b8c9d0e1/pricing \
-H "CL-API-Key: YOUR_COMPETLAB_API_KEY"Swap pricing for ai-visibility, ai-sources, positioning, content, or tech-trust to
read the other dimensions — or call strategic-briefing for the synthesized read across all 14.
Prefer TypeScript? The @competlab/sdk wraps these same endpoints. Full
walkthrough: REST API Quickstart.
Install the Agent Skills
The Agent Skills are packaged competitive-intelligence workflows for Claude Code — a briefing, a competitor battlecard, a site audit — that trigger on plain-language requests. They reach your data through the MCP server, so connecting that server is the one hard prerequisite.
Connect the MCP server first
The skills read your monitoring data through the CompetLab MCP server, so set that up before installing them — the Connect guide is the prerequisite. Without it, a skill tells you it can’t run rather than inventing data.
Install the skills
Install the skills from the competlab-ci-skills repo with the skills CLI:
npx skills add competlab/competlab-ci-skills --allThis installs all seven skills. The Claude Code plugin marketplace and a manual copy of the repo work identically — every skill carries what it needs inside its own folder; Agent Skills Setup covers all three install paths.
Run your first skill
Skills trigger on plain-language requests — each advertises the phrasings it responds to, so there are no commands to memorize. Ask your agent something like:
Catch me up on what changed in my Acme project.Your agent recognizes the intent, loads the matching skill, pulls the data through the MCP server, and writes the deliverable.
Install paths and every skill: Agent Skills Setup.
Next steps
- Core concepts → — the AI Visibility Score, the Strategic Briefing, and the 14 dimensions CompetLab tracks.
- Methodology → — how CompetLab collects and computes AI-visibility, and where the limits are.
FAQ
Where do I get an API key?
In the CompetLab dashboard under Settings → API Keys. You need the Owner or Admin role, and each organization can hold up to five active keys. Every key starts with cl_live_ and is 40 characters long — the prefix plus 32 hexadecimal characters. The full key is shown once when you create it, so copy it then; only a short hint is stored afterward. If you lose a key, revoke it and create a new one. The same key authenticates all three quickstart paths — the MCP server, the REST API, and the Agent Skills, which use the MCP server underneath.
Which path should I pick?
Pick by who's calling. If an AI assistant is the caller and you want intelligence in the flow of a conversation, connect the MCP server. If you want packaged, repeatable deliverables — briefings, battlecards, site audits — inside Claude Code, install the Agent Skills, which run on top of that same MCP connection. If your own code is the caller — a backend, a scheduled job, or a dashboard you build — use the REST API or the TypeScript SDK. All three read the same data, so you can start with one and add the others later.
Can I try CompetLab without paying?
Yes, in two ways. CompetLab's six free scan tools run against any public URL on competlab.com with no account — an AI-crawler check, a sitemap visualizer, a URL fetch, and tech-stack, trust-signals, and agent-adoption scans; through the API, MCP server or SDK they take a key whose organization is on a plan or in its trial. To see your own monitored intelligence — the six continuously monitored dimensions and the Strategic Briefing — you need an account, and the 14-day trial works for that. Set up a project with a competitor or two, create an API key, and you can walk through any path above. Pricing and plan details live on the CompetLab marketing site, not in these docs.
What can my API key access?
Exactly what your organization can see, and nothing more. A key maps to one organization, so every call returns that organization's projects, competitors, monitored dimensions, alerts, schedules, and Strategic Briefing. Keys carry a read or read_write scope. A read key lists and reads everything. The one place the API writes is the project's Strategic Tickets board — creating, updating, moving and deleting tickets and adding comments — and each of those writes needs a read_write key; a read key is refused on them. There's no way to change your account, projects, competitors, or settings through the API. Details are in the Authentication reference.
Are there rate limits?
Some. The free-tool endpoints under /v1/tools are limited per API key — most at 1,000 requests per minute, with the URL-fetch tool held tighter at 60 per minute. The core resource endpoints — projects, the monitored dimensions, alerts, schedules, and the Strategic Briefing — aren't throttled today. An over-limit request returns 429 with the standard error envelope, so back off and retry after a short pause. For the async scans, poll every 2 to 5 seconds. These reflect current behavior, not a contractual SLA; see Rate limits for the numbers.
What data comes back from a call?
JSON, in a consistent shape across all three surfaces. A single resource comes back wrapped in { item }, a collection in { items }, and paginated collections add a pagination object with page, limit, total, totalPages, and hasMore. Errors use a shared { error } envelope carrying a machine-readable snake_case code, a message, and the HTTP status — for example a missing or invalid key returns 401. The MCP tools and the REST API return the same underlying data, since the MCP server is a thin layer in front of the REST API.