---
title: "Broadcast clicks by link"
method: GET
path: "/v1/sites/{site_id}/broadcasts/{broadcast_id}/stats/clicks"
tags: ["Broadcasts"]
---

# Broadcast clicks by link

`GET /v1/sites/{site_id}/broadcasts/{broadcast_id}/stats/clicks`

## Request

- Base URL: `https://api.getsitecontrol.com`
- URL: `https://api.getsitecontrol.com/v1/sites/{site_id}/broadcasts/{broadcast_id}/stats/clicks`
- Auth: HTTP bearer

Clicks of one broadcast by link and link text. Without `from` and `to` they
cover the whole life of the broadcast, and `period` is null.

A link is given without its query string, user info and fragment; its path
is kept as it is. Clicks on links equal after that, with the same text, are
added up, and the 500 links with the most clicks are listed. Every
click counts, so a link's number may exceed the `click` of
`get_broadcast_stats`, which counts each e-mail once.

## Path parameters

- `site_id` integer, required
- `broadcast_id` integer, required: Broadcast id from `list_broadcasts`

## Query parameters

- `from` string, date: UTC day, included; omit for the whole life
- `to` string, date: UTC day, included; with `from`, today when omitted

## Response `200`

Successful Response

- EmailClicks
  - `period` StatsPeriod
    - `date_from` string, date, required: First day, UTC, included
    - `date_to` string, date, required: Last day, UTC, included
  - `items` EmailClickItem[], required: Links in the e-mails of this broadcast or automation by clicks, most first. Every click is counted, so the sum is not the unique `click` of the e-mails. Clicks on one address with different query strings are added up.
    - `url` string, nullable: The link without its query string, user info and fragment; null for clicks whose link was not recorded
    - `text` string, nullable: The link text; null when the link has none
    - `clicks` integer, required: Every click on the link counted

## Other responses

- `400`: Unsupported GSC-Version
- `401`: Missing or invalid API key or access token
- `403`: Access denied
- `404`: `site_not_found`: no such site in your account; `broadcast_not_found`: the site has no broadcast with this id, or it was deleted
- `422`: Validation failed
- `429`: `rate_limited`: a limit of the key or the account is spent; statistics also spend the heavy request limit of the key. Retry after `Retry-After` seconds
- `503`: `temporarily_unavailable`: the numbers took too long to count or the limits cannot be checked right now; retry later or shorten the period

---

[API](https://skmtc.dev/getsitecontrol/apis/getsitecontrol-public-api.md) - [All operations](https://skmtc.dev/getsitecontrol/apis/getsitecontrol-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getsitecontrol/apis/getsitecontrol-public-api/revisions/084fcad80e75?raw)
