Fetch Websites Usage
const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startDate: '2026-02-08 00:00:00',
endDate: '2026-02-08 23:59:59',
timeZone: 'Asia/Kolkata',
userId: ['ab7c4f30-1024-471a-a767-739df0dc53fd'],
teamId: []
})
};
fetch('https://api.trackpilots.com/v1/proof-of-work/app-usage/websites', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://api.trackpilots.com/v1/proof-of-work/app-usage/websites \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"startDate": "2026-02-08 00:00:00",
"endDate": "2026-02-08 23:59:59",
"timeZone": "Asia/Kolkata",
"userId": [
"ab7c4f30-1024-471a-a767-739df0dc53fd"
],
"teamId": []
}
'import requests
url = "https://api.trackpilots.com/v1/proof-of-work/app-usage/websites"
payload = {
"startDate": "2026-02-08 00:00:00",
"endDate": "2026-02-08 23:59:59",
"timeZone": "Asia/Kolkata",
"userId": ["ab7c4f30-1024-471a-a767-739df0dc53fd"],
"teamId": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text){
"success": true,
"statusCode": 200,
"statusMessage": "Fetched websites successfully",
"error": null,
"data": {
"summary": {
"totalWebsiteTimeSpentSeconds": 122404
},
"websitesUsage": {
"websites": [
{
"domain": "chatgpt.com",
"iconUrl": "https://chatgpt.com/favicon.ico",
"timeSpentSeconds": 8375
}
]
}
}
}PoW - App Usage
Fetch Websites Usage
GET
/
v1
/
proof-of-work
/
app-usage
/
websites
Fetch Websites Usage
const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startDate: '2026-02-08 00:00:00',
endDate: '2026-02-08 23:59:59',
timeZone: 'Asia/Kolkata',
userId: ['ab7c4f30-1024-471a-a767-739df0dc53fd'],
teamId: []
})
};
fetch('https://api.trackpilots.com/v1/proof-of-work/app-usage/websites', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://api.trackpilots.com/v1/proof-of-work/app-usage/websites \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"startDate": "2026-02-08 00:00:00",
"endDate": "2026-02-08 23:59:59",
"timeZone": "Asia/Kolkata",
"userId": [
"ab7c4f30-1024-471a-a767-739df0dc53fd"
],
"teamId": []
}
'import requests
url = "https://api.trackpilots.com/v1/proof-of-work/app-usage/websites"
payload = {
"startDate": "2026-02-08 00:00:00",
"endDate": "2026-02-08 23:59:59",
"timeZone": "Asia/Kolkata",
"userId": ["ab7c4f30-1024-471a-a767-739df0dc53fd"],
"teamId": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text){
"success": true,
"statusCode": 200,
"statusMessage": "Fetched websites successfully",
"error": null,
"data": {
"summary": {
"totalWebsiteTimeSpentSeconds": 122404
},
"websitesUsage": {
"websites": [
{
"domain": "chatgpt.com",
"iconUrl": "https://chatgpt.com/favicon.ico",
"timeSpentSeconds": 8375
}
]
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
- Option 1
- Option 2
Either userId or teamId must be provided. Both cannot be empty.
Example:
"2026-02-08 00:00:00"
Example:
"2026-02-08 23:59:59"
IANA timezone of the requester
Example:
"Asia/Kolkata"
List of user UUIDs to fetch screenshots for
List of team UUIDs to fetch screenshots for
Example:
[]
