PilotFoxDocs
REST APIAPI referenceSearch Console

Get search insights

GET
/api/v1/sites/{siteId}/search-console/insights

Queries of one kind (type) against the comparison window (else the same number of days just before the window): winners and losers (clicks gained or lost), new and lost (impressions in one window only), striking (average position 8 to 20, 10 impressions or more: a small gain reaches page one) or ctr (page-one queries with 50 impressions or more and a CTR below half the site's own for their position).

Requires searchConsole: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: searchConsole:read

Path Parameters

siteId*string

Query Parameters

start?string
end?string
last?string
all?"true"
Value in"true"
bucket?string
Value in"day""week""month"
compare?string
Value in"previous""year"
compare_start?string
compare_end?string
type*string
Value in"winners""losers""new""lost""striking""ctr"
limit?integer
Range1 <= value <= 200
Default50

Response Body

OK

application/json
  1. response
data*array<>
meta*
Example Request
curl -X GET 'https://pilotfox.app/api/v1/sites/string/search-console/insights?type=winners'
Example Response200
{  "data": [    {      "clicks": 0,      "impressions": 0,      "ctr": 0,      "position": 0,      "query": "string",      "previous": {        "clicks": 0,        "impressions": 0,        "ctr": 0,        "position": 0      },      "band_ctr": 0,      "missed_clicks": 0    }  ],  "meta": {    "window": {      "from": "string",      "to": "string",      "tz": "America/Los_Angeles",      "bucket": "day"    },    "compare": {      "from": "string",      "to": "string"    },    "totalCount": 0,    "previousAvailable": true,    "cache": "hit"  }}