---
title: "Get stats for a single subscriber list"
method: GET
path: "/v1/projectId/{projectId}/subscriber-lists/{id}/stats"
tags: ["Subscriber Lists"]
---

# Get stats for a single subscriber list

`GET /v1/projectId/{projectId}/subscriber-lists/{id}/stats`

## Request

- Base URL: `https://api.bluefox.email`
- URL: `https://api.bluefox.email/v1/projectId/{projectId}/subscriber-lists/{id}/stats`
- Auth: HTTP bearer

Aggregate counts only, never a per-recipient list - response size and query cost are bounded regardless of how much activity actually happened, since every count is a single indexed query scoped to this one resource. For the actual list of recipients (who received/opened/clicked/bounced/unsubscribed), see GET /v1/projectId/{projectId}/subscriber-lists/{id}/recipients.

## Path parameters

- `projectId` string, required
- `id` string, required

## Query parameters

- `from` string, date-time
- `to` string, date-time

## Response `200`

OK

- object
  - `status` integer
  - `result` SubscriberListStats: active/paused/unsubscribed/unverified are a current snapshot (not affected by from/to). The rest count events within the optional from/to date range.
    - `active` integer
    - `paused` integer
    - `unsubscribed` integer
    - `unverified` integer
    - `subscribed` integer: subscribe events in range.
    - `unsubscribedEvents` integer
    - `pausedEvents` integer
    - `unpausedEvents` integer
    - `bounce` integer
    - `complaint` integer

## Other responses

- `400`: Invalid request body or query - every violation found (missing/invalid/unexpected fields) is reported in one response, semicolon-separated, not just the first one hit.
- `403`: Missing or invalid API key
- `404`: Subscriber Lists not found

---

[API](https://skmtc.dev/bluefox/apis/bluefox-email-public-api.md) · [All operations](https://skmtc.dev/bluefox/apis/bluefox-email-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bluefox/apis/bluefox-email-public-api/revisions/fa1a0a835c7f?raw)
