Campaign Daily
One campaign's day-by-day sends and replies.
GET
https://api.foxreach.io/ api/ v1/ analytics/ campaigns/{campaign_id}/ dailyRequires an API key with the read scope.
Counts follow the Reports page: a bounced email counts as sent, replies are distinct leads, and replies from bounce, warmup and unrelated mail are left out. Days are bucketed in the timezone of the user who created the API key.
These are the Reports numbers narrowed to one campaign. The campaign totals endpoint counts differently (from the campaign's lifetime counters), so the two can disagree.
Path Parameters#
campaign_idstringpathrequiredThe campaign id.
Query Parameters#
startstringqueryFirst day,
YYYY-MM-DD. Defaults to 30 days before end.endstringqueryLast day,
YYYY-MM-DD. Defaults to today in the key owner's timezone. A range is at most 365 days.Response#
dataobjectShow data
rangeobjectstart, end and the timezone used to bucket days.dailyarrayOne row per day with
date and the counters sent, replied, interested, bounced, opened and clicked.Errors#
| Status | Description |
|---|---|
401 | Missing, invalid, revoked or expired API key |
403 | API key does not have the required scope: read |
400 | start is after end, or the range is longer than 365 days |
404 | Campaign not found: the campaign does not exist in this workspace |
Rate Limit#
- 300 requests per minute, shared by every
readcall in your workspace. Fixed 60-second window. - Every response includes
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset(unix epoch seconds) andX-RateLimit-Bucket(read). - A
429response includes aRetry-Afterheader (seconds until the bucket resets).
For client-side patterns, see Rate Limiting.
Was this page helpful?
View as MarkdownLast updated November 4, 2026