> ## 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 Competitor Customer People

> Who to talk to at one of a competitor's customers, and how to reach them

The people at one of a competitor's [customers](https://docs.clustr-ai.com/api-reference/list-competitor-customers.md), in two
lists:

* `contacts`: the people found at the customer through the competitor, as the customer list
  carries them (`found_via`: `testimonial`, `tagged` in a post, `buying_committee`,
  `cs_counterpart`).
* `buyers`: up to 20 people at the customer your network can reach whose title is one of your
  [buyer titles](https://docs.clustr-ai.com/buyer-titles.md). They are the ways in the account page shows for the customer's
  LinkedIn company: the same paths, one row per person, strongest first. Each has the connector
  of their strongest path (`connector_id`, `connector_name`), its `strength` (0 to 1), and
  `in_crm` when your CRM has them.

When `buyers` is empty, `buyers_note` says why: the customer is not matched to a LinkedIn company
yet, Clustr holds no data on its people yet, or nobody in your network reaches someone with one of
your buyer titles there.

```bash cURL theme={null}
curl https://api.clustr-ai.com/api/public/competitors/cmp_r0jpyyqyeh0txpgdhb604j2g9s/customers/ccus_3jm919aa345jdss56074sb5vy2/people \
  -H "Authorization: Bearer YOUR_API_KEY"
```

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

requests.get(
    "https://api.clustr-ai.com/api/public/competitors/cmp_r0jpyyqyeh0txpgdhb604j2g9s/customers/ccus_3jm919aa345jdss56074sb5vy2/people",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)
```

```javascript JavaScript theme={null}
await fetch(
  "https://api.clustr-ai.com/api/public/competitors/cmp_r0jpyyqyeh0txpgdhb604j2g9s/customers/ccus_3jm919aa345jdss56074sb5vy2/people",
  { headers: { Authorization: "Bearer YOUR_API_KEY" } },
);
```

```json 200 theme={null}
{
  "success": true,
  "data": {
    "contacts": [
      {
        "name": "Peter Gibbons",
        "title": "VP Operations",
        "linkedin_url": "https://www.linkedin.com/in/peter-gibbons",
        "found_via": "testimonial",
        "evidence_url": "https://globex.com/customers/initech"
      }
    ],
    "buyers": [
      {
        "clustr_person_id": "per_301crtztepx2wrs9e88mykfppq",
        "clustr_connector_person_id": "per_43tc7be9r47h1tn14n02a84raa",
        "person_id": "samir-nagheenanajar",
        "linkedin_url": "https://www.linkedin.com/in/samir-nagheenanajar",
        "name": "Samir Nagheenanajar",
        "title": "Head of Engineering",
        "avatar_url": "https://media.licdn.com/dms/image/samir.jpg",
        "in_crm": false,
        "connector_name": "Alex Rivera",
        "connector_id": "alex-rivera",
        "strength": 0.82
      }
    ]
  }
}
```


## OpenAPI

````yaml GET /competitors/{id}/customers/{customerId}/people
openapi: 3.1.0
info:
  title: Clustr Public API
  description: >
    Programmatic access to your Clustr network: import connectors, search warm
    intros (opportunities), and manage target accounts.


    ## Authentication

    All endpoints require a Bearer token (API key) in the `Authorization`
    header.


    ```

    Authorization: Bearer <your_api_key>

    ```


    API keys can be created and managed from the [API settings
    page](https://app.clustr-ai.com/api).
  version: '1.0'
  contact:
    name: Clustr Support
    url: https://clustr-ai.com
servers:
  - url: https://api.clustr-ai.com/api/public
    description: Production
security:
  - BearerAuth: []
paths:
  /competitors/{id}/customers/{customerId}/people:
    get:
      tags:
        - Competitor Monitoring
      summary: List Competitor Customer People
      description: >
        The people at one of a competitor's customers: `contacts`, the people
        found there through

        the competitor, and `buyers`, up to 20 people there your network can
        reach whose title is

        one of your buyer titles, each with the best way in (the connector of
        their strongest path

        and its strength) and whether they are in your CRM. When `buyers` is
        empty,

        `buyers_note` says why.
      operationId: listCompetitorCustomerPeople
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            The competitor's Clustr ID (`cmp_…`), from [List
            Competitors](/api-reference/list-competitors).

            The id from earlier responses also works.
          schema:
            type: string
          example: cmp_s4dm416qdy3kg7bgc6xycfav80
        - name: customerId
          in: path
          required: true
          description: >-
            The customer's Clustr ID (`ccus_…`), from [List Competitor

            Customers](/api-reference/list-competitor-customers). The id from
            earlier responses also works.
          schema:
            type: string
          example: ccus_j1akyz5ybhp26nx2b1xrwbv830
      responses:
        '200':
          description: The contacts and the buyers at the customer
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - data
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    $ref: '#/components/schemas/CompetitorCustomerPeople'
        '401':
          description: Invalid or missing API key
        '403':
          description: Competitor monitoring is not enabled for this workspace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Competitor or customer not found
components:
  schemas:
    CompetitorCustomerPeople:
      type: object
      description: The people at one competitor customer.
      properties:
        contacts:
          type: array
          description: People found at the customer through the competitor, and how.
          items:
            type: object
            properties:
              name:
                type: string
              title:
                type: string
                nullable: true
              linkedin_url:
                type: string
                nullable: true
              found_via:
                type: string
                enum:
                  - testimonial
                  - tagged
                  - buying_committee
                  - cs_counterpart
                  - product_user
              evidence_url:
                type: string
                nullable: true
        buyers:
          type: array
          description: >-
            Up to 20 people at the customer your network can reach whose title
            is one of your buyer titles, strongest path first.
          items:
            type: object
            properties:
              clustr_person_id:
                type: string
                description: >-
                  The person's Clustr ID, for example
                  `per_eb3rtrkby72czz8cr41wemcjpb`.
                example: per_eb3rtrkby72czz8cr41wemcjpb
              clustr_connector_person_id:
                type: string
                description: >-
                  The Clustr ID of the connector of their strongest path, for
                  example

                  `per_7bbqgbat3xvp045g0mehdmvvwv`.
                example: per_7bbqgbat3xvp045g0mehdmvvwv
              person_id:
                type: string
                description: Their LinkedIn id.
              linkedin_url:
                type: string
              name:
                type: string
                example: Peter Gibbons
              title:
                type: string
                example: VP Operations
              avatar_url:
                type: string
              in_crm:
                type: boolean
                description: True when the person is in your CRM.
              connector_id:
                type: string
                description: The connector of their strongest path.
              connector_name:
                type: string
              strength:
                type: number
                description: The strength of that path, from 0 to 1.
                example: 0.82
        buyers_note:
          type: string
          description: Explains why `buyers` is empty. Present only when it is.
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            message:
              type: string
              example: Invalid request body
            code:
              type: string
              example: BAD_REQUEST
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: The API key you created on the API settings page of the Clustr app.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.