Get a tracked link with its stats
GET
/links/{id}
const url = 'https://app.whatsetter.com/api/v1/links/example';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://app.whatsetter.com/api/v1/links/example \ --header 'Authorization: Bearer <token>'One link plus stats_30d, the numbers of the dashboard drawer:
clicks and by_channel over the last 30 days (platform read on each
click; direct = no platform signature), leads and qualified =
every conversation the link brought, all time. Requires scope
links:read.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string
Responses
Section titled “Responses”The link and its stats
Media typeapplication/json
object
data
object
id
string
slug
string
name
string | null
url
The public short link, https://app.whatsetter.com/l/<slug>.
string
campaign_id
The campaign slug the link routes to.
string | null
status
string
channel
auto = the platform is read on each click (default); otherwise a forced platform (instagram, tiktok, …).
string
clicks
Click counter
integer
last_click_at
string | null format: date-time
created_at
string format: date-time
stats_30d
object
clicks
Clicks in the last 30 days.
integer
by_channel
Clicks in the last 30 days per platform read on the click (direct = no signature).
object
key
additional properties
integer
leads
Conversations the link brought
integer
qualified
Of those
integer
Example
{ "data": { "id": "68d9aa11bb22cc33dd44ee55", "slug": "insta-bio", "name": "Instagram bio", "url": "https://app.whatsetter.com/l/insta-bio", "campaign_id": "auto24-maroc-4-bu76", "status": "active", "channel": "auto", "clicks": 128, "last_click_at": "2026-09-18T10:00:00.000Z", "created_at": "2026-09-01T08:00:00.000Z", "stats_30d": { "clicks": 128, "by_channel": { "instagram": 90, "tiktok": 30, "direct": 8 }, "leads": 41, "qualified": 12 } }}Missing, unknown or revoked API key
Media typeapplication/json
object
error
object
code
string
message
string
Examplegenerated
{ "error": { "code": "example", "message": "example" }}The key lacks the required scope
Media typeapplication/json
object
error
object
code
string
message
string
Examplegenerated
{ "error": { "code": "example", "message": "example" }}Resource not found in this workspace
Media typeapplication/json
object
error
object
code
string
message
string
Examplegenerated
{ "error": { "code": "example", "message": "example" }}
