GET /api/v1/links/{id}/analytics — scope analytics:read.
| Param | Type | Notes |
|---|---|---|
from |
date | Default: 30 days before to. Clamped to your plan’s retention (Free: 30 days) |
to |
date | Default: today |
{
"data": {
"range": { "from": "2026-06-22", "to": "2026-07-22" },
"totals": { "clicks": 1240, "uniques": 981, "botClicks": 77 },
"series": [{ "date": "2026-06-22", "clicks": 40, "uniques": 31 }],
"countries": [{ "value": "US", "clicks": 512 }],
"devices": [{ "value": "mobile", "clicks": 700 }],
"browsers": [{ "value": "Chrome", "clicks": 640 }],
"referrers": [{ "value": "news.ycombinator.com", "clicks": 210 }]
}
}Notes:
countriesandreferrersare the top 10 by clicks.- Bot traffic is excluded from every number except
totals.botClicks. uniquesis a privacy-conscious 24-hour estimate — see how uniques work.seriescontains only days with data; fill gaps client-side if you chart it.