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

# Get help center analytics

> Read help center visits, searches, article performance, and feedback for a time range.

Returns website analytics for one help center, not agent conversation metrics. Times are Unix **milliseconds**. The interval includes the start and excludes the end; `comparisonSummary` covers the preceding interval of equal duration.

Top lists are limited to 25 rows. Time-on-page and session-duration values are rounded seconds and can be null when capture data is unavailable. Empty lists are valid when the time range has no matching activity. Article/query trend fields compare the previous interval.

## Headers

**Authorization** `string` *required*

Bearer token containing your Fini workspace API key. Format: `Bearer fini_...` The key needs `read` scope.

## Path parameters

**id** `string` *required*

Help center ID from List help centers.

## Query parameters

**startEpoch** `number` *required*

Inclusive start in Unix milliseconds. Required.

**endEpoch** `number` *required*

Exclusive end in Unix milliseconds. Required.

**timezone** `string`

Timezone for day buckets and event timestamps, such as UTC. Defaults to UTC.

## Response

**summary** `object`

Views, sessions, search counts, result clicks, and duration metrics.

**comparisonSummary** `object`

The same metrics for the preceding interval.

**dailyViews** `object[]`

Day, views, visitors, and searches.

**sources** `object[]`

Traffic source and count.

**referrers** `object[]`

Referring domain and count.

**topArticles** `object[]`

Article ID, title, folder, views, search clicks, updated time, and optional feedback/duration/trend values.

**topFolders** `object[]`

Folder ID, title, and views.

**topSearches** `object[]`

Query, count, zeroResults, avgResults, clicks, and optional previousCount.

**feedback** `object`

Current/prior helpful and unhelpful counts, daily feedback, and top articles.

```bash cURL theme={null}
curl --request GET \
  --url 'https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC' \
  --header 'Authorization: Bearer fini_your_api_key'
```

```javascript Node.js theme={null}
const response = await fetch('https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC', {
  method: 'GET',
  headers: { Authorization: 'Bearer fini_your_api_key' }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
```

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

response = requests.get(
    "https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC",
    headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
data = response.json()
```

```json 200 OK theme={null}
{
  "summary": {
    "totalViews": 120,
    "articleViews": 80,
    "uniqueSessions": 60,
    "searches": 30,
    "zeroResultSearches": 2,
    "searchResultClicks": 20,
    "instantSearches": 25,
    "aiSearches": 5,
    "avgTimeOnPageSec": 42,
    "avgSessionDurationSec": 95
  },
  "comparisonSummary": {
    "totalViews": 100,
    "articleViews": 65,
    "uniqueSessions": 60,
    "searches": 30,
    "zeroResultSearches": 2,
    "searchResultClicks": 20,
    "instantSearches": 25,
    "aiSearches": 5,
    "avgTimeOnPageSec": 42,
    "avgSessionDurationSec": 95
  },
  "dailyViews": [
    {
      "day": "2026-10-28",
      "views": 120,
      "visitors": 60,
      "searches": 30
    }
  ],
  "sources": [
    {
      "source": "direct",
      "count": 120
    }
  ],
  "referrers": [
    {
      "domain": "example.com",
      "count": 20
    }
  ],
  "topArticles": [
    {
      "articleId": "9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e",
      "title": "Refund policy",
      "folderTitle": "Billing",
      "views": 80,
      "searchClicks": 20,
      "updatedAt": "2026-10-27T09:00:00.000Z",
      "helpful": 8,
      "unhelpful": 1,
      "avgTimeOnPageSec": 42,
      "previousViews": 65
    }
  ],
  "topFolders": [
    {
      "folderId": "44444444-4444-4444-8444-444444444444",
      "title": "Billing",
      "views": 80
    }
  ],
  "topSearches": [
    {
      "query": "refund",
      "count": 30,
      "zeroResults": 2,
      "avgResults": 3,
      "clicks": 20,
      "previousCount": 24
    }
  ],
  "feedback": {
    "summary": {
      "helpful": 8,
      "unhelpful": 1
    },
    "comparisonSummary": {
      "helpful": 6,
      "unhelpful": 1
    },
    "daily": [
      {
        "day": "2026-10-28",
        "helpful": 8,
        "unhelpful": 1
      }
    ],
    "topArticles": [
      {
        "articleId": "9c59b2df-5d5f-4c9e-a070-9ac3c2b1b24e",
        "title": "Refund policy",
        "folderTitle": "Billing",
        "helpful": 8,
        "unhelpful": 1
      }
    ]
  }
}
```

## Errors

400 for missing or nonnumeric epochs. Access is rejected if the help center is not owned by the API key's workspace. Use a valid timezone identifier.

All requests can return 401 for an invalid or revoked key, or 403 when the required scope is missing.


## Related topics

- [Export help center analytics](https://docs.usefini.com/en/api-reference/export-help-center-analytics.md)
- [Help Center](https://docs.usefini.com/en/deploy/helpcenter.md)
- [Overview](https://docs.usefini.com/en/api-reference/help-centers.md)


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