curl --request GET \
--url 'https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/export/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC&report=searches' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch('https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/export/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC&report=searches', {
method: 'GET',
headers: { Authorization: 'Bearer fini_your_api_key' }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.text();
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/export/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC&report=searches",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
data = response.text
query,count,zeroResults,avgResults,clicks
refund,30,2,3,20
Help Centers
Export help center analytics
Download article, search, or event analytics as CSV.
GET
/
v2
/
helpcenter
/
{id}
/
analytics
/
export
/
public
curl --request GET \
--url 'https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/export/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC&report=searches' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch('https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/export/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC&report=searches', {
method: 'GET',
headers: { Authorization: 'Bearer fini_your_api_key' }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.text();
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/export/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC&report=searches",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
data = response.text
query,count,zeroResults,avgResults,clicks
refund,30,2,3,20
Returns a CSV download, not JSON. The response uses
Content-Type: text/csv; charset=utf-8 and an attachment filename such as helpcenter-searches-2026-10-29.csv.
Article and search reports are capped at 10,000 rows. Event exports are capped at 100,000 rows and ordered newest first. Split large exports into smaller time windows if you reach the cap. The interval includes startEpoch and excludes endEpoch, both in Unix milliseconds.
Article columns include articleId, title, folderTitle, views, searchClicks, and updatedAt. Search columns are shown below. Event columns include timestamp, eventType, articleTitle, folderTitle, searchQuery, resultCount, searchType, referrer, referringDomain, deviceType, and sessionId. Treat exports as workspace data; event reports can contain search queries and session identifiers.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs read scope.Path parameters
string
required
Help center ID from List help centers.
Query parameters
number
required
Inclusive start in Unix milliseconds. Required.
number
required
Exclusive end in Unix milliseconds. Required.
string
Timezone for day buckets and event timestamps, such as UTC. Defaults to UTC.
articles | searches | events
required
Report to export.
Response
string
Column headers and report rows; columns depend on the selected report. An empty dataset may produce an empty CSV.
curl --request GET \
--url 'https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/export/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC&report=searches' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch('https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/export/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC&report=searches', {
method: 'GET',
headers: { Authorization: 'Bearer fini_your_api_key' }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.text();
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/helpcenter/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/analytics/export/public?startEpoch=1793145600000&endEpoch=1793232000000&timezone=UTC&report=searches",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
data = response.text
query,count,zeroResults,avgResults,clicks
refund,30,2,3,20
Errors
400 for missing/nonnumeric epochs or a report other than articles, searches, or events. Access is restricted to help centers in the key’s workspace. All requests can return 401 for an invalid or revoked key, or 403 when the required scope is missing.Was this page helpful?

