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

# Activities Leaderboard

> Retrieve the activity tracker leaderboard of personal pages, returning 10 participants per page ranked by tracked steps, distance, or minutes.

## Query parameters

<ParamField query="basis" type="string" required>
  Basis of activity. Allowed values: `distance`, `time`, `daily`
</ParamField>

<ParamField query="page" type="integer">
  Page number. Default: `1`
</ParamField>

<ParamField query="limit" type="integer">
  Number of results to return. Default: `10`
</ParamField>

<ParamField query="text" type="string">
  Search term.
</ParamField>

<ParamField query="activity_type" type="string">
  Activity type name.
</ParamField>

<ParamField query="include_archived" type="integer">
  Include archived activities. Default: `0`
</ParamField>

<ParamField query="include_finished" type="integer">
  Include finished activities. Default: `0`
</ParamField>

<ParamField query="fundraiser_id" type="integer">
  Filter by campaign ID.
</ParamField>

<ParamField query="lang" type="string">
  API's locale. Allowed values: `en`, `fr`
</ParamField>

## Response

Returns an array of objects with the following fields.

<ResponseField name="total" type="number">
  Tracked value.
</ResponseField>

<ResponseField name="activity_tracker" type="object">
  <Expandable title="properties">
    <ResponseField name="name" type="string">
      Activity's name.
    </ResponseField>

    <ResponseField name="basis" type="string">
      Activity basis' name. Allowed values: `daily`, `time`, `distance`
    </ResponseField>

    <ResponseField name="types" type="object[]">
      List of activity types.

      <Expandable title="properties">
        <ResponseField name="name" type="string">
          Activity type's name.
        </ResponseField>

        <ResponseField name="total" type="number">
          Activity type's tracked value.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="fundraiser_page" type="object">
  <Expandable title="properties">
    <ResponseField name="name" type="string">
      Personal page name.
    </ResponseField>

    <ResponseField name="fundraiser" type="object">
      <Expandable title="properties">
        <ResponseField name="name" type="string">
          Campaign that personal page belongs to.
        </ResponseField>

        <ResponseField name="organization" type="object">
          <Expandable title="properties">
            <ResponseField name="name" type="string">
              Campaign organization's name.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="team" type="object">
      <Expandable title="properties">
        <ResponseField name="name" type="string">
          Team name that personal page belongs to (if assigned to a team).
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

**Other responses**

| Status | Description |
| ------ | ----------- |
| `400`  | Bad Request |
| `403`  | Forbidden   |

<ResponseExample>
  ```json theme={null}
  [
  {
      "total": 1000,
      "activity_tracker": {
      "name": "Activity name.",
      "basis": "distance",
      "types": [
  {
      "name": "Run.",
      "total": 1000
  }
      ]
  },
      "fundraiser_page": {
      "name": "Personal page name.",
      "fundraiser": {
      "name": "Campaign name",
      "organization": {
      "name": "Organization name."
  }
  },
      "team": {
      "name": "Team name."
  }
  }
  }
  ]
  ```
</ResponseExample>
