list_bulk_audit_competitors

list_bulk_audit_competitors MCP tool: competitor candidates of a bulk GEO Audit campaign, ranked by mentions, plus the frozen selection. Inputs, response, example.

Updated 2026-09-21

list_bulk_audit_competitors returns the competitor candidates of a bulk GEO Audit campaign, extracted from its shared scan results and ranked by the number of results that mentioned them, plus the names already frozen as the selection.

When to use

When a campaign reaches CURATING, call this tool to see which brands the LLMs surfaced across the whole segment. One curation covers the entire campaign and is projected onto every target report, so this is the single review step for a batch of N audits. Pass the picked names to select_bulk_audit_competitors.

Input

Field Type Default Description
bulkAuditId string (CUID) - The campaign id returned by list_bulk_audits. Returns bulk_audit_not_found if it does not belong to your workspace.
limit integer (1-200) 50 Max candidates per page, sorted by descending mention count.
cursor string - Opaque cursor from a previous page's pageInfo.nextCursor.

Response

{
  "success": true,
  "bulkAuditId": "clx_bulk_42",
  "status": "CURATING",
  "curatable": true,
  "selectedCompetitors": [],
  "suggestedCompetitors": [
    { "name": "Acme", "count": 37 },
    { "name": "Globex", "count": 12 }
  ],
  "pageInfo": { "hasMore": true, "nextCursor": "50", "totalCount": 806 }
}

Field notes:

  • count is the number of scan results that mentioned the brand. An entity is counted at most once per result, so a brand cited three times in one response does not outweigh one that surfaces in three different responses.
  • curatable is true only when status is CURATING, the single status where a selection can be submitted.
  • selectedCompetitors reflects what is already frozen on the campaign (empty until curation is submitted).

Not found

{ "success": false, "error": "bulk_audit_not_found", "message": "No bulk campaign with this id exists in your workspace. Verify the bulkAuditId returned by list_bulk_audits." }

Tips and patterns

  • Branch on curatable. If it is false, do not call select_bulk_audit_competitors: the campaign is not waiting on a selection.
  • The first page is usually enough. Candidates are pre-sorted by count; deeper pages are the single-mention long tail.
  • Targets can appear as candidates. A bulk campaign's own targets sometimes surface as entities in the shared scan. Keeping or dropping them is your call.

Related tools

You can see where you stand today.

Free trial. Start tracking your AI visibility, no credit card.