list_competitor_sources
list_competitor_sources MCP tool: for one competitor, the domains where LLMs cite them, with mention counts and top URLs. Built for outreach lists.
Updated 2026-07-23
list_competitor_sources lists, for a single competitor, the domains where they get cited by LLMs answering your tracked prompts. Each row carries mention counts, the LLMs involved, the prompts that triggered the citation and the top URLs.
Attribution is name-anchored: a source is credited to the competitor only when the competitor's name (or its domain) actually appears in that citation's text, title or URL. It is not "everything cited in the same answer", so counts are precise rather than inflated.
When to use
Use it when the user wants to "build an outreach list of every site that mentions [competitor]", "find guest post targets where my competitor is winning", or "discover the long tail of citation sources behind a competitor's brand presence". This is the natural follow-up tool after list_competitors: pick a competitor with high totalMentions, then explore the sources feeding that visibility.
Input
| Field | Type | Default | Description |
|---|---|---|---|
projectId |
string (CUID) | required | Project to query. |
competitorId |
string (CUID) | required | Competitor to inspect. |
cursor |
string | — | Opaque pagination cursor from a prior pageInfo.nextCursor. |
limit |
integer | 20 | 1 to 100. |
filters.minMentions |
integer | 1 | Minimum mentions per source. |
filters.domainContains |
string | — | Case-insensitive domain substring. |
sortBy |
enum | mentions_desc |
mentions_desc or last_seen_desc. |
Response
data is one row per domain. topUrls shows the URLs driving the bulk of the mentions on that domain.
{
"data": [
{
"id": "clxsrc098",
"domain": "techcrunch.com",
"mentions": 14,
"llms": ["CHATGPT", "GEMINI"],
"promptIds": ["clxprompt001", "clxprompt007"],
"topUrls": [
{
"url": "https://techcrunch.com/2026/03/14/otterly-funding",
"mentions": 9
}
],
"firstSeenAt": "2026-03-14T00:00:00.000Z",
"lastSeenAt": "2026-04-22T00:00:00.000Z"
}
],
"pageInfo": { "hasMore": true, "nextCursor": "20", "totalCount": 28 },
"summary": {
"competitor": { "id": "clxcomp001", "name": "Otterly" },
"totalSources": 28,
"totalMentions": 89
}
}
Tips and patterns
- Sort by
mentions_descto find the highest-leverage outreach targets first. - Use
filters.minMentionsto drop one-off mentions and focus on recurring publishers. - Cross-reference each
domainwithlist_llm_sourcesfor your own brand to see whether you are also cited there. Domains where the competitor wins and you do not exist are top outreach picks.
Related tools
- list_competitors — find the right
competitorIdto inspect. - list_llm_sources — your own citation map for the same project.
- list_backlink_opportunities — convert a domain into a marketplace-priced outreach target.