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

# Get Summary Analytics

> Get aggregated analytics across all your links or filter by tag

## Request

### Headers

### Query Parameters

<ParamField query="startDate" type="string">
  Filter analytics from this date (ISO 8601 format: YYYY-MM-DD)

  **Example:** `2026-01-01`
</ParamField>

<ParamField query="endDate" type="string">
  Filter analytics up to this date (ISO 8601 format: YYYY-MM-DD)

  **Example:** `2026-01-31`
</ParamField>

<ParamField query="tag" type="string">
  Filter to links with this specific tag

  **Example:** `summer2026`
</ParamField>

<ParamField query="groupId" type="string">
  Filter to links in this group

  **Example:** `grp_abc123`
</ParamField>

## Response

<ResponseField name="totalLinks" type="number">
  Total number of links included in analytics
</ResponseField>

<ResponseField name="totalClicks" type="number">
  Aggregate click count across all links
</ResponseField>

<ResponseField name="uniqueVisitors" type="number">
  Aggregate unique visitors across all links
</ResponseField>

<ResponseField name="averageClicksPerLink" type="number">
  Average clicks per link
</ResponseField>

<ResponseField name="topLinks" type="array">
  Top performing links

  <Expandable title="properties">
    <ResponseField name="linkId" type="string">
      Link ID
    </ResponseField>

    <ResponseField name="shortUrl" type="string">
      Short URL
    </ResponseField>

    <ResponseField name="clicks" type="number">
      Click count for this link
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="topCountries" type="array">
  Top countries by click count

  <Expandable title="properties">
    <ResponseField name="country" type="string">
      Country code
    </ResponseField>

    <ResponseField name="clicks" type="number">
      Clicks from this country
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="clicksOverTime" type="array">
  Daily click counts

  <Expandable title="properties">
    <ResponseField name="date" type="string">
      Date (YYYY-MM-DD)
    </ResponseField>

    <ResponseField name="clicks" type="number">
      Total clicks on this date
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.bouncy.ai/v1/analytics/summary \
    -H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY"
  ```

  ```bash cURL (Filter by Tag) theme={null}
  curl "https://api.bouncy.ai/v1/analytics/summary?tag=summer2026" \
    -H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  // Get overall summary
  const response = await fetch(
    'https://api.bouncy.ai/v1/analytics/summary',
    {
      headers: {
        'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY'
      }
    }
  );

  const summary = await response.json();
  console.log(`Total clicks: ${summary.totalClicks}`);
  console.log(`Average per link: ${summary.averageClicksPerLink}`);
  ```

  ```javascript JavaScript (Campaign Analytics) theme={null}
  // Get analytics for a specific campaign
  const response = await fetch(
    'https://api.bouncy.ai/v1/analytics/summary?tag=summer2026&startDate=2026-06-01&endDate=2026-08-31',
    {
      headers: {
        'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY'
      }
    }
  );

  const campaignAnalytics = await response.json();
  console.log(`Campaign clicks: ${campaignAnalytics.totalClicks}`);
  ```

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

  response = requests.get(
      'https://api.bouncy.ai/v1/analytics/summary',
      headers={'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY'},
      params={
          'tag': 'summer2026',
          'startDate': '2026-06-01',
          'endDate': '2026-08-31'
      }
  )

  summary = response.json()
  print(f"Total clicks: {summary['totalClicks']}")
  print(f"Top link: {summary['topLinks'][0]['shortUrl']}")
  ```
</RequestExample>

<ResponseExample>
  ```json 200 Success theme={null}
  {
    "totalLinks": 245,
    "totalClicks": 45678,
    "uniqueVisitors": 32456,
    "averageClicksPerLink": 186,
    "topLinks": [
      {
        "linkId": "link_abc123",
        "shortUrl": "https://bouncy.ai/summer",
        "clicks": 2345
      },
      {
        "linkId": "link_def456",
        "shortUrl": "https://bouncy.ai/promo",
        "clicks": 1987
      },
      {
        "linkId": "link_ghi789",
        "shortUrl": "https://bouncy.ai/sale",
        "clicks": 1654
      }
    ],
    "topCountries": [
      { "country": "US", "clicks": 15678 },
      { "country": "GB", "clicks": 8765 },
      { "country": "CA", "clicks": 5432 }
    ],
    "clicksOverTime": [
      { "date": "2026-02-01", "clicks": 234 },
      { "date": "2026-02-02", "clicks": 345 },
      { "date": "2026-02-03", "clicks": 456 },
      { "date": "2026-02-04", "clicks": 389 },
      { "date": "2026-02-05", "clicks": 412 },
      { "date": "2026-02-06", "clicks": 298 }
    ]
  }
  ```

  ```json 200 Campaign Analytics theme={null}
  {
    "totalLinks": 15,
    "totalClicks": 5678,
    "uniqueVisitors": 4123,
    "averageClicksPerLink": 378,
    "topLinks": [
      {
        "linkId": "link_summer1",
        "shortUrl": "https://bouncy.ai/summer-ig",
        "clicks": 987
      }
    ],
    "topCountries": [
      { "country": "US", "clicks": 2345 },
      { "country": "GB", "clicks": 1234 }
    ],
    "clicksOverTime": [
      { "date": "2026-06-01", "clicks": 45 },
      { "date": "2026-06-02", "clicks": 67 }
    ]
  }
  ```
</ResponseExample>
