---
title: "Get campaign statistics with paging and filter"
slug: "get-campaign-statistics-with-paging-and-filter"
abstract: "Describes the request and response details of this Sitecore Send API endpoint to get campaign statistics with paging and filter information."
---
# Get campaign statistics with paging and filter

`GET /campaigns/{CampaignID}/stats/{Type}.{Format}`

Retrieves a list of statistics for a specific campaign based on activity such as emails sent, opened, bounced, links clicked, and so on. Because this call can return a large number of results, you can add paging information as input. You have the option to filter the results within a date range.

## Request

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| CampaignID | path | string | true | The ID of the campaign that you are fetching statistics for. |
| Type | path | string | false | The type of activity used to get information and display statistics. Possible values are:Sent - when and to which recipients the campaign was sent.Opened - who opened the campaign.LinkClicked - who clicked on which links in the campaign.Unsubscribed  - who unsubscribed from the campaign by clicking the unsubscribe link and when.Bounced - which email recipients failed to receive the campaign. If not specified, Sent value is used by default.Complained - which email recipients reported your campaign as spam through their email service.Activity - all types of activities for the campaign. |
| Format | path | string | true | The supported file format for getting a response.Possible values: json and xml. |
| apikey | query | string | true | The API key of your account. |
| Page | query | number | false | The page number to display results for. If not specified, the first page is returned. |
| PageSize | query | number | false | The maximum number of results per page. This must be a positive integer up to 1000.Returns 50 results per page if not specified. If a value greater than 1000 is specified, it is treated as 1000. |
| From | query | date | false | The start date value to return results.  If not specified, results are returned from the date the campaign was sent. From date has a DD-MM-YYYY format. |
| To | query | date | false | The end date value to return results. If not specified, results are returned up to the current date.  To date has a DD-MM-YYYY format. |

```http
GET https://{hostname}/v3/campaigns/{CampaignID}/stats/{Type}.{Format}?apikey=&Page=&PageSize=&From&To=
```

```curl
curl --include \\
     --header "Content-Type: application/json" \\
     --header "Accept: application/json" \\
'https://{hostname}/v3/campaigns/{CampaignID}/stats/{Type}.{Format}?apikey=&Page=&PageSize=&From=&To='
```

## Response

| Status | Description | Headers | Schema |
| --- | --- | --- | --- |
| 200 OK | The request is successful. | Content-Type:application/jsonAccept:application/json | N/A |

```json
{
  "Code": 0,
  "Error": null,
  "Context": {
    "Paging": {
      "PageSize": 5,
      "CurrentPage": 1,
      "TotalResults": 374,
      "TotalPageCount": 75,
      "SortExpression": null,
      "SortIsAscending": false
    },
    "Analytics": \[
      {
        "Context": "recipient1@email.com",
        "ContextName": "",
        "TotalCount": 1,
        "UniqueCount": 0,
        "ContextDescription": null,
        "Timestamp": "/Date(1705074023353+0000)/"
      },
      {
        "Context": "recipient2@email.com",
        "ContextName": "Paul",
        "TotalCount": 1,
        "UniqueCount": 1,
        "ContextDescription": null,
        "Timestamp": "/Date(1705074023353+0000)/"
      },
      {
        "Context": "recipient3@email.com",
        "ContextName": "John",
        "TotalCount": 1,
        "UniqueCount": 1,
        "ContextDescription": null,
        "Timestamp": "/Date(1705074023353+0000)/"
      },
      {
        "Context": "recipient4@email.com",
        "ContextName": "Marc",
        "TotalCount": 1,
        "UniqueCount": 1,
        "ContextDescription": null,
        "Timestamp": "/Date(1705074023353+0000)/"
      },
      {
        "Context": "recipient5@email.com",
        "ContextName": "",
        "TotalCount": 1,
        "UniqueCount": 1,
        "ContextDescription": null,
        "Timestamp": "/Date(1705074023353+0000)/"
      }
    \]
  }
}
```

-   `Code` - the response code. This is `0` if successful.
    
-   `Error` - the response error message. This is `null` if successful.
    
-   `Context` - an object that contains all the `Paging` and `Analytics` information for the campaign:
    
    -   `Paging` - an object that contains the following information:
        
        -   `PageSize` - the page size of the results. This is `0` if not defined.
            
        -   `CurrentPage` - the number of the result page. This is `1` if not defined.
            
        -   `Totalresults` - the number of results that are included in the response.
            
        -   `TotalPageCount` - the total number of pages in your account.
            
        -   `SortExpression` - the sort expression associated with the column or columns being sorted.
            
        -   `SortIsAscending` - this is `false` if the results are not displayed in ascending order based on the sort expression.

    -   `Analytics` - a list of recipients containing the following information for each recipient:
        
        -   `Context` - the email address of the recipient.
            
        -   `ContextName` - the name of the recipient.
            
        -   `TotalCount` - the total number of statistics based on the activity `Type` made by the recipient. This can be opens, link clicks, and so on. Deprecated
            
        -   `UniqueCount` - the total number of unique statistics based on the activity `Type` made by the recipient. This can be opens, link clicks, and so on. Deprecated
            
        -   `ContextDescription` :
            
            -   Type is `Unsubscribed` - this contains the date-time the recipient unsubscribed from the campaign.
                
            -   Type is `LinkClicked` - the link URL clicked will be displayed as an extra as seen in the above code example.
                
            -   Type is `Bounced` - the Bounced Type will be displayed as an extra.
                
            -   Type is `Complains` - the Timestamp will be displayed as an extra.

    -   `Timestamp` - for all parameters `Sent`, `opened`, `LinkClicked` etc an extra field with the time of the action is added in the response.