Get broadcast stats
GET/v1/broadcasts/{id}/stats
How a broadcast did: delivered, bounced and complained counts, unique opens and clicks, the links people clicked, and the unsubscribes it caused. Opens and clicks are counted once per recipient and only exist when tracking is on for the sending domain (tracking says whether it is). Opens are approximate: some mail apps load images for the reader. For a split test, ab_test shows each version’s results from the test slice, the phase (test, waiting or final), and the winner once chosen.
Required scope: broadcasts:manage
Parameters
| Name | In | Description |
|---|---|---|
idrequired | path | The broadcast id. |
Example
curl -X GET 'https://api.sendsend.email/v1/broadcasts/ID/stats' \
-H "Authorization: Bearer $SENDSEND_API_KEY"Response 200
{
"object": "broadcast_stats",
"broadcast_id": "bcast_Tz8…",
"status": "sent",
"tracking": {
"opens": true,
"clicks": true,
"available": true
},
"totals": {
"sent": 1180,
"delivered": 1166,
"bounced": 14,
"complained": 1,
"failed": 0,
"suppressed": 0,
"opened": 412,
"clicked": 97,
"unsubscribed": 6,
"skipped": 20
},
"rates": {
"delivered": 0.988,
"bounced": 0.012,
"complained": 0.0008,
"opened": 0.353,
"clicked": 0.083,
"unsubscribed": 0.005
},
"top_links": [
{
"url": "https://acme.com/changelog",
"clicks": 61
}
],
"daily": [
{
"day": "2026-10-07",
"opened": 380,
"clicked": 90
}
]
}Errors
| Status | Code | When |
|---|---|---|
| 404 | not_found | No such resource in this project. |
| 401 | unauthorized | The API key is missing, invalid or revoked. |
| 403 | forbidden | The key does not have the scope this endpoint needs. |
Every error has the same shape. See Errors.