List sites
curl --request GET \
--url https://app.usertick.com/api/public/v1/sites \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.usertick.com/api/public/v1/sites', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.usertick.com/api/public/v1/sites"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"domain": "<string>",
"connected": true,
"connectedAt": "2026-09-30T10:00:00.000Z",
"createdAt": "2026-09-30T10:00:00.000Z"
}
],
"nextCursor": "<string>"
}Surveys
List sites
The organization’s sites, connected or not (connected says which), by domain.
Scopes: surveys:read.
GET
/
sites
List sites
curl --request GET \
--url https://app.usertick.com/api/public/v1/sites \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.usertick.com/api/public/v1/sites', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.usertick.com/api/public/v1/sites"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"domain": "<string>",
"connected": true,
"connectedAt": "2026-09-30T10:00:00.000Z",
"createdAt": "2026-09-30T10:00:00.000Z"
}
],
"nextCursor": "<string>"
}Authorizations
bearerAuthapiKeyHeader
An API key (utk_live_...) or an app's OAuth access token (uto_...).
Query Parameters
Items per page, 1 to 100 (default 25). Out of range is 400 PUB-001-001.
Required range:
1 <= x <= 100The nextCursor of the previous page. Opaque: send it back as it came.