Timeseries
Returns scan counts aggregated into time-series data points at the specified interval. Useful for building charts and analyzing scan trends over time. Optionally filter to a specific link.
GET
/v1/analytics/timeseries analytics:read Parameters
Query parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
interval | string | Yes | — | Aggregation interval: hour, day, week, or month. |
from_date | string | No | 30 days ago | Start date in ISO 8601 format (e.g. 2026-01-01). |
to_date | string | No | today | End date in ISO 8601 format (e.g. 2026-03-21). |
link_id | string | No | — | Filter to a specific link. Omit for workspace-wide data. |
Request examples
curl "https://xqr.co/api/v1/analytics/timeseries?interval=day&from_date=2026-03-01&to_date=2026-03-21" \ -H "Authorization: Bearer YOUR_API_KEY"const params = new URLSearchParams({ interval: "day", from_date: "2026-03-01", to_date: "2026-03-21",});
const res = await fetch( `https://xqr.co/api/v1/analytics/timeseries?${params}`, { headers: { Authorization: "Bearer YOUR_API_KEY", }, });
const { data, meta } = await res.json();import httpx
res = httpx.get( "https://xqr.co/api/v1/analytics/timeseries", headers={"Authorization": "Bearer YOUR_API_KEY"}, params={ "interval": "day", "from_date": "2026-03-01", "to_date": "2026-03-21", },)
timeseries = res.json()["data"]Response
200 OK
{ "data": { "interval": "day", "points": [ { "date": "2026-03-01", "scans": 142 }, { "date": "2026-03-02", "scans": 156 }, { "date": "2026-03-03", "scans": 98 }, { "date": "2026-03-04", "scans": 201 }, { "date": "2026-03-05", "scans": 187 } ] }, "meta": { "request_id": "req_g7h8i9", "rate_limit": { "remaining": 92, "reset_at": "2026-03-21T12:01:00Z" } }}Was this page helpful?
Thanks for your feedback!