List broadcasts▾
GET

List broadcasts

Every bulk send with its delivery counters.

Counters update continuously while a broadcast runs. queued + sent = audience.size once dispatch finishes.

GET/v1/broadcasts

Query parameters

statusenum

Filter by state.

draftscheduledrunningcompletedcancelled

limitintegerdefault 25

Page size, 1–100.

curl -X GET https://api.sendport.tech/v1/broadcasts \
  -H "Authorization: Bearer $SENDPORT_KEY"

Responses

200OK
{
  "object": "list",
  "data": [
    {
      "object": "broadcast",
      "id": "bc_01JZQ5D4P6R8T0V2X4Z6B8DFHK",
      "name": "September promo",
      "template": { "name": "seasonal_promo", "language": "en" },
      "status": "running",
      "audience": { "size": 12480, "filter": { "tags": ["vip"] } },
      "counts": { "queued": 3120, "sent": 9002, "delivered": 8741, "read": 5310, "failed": 358 },
      "estimated_cost": { "amount": "158.24", "currency": "USD" },
      "created_at": "2026-09-06T09:14:22.114Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}
401Unauthorized
{
  "error": {
    "type": "authentication_error",
    "code": "missing_api_key",
    "message": "No API key provided.",
    "doc_url": "https://sendport.tech/docs/errors#missing_api_key",
    "request_id": "req_9f3c2a7b41de08c5b2e6"
  }
}
Try itsandbox