Speed across projects
As the per-project route.
An API token from POST /v2/tokens (at_live_...), or a project's secret key (sk_...) for server-side ingest.
In: header
Query Parameters
Start of the range; send with to.
date-timeEnd of the range, exclusive.
date-timeA range ending at the start of today in UTC (24h ends at the start of this hour). Ignored when from and to are sent; 30d by default.
Value in
- "24h"
- "7d"
- "30d"
- "90d"
- "12mo"
- "all"
filter[route], filter[page] and filter[country]; a value, or !value to exclude.
mobile (tablets included), desktop or all (the default).
Value in
- "mobile"
- "desktop"
- "all"
production (the default) leaves preview deployments out, preview keeps only them, all keeps both.
Value in
- "production"
- "preview"
- "all"
Bucket size in UTC: day (the default) or hour, which covers at most 7 days and only the last 30 days of raw samples.
Value in
- "hour"
- "day"
route (the default) groups by the route the SDK reported, falling back to the path; path groups by the path.
Value in
- "route"
- "path"
Which percentile of the samples the values show; default 75.
Value in
- "50"
- "75"
- "90"
- "95"
- "99"
The Web Vital: lcp, inp, cls, fcp or ttfb. Required on speed/timeseries and speed/elements.
Value in
- "lcp"
- "inp"
- "cls"
- "fcp"
- "ttfb"
Rows per page, 1 to 100 (default 20), or up to 1000 with format.
1 <= value <= 1000The opaque nextCursor of the previous page.
1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v2/speed"{ "data": { "score": 94, "rating": "good", "samples": 1204, "metrics": { "lcp": { "value": 2710, "rating": "needs-improvement", "score": 86, "samples": 1204, "shares": { "good": 0.64, "needsImprovement": 0.27, "poor": 0.09 } }, "inp": { "value": 140, "rating": "good", "score": 96, "samples": 988, "shares": { "good": 0.88, "needsImprovement": 0.1, "poor": 0.02 } }, "cls": { "value": 0.06, "rating": "good", "score": 98, "samples": 1204, "shares": { "good": 0.91, "needsImprovement": 0.07, "poor": 0.02 } }, "fcp": { "value": 1520, "rating": "good", "score": 96, "samples": 1204, "shares": { "good": 0.8, "needsImprovement": 0.15, "poor": 0.05 } }, "ttfb": { "value": 420, "rating": "good", "score": null, "samples": 1204, "shares": { "good": 0.86, "needsImprovement": 0.11, "poor": 0.03 } } } }, "percentile": 75, "device": "mobile", "environment": "production", "range": { "from": "2026-08-28T00:00:00.000Z", "to": "2026-09-27T00:00:00.000Z" }, "traffic": "human"}