---
title: "Get broadcast link metrics"
method: GET
path: "/v1/broadcasts/{broadcast_id}/metrics/links"
tags: ["Broadcasts"]
---

# Get broadcast link metrics

`GET /v1/broadcasts/{broadcast_id}/metrics/links`

## Request

- Base URL: `https://api.customer.io`
- URL: `https://api.customer.io/v1/broadcasts/{broadcast_id}/metrics/links`
- Auth: HTTP bearer

Returns metrics for link clicks within a broadcast, both in total and in `series` periods (days, weeks, etc). `series` metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period).

You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

## Response `200`

Returns an array of link objects. Each object represents a different link in your broadcast and contains independent metrics.

- object
  - `links` LinkMetrics[]
    - `link` object
      - `id` integer: The ID of the link.
      - `href` string: The link destination—a URL, mailto, etc.
    - `metric` object: Contains metrics for the link.
      - `series` object
        - `clicked` integer[]: An array of results from oldest to newest, where each result indicates a period.
        - `human_clicked` integer[]: An array of human click counts (clicks excluding machine clicks) from oldest to newest, where each result indicates a period. This metric is reliable starting April 20, 2025. [Learn more](/messaging/metrics/analytics/#delivery-metrics).
        - `machine_clicked` integer[]: An array of machine click counts (clicks attributed to bots or prefetching) from oldest to newest, where each result indicates a period. This metric is reliable starting April 20, 2025. [Learn more](/messaging/metrics/analytics/#delivery-metrics).

## Other responses

- `400`: The `broadcastID`, `actionID` or `triggerID` is invalid.
- `404`: The broadcast, action, and/or trigger do not exist.
- `429`: Your request is over the 10-per-second limit. `Retry-After` tells you how many seconds you must wait before you send the next request.

## Changes

- **2026-09-02** `5da2740beeb5`: 1 info
  - added the media type `application/json` for the response with the status `429`

[Operation history](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/changes/v1/broadcasts/:broadcast_id/metrics/links/get.md)

---

[API](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference.md) - [All operations](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/revisions/ac0b282053fe?raw)
