> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clustr-ai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Engaged Prospects

> The Signals feed folded to one row per person your competitors are engaging

The same data as [the Signals feed](/api-reference/list-competitor-interactions), folded to one row per **person** rather than one row per interaction. This is the denoised default view: a rep who liked six of someone's posts is one row here and six there.

Each row gives the distinct competitors on that person, the rep and interaction counts (split into comments and reactions), the ICP verdict, your CRM state, whether any of their interactions was flagged critical, and the latest touch.

To see the individual interactions behind a row, call the flat feed with `?target=<target_linkedin_id>`.

Takes the same filters as the flat feed, minus `target` and `order`.

## Query parameters

<ParamField query="competitor_id" type="string">
  Scope to one tracked competitor. Repeatable. Omit for all.
</ParamField>

<ParamField query="from" type="string">
  Window start, RFC 3339.
</ParamField>

<ParamField query="to" type="string">
  Window end, RFC 3339.
</ParamField>

<ParamField query="crm" type="string" default="all">
  `all`, `in_crm`, `not_in_crm`, `open_deal`, or `customer`. `customer` keeps only accounts
  you already own, per your workspace's customer definition.
</ParamField>

<ParamField query="critical" type="string" default="all">
  `critical_only` keeps just people with a flagged interaction.
</ParamField>

<ParamField query="type" type="string">
  `comment`, `like` or `share`. Repeatable.
</ParamField>

<ParamField query="limit" type="integer">
  Page size, in people.
</ParamField>

<ParamField query="offset" type="integer" default="0">
  Offset for the next page.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -G https://api.clustr-ai.com/api/public/competitor-interactions/prospects \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -d limit=25
  ```

  ```python Python theme={null}
  import requests

  requests.get(
      "https://api.clustr-ai.com/api/public/competitor-interactions/prospects",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
      params={"limit": 25},
  )
  ```

  ```javascript JavaScript theme={null}
  await fetch(
    "https://api.clustr-ai.com/api/public/competitor-interactions/prospects?limit=25",
    { headers: { Authorization: "Bearer YOUR_API_KEY" } },
  );
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "prospects": [
        {
          "target_linkedin_id": "dana-p",
          "target_name": "Dana Patel",
          "target_job_title": "VP Revenue Operations",
          "company_name": "Northwind Trading",
          "company_domain": "northwind.com",
          "competitor_ids": ["c1a2b3c4-d5e6-7890-abcd-ef1234567890"],
          "interactions": 7,
          "comments": 2,
          "reactions": 5,
          "distinct_reps": 3,
          "icp_match": true,
          "icp_matched_keyword": "revenue operations",
          "has_critical": true,
          "critical_reason": "Rep offered a direct product comparison to a VP at an account with an open deal.",
          "in_crm": true,
          "is_customer": false,
          "has_open_deal": true,
          "latest_at": "2026-07-28T14:02:11Z",
          "latest_type": "comment"
        }
      ],
      "has_more": false,
      "next_offset": 0
    }
  }
  ```
</ResponseExample>
