---
title: "Get statistics for multiple campaigns"
method: GET
path: "/campaigns/stats"
tags: ["Campaigns"]
---

# Get statistics for multiple campaigns

`GET /campaigns/stats`

## Request

- Base URL: `https://api.sendfox.com`
- URL: `https://api.sendfox.com/campaigns/stats`
- Auth: OAuth 2
  - Authorization code: `https://sendfox.com/oauth/authorize`
  - Token URL: `https://sendfox.com/oauth/token`

Returns stored counts and rates for one to 100 distinct owned campaigns in request order. The entire request fails with the same validation error for missing, deleted or foreign IDs. Does not return link stats or query individual delivery events.

## Query parameters

- `campaign_ids[]` integer[], required

## Response `200`

Campaign statistics in request order

- object
  - `data` object[], required
    - `link_stats` object[]: The campaign's links ranked by click count, most-clicked first. Present only when include_link_stats is true — it is the one part of this payload that queries rather than reading a stored counter.
      - `url` string
      - `clicks` integer
    - `sent_count` integer
    - `unique_open_count` integer
    - `unique_click_count` integer
    - `unsubscribe_count` integer
    - `bounce_count` integer
    - `spam_count` integer
    - `open_rate` number, float
    - `click_rate` number, float
    - `unsubscribe_rate` number, float
    - `bounce_rate` number, float
    - `spam_rate` number, float
    - `id` integer, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden. Most often an ownership/authorization failure (Laravel's default `{"message": "..."}` shape). If the account is restricted by SendFox, the response instead carries the structured `account_restricted` body with a link to the account status page.
- `422`: Invalid campaign_ids; no partial results are returned
- `429`: Rate limit reached: 60 requests per minute per user, shared across all endpoints. Wait for the `Retry-After` seconds, then try again.

## Changes

- **2026-11-07** `ae5d5ba1d502`: 1 info
  - added the non-success response with the status `429`
- **2026-10-14** `7afac8298a43`: 1 info
  - removed the non-success response with the status `402`
- **2026-09-22** `c33829ff3c7f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sendfox/apis/sendfox-api/changes/campaigns/stats/get.md)

---

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