> ## Documentation Index
> Fetch the complete documentation index at: https://api.smartlead.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Campaign Analytics by Date Range

> Retrieve campaign analytics for a specific date range

<Note>
  Analyze campaign performance over a specific time period. Essential for tracking improvements and identifying trends.
</Note>

## Path Parameters

<ParamField path="campaign_id" type="number" required>
  Campaign ID
</ParamField>

## Query Parameters

<ParamField query="api_key" type="string" required>
  Your SmartLead API key
</ParamField>

<ParamField query="start_date" type="string" required>
  Start date (ISO 8601 format)
</ParamField>

<ParamField query="end_date" type="string" required>
  End date (ISO 8601 format)
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://server.smartlead.ai/api/v1/campaigns/123/analytics-by-date?api_key=YOUR_KEY&start_date=2025-01-01T00:00:00Z&end_date=2025-01-31T23:59:59Z"
  ```

  ```python Python theme={null}
  import requests
  from datetime import datetime, timedelta

  API_KEY = "YOUR_API_KEY"
  campaign_id = 123

  # Get this month's analytics
  start = datetime.now().replace(day=1, hour=0, minute=0).isoformat() + 'Z'
  end = datetime.now().isoformat() + 'Z'

  params = {
      "api_key": API_KEY,
      "start_date": start,
      "end_date": end
  }

  response = requests.get(
      f"https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/analytics-by-date",
      params=params
  )

  analytics = response.json()
  print(f"This month reply rate: {analytics['reply_rate']}%")
  ```

  ```javascript JavaScript theme={null}
  const API_KEY = 'YOUR_API_KEY';

  // Get last 30 days analytics
  const end = new Date();
  const start = new Date();
  start.setDate(start.getDate() - 30);

  const params = new URLSearchParams({
    api_key: API_KEY,
    start_date: start.toISOString(),
    end_date: end.toISOString()
  });

  const response = await fetch(
    `https://server.smartlead.ai/api/v1/campaigns/123/analytics-by-date?${params}`
  );

  const analytics = await response.json();
  console.log(`30-day reply rate: ${analytics.reply_rate}%`);
  ```
</RequestExample>

## Response Example

<ResponseExample>
  ```json 200 theme={null}
  {
    "campaign_id": 123,
    "start_date": "2025-01-01T00:00:00Z",
    "end_date": "2025-01-31T23:59:59Z",
    "total_sent": 500,
    "open_rate": 48.0,
    "click_rate": 13.0,
    "reply_rate": 9.0
  }
  ```
</ResponseExample>

## Related Endpoints

* [Get Campaign Analytics](/api-reference/campaigns/get-analytics)
* [Get Top Level Analytics](/api-reference/campaigns/get-top-level-analytics)
