Analytics API

Campaign performance metrics, lead statistics, and sequence analytics

Analytics-First Design

The Analytics API supports consistent pagination, filtering, sorting, and aggregation.

📊 Pagination

Cursor-based pagination on all list endpoints. Use limit and starting_after for efficient traversal of large datasets.

🔍 Filtering

Filter by date range, status, campaign, and more using filter[field]=value query parameters.

↕️ Sorting

Sort results with sort=field (ascending) or sort=-field (descending).

📈 Aggregation

Get daily, hourly, or campaign-level aggregations with granularity parameter.

Example Request

GET
/api/v1/campaigns/{id}/analytics
curl -X GET "https://beam.lightmeter.io/api/v1/campaigns/4ed5a7d2-320c-445e-a16c-7ab932bc259a/analytics?filter[start_date]=2024-01-01&filter[end_date]=2024-01-31&granularity=daily" \ -H "Authorization: Bearer your_api_key_here" \ -H "Content-Type: application/json"

Reply Metric Semantics

Beam exposes human reply metrics and auto-reply metrics separately.

  • reply_rate remains human-only.
  • end_autoreply_rate covers automated non-bounce replies such as out-of-office messages.
  • Sender-level precedence applies: if a sender has any human reply in the campaign, they count only toward reply_rate and not end_autoreply_rate.
  • Both rates use the same deliverable-leads proxy denominator: leads_contacted - all_bounces.