List the browsers visitors used
/v1/results/analytics/browsersLists the browsers visitors used, with each one's visitors and page views, most visitors first. It answers with a plain list, not a table: there is no paging, sorting or search, and the list stops at limit.
Browsers are named as Silktide recognizes them, so Safari on an iPhone is Mobile Safari, apart from Safari on a Mac. Browsers past limit are left out, not gathered into Other; Other is a browser Silktide did not recognize.
iconUrl is an image on the API host for showing beside the name; it is null for browsers Silktide has no icon for.
curl "https://api.eu.silktide.com/v1/results/analytics/browsers?view=all&period=last-90-days" \
-H "Authorization: silktide token=$SILKTIDE_API_KEY"{
"result": [
{
"browser": "Chrome",
"pageViews": 1160,
"visitors": 452,
"iconUrl": "https://api.eu.silktide.com/images/browser/chrome.png?v=2"
},
{
"browser": "Mobile Safari",
"pageViews": 309,
"visitors": 136,
"iconUrl": "https://api.eu.silktide.com/images/browser/safari.png?v=2"
},
{
"browser": "Firefox",
"pageViews": 168,
"visitors": 81,
"iconUrl": "https://api.eu.silktide.com/images/browser/firefox.png?v=2"
},
{
"browser": "WebKit",
"pageViews": 21,
"visitors": 5,
"iconUrl": null
}
],
"selector": "/v1/results/analytics/browsers",
"duration": 0.015
}Request
Query parameters
viewstringmatches^(all|[1-9]\d*)$The analytics view to read: its id, the number after
/analytics/in its address in Silktide, orallfor all of the account's analytics. Send this orwebsiteId.websiteIdintegerat least 1Instead of
view, a website whose analytics to read. The website must have Analytics set up.sectionIdintegerWith
websiteId, a section of the website. Defaults to0, the whole website.periodstringThe date range. Defaults to
all. The spaced forms (-7 days,month to date) are older names that keep working.customneedsfromandto.One of
alltodaylast-7-dayslast-30-dayslast-90-daysmonth-to-datelast-monthyear-to-datelast-12-monthscustom-7 days-30 days-90 days-1 monthmonth to dateyear to date-12 monthsfromstringWith
period=custom, the first day, such as2026-10-01.tostringWith
period=custom, the last day.timezonestringThe IANA time zone days are read in, such as
America/New_York. Defaults toUTC.filtersmap of stringsOnly visits matching every filter, keyed by what is filtered:
filters[url]=contains:/blog. Each value is{operator}:{value}, with operatoris,not,contains,starts,gtorlt. Keys includeurl,hostName,entryUrl,exitUrl,event,outgoingUrl,referrer,source,medium,campaign,content,term,countryCode,regionCode,language,deviceType(desktop,tabletormobile),operatingSystemandbrowser.limitintegerat least 1How many browsers to return, most visitors first. Defaults to
10.
Response
200JSON.
resultlist of objectsrequiredThe answer.
Show 4 fieldsHide fields
browserstringrequiredThe browser's name, such as
ChromeorMobile Safari.Unknownwhen none was recorded,Otherwhen it was not recognized.pageViewsintegerrequiredPage views in the browser.
visitorsintegerrequiredUnique visitors who used the browser.
iconUrlstringrequiredcan be nulluriAn icon for the browser, on the API host. Null when Silktide has none for it.
selectorstringrequiredThe query that answered, as its path:
/v1/results/scores.durationnumberrequiredSeconds Silktide took to answer.
Errors
| Status | Type | When |
|---|---|---|
| 404 | ModelNotFound | No view or website with that id exists in the account, or the API key's user cannot see it. |
| 403 | AccessDenied | The API key's user cannot read that analytics view. |
| 200 | ModelNotFound | The website has no Analytics set up. The body is an error despite the status. |
| 200 | InvalidRequest | Neither view nor websiteId was sent. The error's own status is 400 and properties.field is view. The body is an error despite the status. |
| 200 | InvalidArgument | A filter names a key or operator Analytics does not know. The body is an error despite the status. |
| 200 | InvalidArgument | period is not one of its values, or is custom without both from and to. The body is an error despite the status. |
| 401 | NotLoggedIn | No API key was sent, or it is not a key for this region.(any operation) |
| 429 | TooManyRequests | Too many requests to this path in five seconds. Retry after the number of seconds in the Retry-After header, which properties.retryAfter repeats.(any operation) |
| 503 | - | Silktide is busy. Retry after the number of seconds in the Retry-After header.(any operation) |
Every error has the same body. See Errors.
Access
- Permission
- View analytics view (View all analytics for `view=all`)
- Plan feature
- None
- Edition
- Silktide 4 and Silktide 5
- Cost
- Free
- Available since
- v1.0.0
Try it
Sends a real request to your account from this browser. Your key stays in this tab and goes only to the Silktide API.