# Analytics
Get analytics on the activity of your emails like the open rate, the CTR, the bounce rate, and other metrics for a dedicated list of recipients, domain names, or even tags with these requests.
# Activity data by date
Get data, grouped by date, based on activity, with this GET
request:
GET https://api.mailersend.com/v1/analytics/date
# Request parameters
Query parameter | Type | Required | Limitations | Details |
---|---|---|---|---|
domain_id | string | no | ||
recipient_id[] | string | no | Max number of recipients: 50 TBD | Not yet implemented |
date_from | int | yes | Timestamp is assumed to be UTC . Must be lower than date_to | Format: 1443651141 |
date_to | int | yes | Timestamp is assumed to be UTC . Must be higher than date_from | Format: 1443661141 |
group_by | string | no | Possible options: days , weeks , months , years | Default: days |
tags[] | string[] | no | ||
event[] | string[] | yes | Possible events: processed ,queued ,sent ,delivered ,soft_bounced ,hard_bounced ,junk ,opened ,clicked ,unsubscribed ,spam_complaints |
# Responses
Response key | Type | Details |
---|---|---|
data.stats.*.date | timestamp | The date will be at the start of the group_by unit (so start of day/week/month/year). Every date in the date range will be present, even if there are no events for that day. |
data.stats.*.[event] | int | Every queried event[] will be present in the response with a default value - 0 |
# Valid
Response Code: 200 OK
Response Headers:
Content-Type: application/json
{
"data": {
"date_from": "1591228800",
"date_to": "1591401599",
"group_by": "days",
"stats": [
{
"date": "1591228800",
"processed": 0,
"queued": 0,
"sent": 0,
"delivered": 0,
"soft_bounced": 0,
"hard_bounced": 0,
"junk": 0,
"opened": 0,
"clicked": 0,
"unsubscribed": 0,
"spam_complaints": 0
},
{
"date": "1591315200",
"processed": 2,
"queued": 2,
"sent": 2,
"delivered": 2,
"soft_bounced": 2,
"hard_bounced": 2,
"junk": 2,
"opened": 2,
"clicked": 2,
"unsubscribed": 2,
"spam_complaints": 2
}
]
}
}
# Error
Response Code: 422 Unprocessable Entity
See - Validations errors
# Opens by country
Get data, grouped by country, based on activity, with this GET
request:
GET https://api.mailersend.com/v1/analytics/country
# Request parameters
Query parameter | Type | Required | Limitations | Details |
---|---|---|---|---|
domain_id | string | no | ||
recipient_id[] | string | no | Max number of recipients: 50 TBD | Not yet implemented |
date_from | int | yes | Timestamp is assumed to be UTC . Must be lower than date_to | Format: 1443651141 |
date_to | int | yes | Timestamp is assumed to be UTC . Must be higher than date_from | Format: 1443661141 |
tags[] | string[] | no |
# Responses
Response key | Type | Details |
---|---|---|
data.stats.*.name | string | 2 Letter code of the country. Will not be present if there's no data. |
data.stats.*.count | int |
# Valid
Response Code: 200 OK
Response Headers:
Content-Type: application/json
{
"data": {
"date_from": 1591228800,
"date_to": 1591401599,
"stats": [
{
"name": "LT",
"count": 2
}
]
}
}
# Error
Response Code: 422 Unprocessable Entity
See - Validations errors
# Opens by user-agent name
Get data, grouped by user-agent name (browser and operating system), based on activity, with this GET
request:
GET https://api.mailersend.com/v1/analytics/ua-name
# Request parameters
Query parameter | Type | Required | Limitations | Details |
---|---|---|---|---|
domain_id | string | no | ||
recipient_id[] | string | no | Max number of recipients: 50 TBD | Not yet implemented |
date_from | int | yes | Timestamp is assumed to be UTC . Must be lower than date_to | Format: 1443651141 |
date_to | int | yes | Timestamp is assumed to be UTC . Must be higher than date_from | Format: 1443661141 |
tags[] | string[] | no |
# Responses
Response key | Type | Details |
---|---|---|
data.stats.*.name | string | User Agent Name. Will not be present if there's no data. |
data.stats.*.count | int |
# Valid
Response Code: 200 OK
Response Headers:
Content-Type: application/json
{
"data": {
"date_from": 1591228800,
"date_to": 1591401599,
"stats": [
{
"name": "Chrome",
"count": 2
}
]
}
}
# Error
Response Code: 422 Unprocessable Entity
See - Validations errors
# Opens by reading environment
Get data, grouped by the reading environment (webmail, mobile, desktop), based on activity, with this GET
request:
GET https://api.mailersend.com/v1/analytics/ua-type
# Request parameters
Query parameter | Type | Required | Limitations | Details |
---|---|---|---|---|
domain_id | string | no | ||
recipient_id[] | string | no | Max number of recipients: 50 TBD | Not yet implemented |
date_from | int | yes | Timestamp is assumed to be UTC . Must be lower than date_to | Format: 1443651141 |
date_to | int | yes | Timestamp is assumed to be UTC . Must be higher than date_from | Format: 1443661141 |
tags[] | string[] | no |
# Responses
Response key | Type | Details |
---|---|---|
data.stats.*.name | string | One of webmail , mobile ,desktop . Will not be present if there's no data. |
data.stats.*.count | int |
# Valid
Response Code: 200 OK
Response Headers:
Content-Type: application/json
{
"data": {
"date_from": 1591228800,
"date_to": 1591401599,
"stats": [
{
"name": "webmail",
"count": 2
},
{
"name": "mobile",
"count": 2
},
{
"name": "desktop",
"count": 2
}
]
}
}
# Error
Response Code: 422 Unprocessable Entity
See - Validations errors