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

# List speaker profiles

> Retrieve a paginated list of speaker profiles recognized across your meetings.

Returns speaker profiles that have been identified and saved across your meetings. Speaker profiles allow Mavio to consistently identify the same person across different meetings, even on different platforms.

<ParamField query="limit" type="integer" default="20">
  Number of profiles to return per page. Must be between 1 and 100.
</ParamField>

<ParamField query="offset" type="integer" default="0">
  Number of profiles to skip for pagination.
</ParamField>

<ParamField query="search" type="string">
  Filter profiles by name or email. Case-insensitive partial match.
</ParamField>

### Response

<ResponseField name="data" type="array">
  An array of speaker profile objects.

  <Expandable title="Speaker profile object">
    <ResponseField name="id" type="string">
      Unique speaker profile identifier (e.g., `spk_a1b2c3d4e5`).
    </ResponseField>

    <ResponseField name="name" type="string">
      Display name of the speaker.
    </ResponseField>

    <ResponseField name="email" type="string | null">
      Email address if available.
    </ResponseField>

    <ResponseField name="organization" type="string | null">
      Organization or company name if provided.
    </ResponseField>

    <ResponseField name="meeting_count" type="integer">
      Number of meetings this speaker has appeared in.
    </ResponseField>

    <ResponseField name="total_speaking_seconds" type="integer">
      Total speaking time across all meetings in seconds.
    </ResponseField>

    <ResponseField name="last_seen_at" type="string">
      ISO 8601 timestamp of the speaker's most recent meeting appearance.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp when the profile was created.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object">
  Pagination metadata.

  <Expandable title="Pagination object">
    <ResponseField name="total" type="integer">
      Total number of speaker profiles matching the filters.
    </ResponseField>

    <ResponseField name="limit" type="integer">
      The limit used in this request.
    </ResponseField>

    <ResponseField name="offset" type="integer">
      The offset used in this request.
    </ResponseField>

    <ResponseField name="has_more" type="boolean">
      Whether there are more results beyond this page.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -G https://api.mavioapp.com/v1/speaker-profiles \
    -H "Authorization: Bearer mvo_live_abc123" \
    -d limit=10 \
    -d search=sarah
  ```

  ```python Python theme={null}
  profiles = client.speaker_profiles.list(limit=10, search="sarah")
  for profile in profiles.data:
      print(f"{profile.name} — {profile.meeting_count} meetings, {profile.total_speaking_seconds}s total")
  ```

  ```javascript Node.js theme={null}
  const { data: profiles } = await client.speakerProfiles.list({
    limit: 10,
    search: 'sarah',
  });
  profiles.forEach(p => {
    console.log(`${p.name} — ${p.meeting_count} meetings, ${p.total_speaking_seconds}s total`);
  });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": [
      {
        "id": "spk_a1b2c3d4e5",
        "name": "Sarah Chen",
        "email": "sarah@example.com",
        "organization": "Acme Corp",
        "meeting_count": 24,
        "total_speaking_seconds": 18420,
        "last_seen_at": "2026-04-10T14:47:32Z",
        "created_at": "2026-01-15T09:00:00Z"
      },
      {
        "id": "spk_f6g7h8i9j0",
        "name": "Sarah Winters",
        "email": "swinters@example.com",
        "organization": null,
        "meeting_count": 3,
        "total_speaking_seconds": 2145,
        "last_seen_at": "2026-04-05T16:30:00Z",
        "created_at": "2026-03-20T11:00:00Z"
      }
    ],
    "pagination": {
      "total": 2,
      "limit": 10,
      "offset": 0,
      "has_more": false
    }
  }
  ```
</ResponseExample>
