Get timeseries data
const url = 'https://dashboard.justcrawl.io/api/v1/analytics/timeseries?interval=5m';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://dashboard.justcrawl.io/api/v1/analytics/timeseries?interval=5m' \ --header 'Authorization: Bearer <token>'Bucketed time-series points for the dashboard chart — request count, success rate, and latency per bucket. Org-scoped, cached read.
The interval enum (5m / 15m / 30m / 1h / 6h / 1d) is the bucket width.
Unsupported values return 400 — the bucketed cache only exists for these widths, by
design (the analytics service pre-computes them on a fixed schedule). Empty array when
the cache is cold.
Cache coverage — the analytics service pre-populates only these specific
(hours, interval) pairs (defined in services/analytics/src/cache-pusher.ts,
constant TIMESERIES_CONFIGS) — (1, 5m), (6, 15m), (24, 30m), (168, 6h),
(720, 1d). Other combinations are accepted by the schema but return an empty array.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Lookback window in hours. Cache-populated values are 1, 6, 24, 168, and 720 — each paired with a specific interval per the description above.
Bucket width (default 1h). Must be the interval paired with hours in TIMESERIES_CONFIGS to return data.
Responses
Section titled “ Responses ”Array of bucketed timeseries points.
object
Example generated
[ {}]Validation failed — request body or query is missing/invalid
object
Example
{ "error": "Missing or invalid \"url\" field"}Missing or invalid authentication token
object
Example
{ "error": "Missing or invalid authentication token"}Insufficient permissions for this operation
object
Example
{ "error": "No organization. Complete onboarding first."}Unexpected server error. Logs and PostHog $exception capture
object
Example
{ "error": "Something went wrong"}