API Reference
Your guide to getting things done
Search our documentation articles

Your complete guide to mastering Moosend. Search to get started.

Get campaign statistics with paging and filter

Article: 000054610
Updated: September 11, 2025

Get campaign statistics with paging and filter

Abstract

Describes the request and response details of this Moosend API endpoint to get campaign statistics with paging and filter information.

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.

Response

Status

Description

Headers

Schema

200 OK

The request is successful.

Content-Type:application/json

Accept:application/json

N/A

  • 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.

Request
GET https://{hostname}/v3/campaigns/{CampaignID}/stats/{Type}.{Format}?apikey=&Page=&PageSize=&From&To=
Request
curl --include \
https://{hostname}/v3/campaigns/{CampaignID}/stats/{Type}.{Format}?apikey=&Page=&PageSize=&From=&To=
Response
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)/"
      }
    ]
  }
}



Moosend Logo

Copyright © 2026 · All Rights Reserved · Moosend · Privacy Policy