PilotFoxDocs

Get bot time series

GET
/api/v1/sites/{siteId}/bots/timeseries

Requests per time bucket of the top limit keys of one dimension (dim, the bot category by default), optionally of one category only.

Requires analytics:read on the site (an API key, or a signed-in member's role). Share links: 401.

Authorization

headerx-api-key<token>

An organization API key (ak_…), with the permissions and the sites it was created with. For servers and scripts: no cookie and no Origin check. Also accepted as Authorization: Bearer ak_… (apiKeyBearer). A request carries one credential: a key sent with a share token or a live session cookie is 400 (details.reason: ambiguous_credentials).

Scope: analytics:read

Path Parameters

siteId*string

Query Parameters

start?string
end?string
last?string
all?"true"
Value in"true"
tz?string
bucket?string
Value in"minute""5m""15m""hour""day""week""month""year"
dim?string
Default"bot_category"
Value in"bot_name""bot_operator""bot_category""asn_org""pathname""country""layer"
category?string

Only bot requests of this category

Value in"search""ai_crawler""ai_assistant""seo""monitoring""social_preview""scraper""automation""unknown"
limit?integer

The top keys by requests in the window

Range1 <= value <= 20
Default5

Response Body

OK

application/json
  1. response
data*array<>
meta*
Example Request
curl -X GET 'https://pilotfox.app/api/v1/sites/string/bots/timeseries'
Example Response200
{  "data": [    {      "key": "string",      "total": 0,      "series": [        {          "t": "string",          "count": 0        }      ]    }  ],  "meta": {    "window": {      "from": "string",      "to": "string",      "tz": "string",      "bucket": "minute"    },    "compare": {      "from": "string",      "to": "string"    },    "totalCount": -9007199254740991,    "nextCursor": "string",    "truncated": true,    "cache": "hit"  }}