Domain breakdown
const url = 'https://dashboard.justcrawl.io/api/v1/analytics/domains';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/domains \ --header 'Authorization: Bearer <token>'Top domains by request volume over the window, plus per-domain success rate, latency,
and cost. Org-scoped, cached read. Sorted by request count desc; capped at limit
rows.
Cache coverage: the analytics service currently pre-populates only the
(hours=24, limit=20) key (see services/analytics/src/cache-pusher.ts). Other
(hours, limit) combinations return an empty array — deliberate caching budget
decision, not a missing-data signal.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Lookback window in hours (default 24, max 720). Only hours=24 is cache-populated today.
Top-N cap (default 20, max 100). Only limit=20 (at hours=24) is cache-populated today.
Responses
Section titled “ Responses ”Top-N domains by request volume.
object
Example generated
[ {}]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"}