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

# participantCounts()

> Returns the total number of present and hidden participants currently in the call.

`participantCounts()`

<Badge color="green">{"✓"} Prebuilt</Badge> <Badge color="green">{"✓"} Custom</Badge>

Returns participant totals for the current call, split between present and hidden participants. Useful when you only need counts — for example, a "people in room" indicator — without needing the full participant objects from [`participants()`](/reference/daily-js/instance-methods/participants).

Values are only updated after [`join()`](/reference/daily-js/instance-methods/join) completes. Pre-join steps like [`preAuth()`](/reference/daily-js/instance-methods/pre-auth) and [`startCamera()`](/reference/daily-js/instance-methods/start-camera) do not affect counts. The local participant is included in the totals.

## Return value

Returns `DailyParticipantCounts`:

<ResponseField name="present" type="number">
  Participants with `hasPresence: true` — visible to others and may be able to share media (depending on separate media permissions). These are the participants returned by [`participants()`](/reference/daily-js/instance-methods/participants).
</ResponseField>

<ResponseField name="hidden" type="number">
  Participants with `hasPresence: false` — not visible to others and unable to share media. Common in large meetings where some participants are passive viewers.
</ResponseField>

## Example

```javascript theme={null}
const { present, hidden } = call.participantCounts();
const total = present + hidden;
console.log(`${total} in call (${present} present, ${hidden} hidden)`);
```

## See also

<CardGroup>
  <Card title="Types" icon="t" iconType="solid">
    * [DailyParticipantPermissions](/reference/daily-js/types/daily-participant-permissions)
  </Card>

  <Card title="Methods" icon="code" iconType="solid">
    * [participants()](/reference/daily-js/instance-methods/participants)
    * [updateParticipant()](/reference/daily-js/instance-methods/update-participant)
  </Card>

  <Card title="Events" icon="bolt" iconType="solid">
    * [participant-counts-updated](/reference/daily-js/events/participant-events#participant-counts-updated)
  </Card>
</CardGroup>
