Activity Data API
Access email activity and engagement data to understand email behavior and deliverability.
Get Email Activity
GET
/v1/activity/{email}Retrieve engagement activity data for a specific email address.
Response
{
"success": true,
"data": {
"email": "user@example.com",
"email_hash": "973dfe463ec85785f5f95af5ba3906ee...",
"activity": {
"level": "active",
"score": 78,
"last_activity_at": "2026-01-28T15:30:00Z",
"engagement": {
"open_count": 45,
"click_count": 12,
"reply_count": 2
},
"deliverability": {
"bounce_count": 0,
"complaint_count": 0
},
"confidence": 80,
"data_points": 18
},
"credits_used": 0.5
}
}When no activity data exists for an email, activity.level is unknown with zeroed metrics and a message field explaining that no data is available.
Batch Activity Lookup
POST
/v1/activity/batchLook up activity data for multiple emails at once (up to 100 per request).
Request
{
"emails": [
"user1@example.com",
"user2@example.com"
]
}Response
{
"success": true,
"data": {
"results": [
{
"email": "user1@example.com",
"email_hash": "6f4b1c...",
"activity": {
"level": "active",
"score": 78,
"last_activity_at": "2026-01-28T15:30:00Z",
"engagement": { "open_count": 45, "click_count": 12, "reply_count": 2 },
"deliverability": { "bounce_count": 0, "complaint_count": 0 },
"confidence": 80,
"data_points": 18
}
},
{
"email": "user2@example.com",
"email_hash": "a91e2d...",
"activity": {
"level": "unknown",
"score": 0,
"last_activity_at": null,
"engagement": { "open_count": 0, "click_count": 0, "reply_count": 0 },
"deliverability": { "bounce_count": 0, "complaint_count": 0 },
"confidence": 0,
"data_points": 0,
"message": "No activity data available for this email"
}
}
],
"total": 2,
"credits_used": 0.5
}
}Domain Reputation
GET
/v1/activity/domain/{domain}Get aggregated reputation metrics for an entire domain.
Response
{
"success": true,
"data": {
"domain": "example.com",
"reputation_score": 85,
"reputation_grade": "B",
"credits_used": 1
}
}When no reputation data exists for a domain, reputation_score is 0, reputation_grade is null, and a message field explains that no data is available.
Credits
- 0.5 credits per single email activity lookup (
GET /v1/activity/{email}) - 0.25 credits per email in a batch lookup (
POST /v1/activity/batch, max 100 emails per request) - 1 credit per domain reputation lookup (
GET /v1/activity/domain/{domain}) - Credits are charged per request, including when no activity data is found
- If a lookup fails internally after the charge, the credits are refunded automatically
Engagement Levels
| Level | Description | Criteria |
|---|---|---|
| active | Recently engaged | Engagement within the last 30 days |
| inactive | Fading engagement | No engagement in 30-90 days |
| dormant | Long-term unengaged | No engagement in 90+ days |
| unknown | No data available | Insufficient tracked activity |
Data Sources
Activity data is aggregated from multiple sources:
- • Tracking pixels from email campaigns
- • Click tracking from email links
- • Opt-in data sharing from partner networks
- • Bounce and complaint feedback loops
Privacy: All activity data is anonymized and aggregated. We never share individual recipient data with third parties.