Get web vitals
GET
The p50, p75, p90 and p99 of LCP, CLS, INP, FCP and TTFB in the window, with their sample counts and how many were good, needing improvement (ni) or poor by Google's thresholds.
Requires analytics:read on the site (an API key, or a signed-in member's role). Share links: allowed, with the analytics:read scope. Public sites: open to everyone, no credential needed.
header
x-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
siteId*stringstart?stringend?stringlast?stringall?"true"Value in
"true"tz?stringbucket?stringValue in
"minute""5m""15m""hour""day""week""month""year"filters?stringLength
length <= 64000segment?stringMatch
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Format
uuidOK
application/json- response
data*meta*curl -X GET 'https://pilotfox.app/api/v1/sites/string/vitals'Example Response200
{ "data": { "lcp": { "p50": 0, "p75": 0, "p90": 0, "p99": 0, "good": 0, "ni": 0, "poor": 0, "count": 0 }, "cls": { "p50": 0, "p75": 0, "p90": 0, "p99": 0, "good": 0, "ni": 0, "poor": 0, "count": 0 }, "inp": { "p50": 0, "p75": 0, "p90": 0, "p99": 0, "good": 0, "ni": 0, "poor": 0, "count": 0 }, "fcp": { "p50": 0, "p75": 0, "p90": 0, "p99": 0, "good": 0, "ni": 0, "poor": 0, "count": 0 }, "ttfb": { "p50": 0, "p75": 0, "p90": 0, "p99": 0, "good": 0, "ni": 0, "poor": 0, "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" }}