Campaign analytics
Aggregate engagement for one campaign. Ask for extra breakdowns with breakdown=smtp,sequence,bounce – each is an extra query, so request only what you will read.
Requires one of the following scopes: metrics:read, all:read, all:all.
Request
- Base URL: https://api.mailbeast.ai
- URL: https://api.mailbeast.ai/v1/campaigns/{id}/analytics
- Auth: HTTP bearer
Path parameters
Campaign id.
Query parameters
Start of the reporting window (ISO-8601). ⚠️ Reporting is by whole calendar day in your workspace timezone – the time component is ignored, so this date counts from the START of that day.
End of the reporting window (ISO-8601). Defaults to now. ⚠️ Inclusive and by whole calendar day (time component ignored) – this counts through the END of that day in your workspace timezone.
Exclude out-of-office auto-replies from reply counts and reply rate. Mirrors the dashboard toggle.
Extra breakdowns to include. Repeat the param or pass a comma-separated list. Each one costs an extra query, so ask only for what you will read.
[ "sequence", "bounce" ]
Response
Example response
{
"campaignId": "c1a2b3d4-...",
"period": {
"start": "2026-06-01T00:00:00.000Z",
"end": "2026-06-30T23:59:59.000Z",
"retentionDays": 90
},
"totals": {
"sent": 1200,
"failed": 8,
"delivered": 1186,
"leadsContacted": 640,
"opens": {
"total": 240,
"uniqueLeads": 180
},
"clicks": {
"total": 240,
"uniqueLeads": 180
},
"replies": 26,
"bounces": 14,
"unsubscribed": 5,
"positiveLeads": 21,
"conversions": 6,
"conversionValue": 18000,
"rates": {
"open": 42.5,
"click": 8.1,
"reply": 4.2,
"bounce": 1.9,
"delivery": 98.1,
"unsubscribe": 0.4,
"conversion": 2
}
},
"bySmtp": [
{
"accountId": "a7f1c2d4-...",
"email": "outreach@acme.com",
"totals": {
"sent": 400,
"delivered": 396,
"opens": {
"total": 240,
"uniqueLeads": 180
},
"clicks": {
"total": 240,
"uniqueLeads": 180
},
"replies": 12,
"bounces": 4,
"positiveLeads": 3,
"conversions": 2,
"conversionValue": 6000,
"rates": {
"open": 42.5,
"click": 8.1,
"reply": 4.2,
"bounce": 1.9,
"delivery": 98.1,
"positive": 41.7,
"conversion": 1.5
}
}
}
],
"bySequence": [
{
"step": 1,
"variant": "A",
"totals": {
"sent": 400,
"delivered": 396,
"opens": {
"total": 240,
"uniqueLeads": 180
},
"clicks": {
"total": 240,
"uniqueLeads": 180
},
"replies": 12,
"bounces": 4,
"positiveLeads": 3,
"conversions": 2,
"conversionValue": 6000,
"rates": {
"open": 42.5,
"click": 8.1,
"reply": 4.2,
"bounce": 1.9,
"delivery": 98.1,
"positive": 41.7,
"conversion": 1.5
}
}
}
],
"bounceBreakdown": {
"total": 14,
"hard": 9,
"soft": 5,
"senderBounces": 3,
"recipientBounces": 11,
"byCategory": [
{
"category": "invalid-mailbox",
"label": "Invalid mailbox",
"type": "recipient",
"count": 9,
"percentage": 64.3
}
]
}
}