> ## 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.

# Fetch Campaign Top Level Analytics by Date Range

> Fetch campaign top-level analytics filtered by date range

## Path Parameters

<ParamField path="campaign_id" type="integer" required>
  The ID of the campaign
</ParamField>

## Query Parameters

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

<ParamField query="start_date" type="string" required>
  Start date in YYYY-MM-DD format
</ParamField>

<ParamField query="end_date" type="string" required>
  End date in YYYY-MM-DD format
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://server.smartlead.ai/api/v1/campaigns/12345/top-level-analytics-by-date?api_key=YOUR_API_KEY&start_date=2024-01-01&end_date=2024-01-31"
  ```

  ```python Python theme={null}
  import requests

  API_KEY = "YOUR_API_KEY"
  CAMPAIGN_ID = 12345

  response = requests.get(
      f"https://server.smartlead.ai/api/v1/campaigns/{CAMPAIGN_ID}/top-level-analytics-by-date",
      params={
          "api_key": API_KEY,
          "start_date": "2024-01-01",
          "end_date": "2024-01-31"
      }
  )

  result = response.json()
  print(result)
  ```

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

  const response = await fetch(
    `https://server.smartlead.ai/api/v1/campaigns/${CAMPAIGN_ID}/top-level-analytics-by-date?api_key=${API_KEY}&start_date=2024-01-01&end_date=2024-01-31`
  );

  const result = await response.json();
  console.log(result);
  ```
</RequestExample>

## Response Codes

<ResponseField name="200" type="Success">
  Request successful
</ResponseField>

<ResponseField name="400" type="Bad Request">
  Invalid request parameters or malformed request body
</ResponseField>

<ResponseField name="401" type="Unauthorized">
  Invalid or missing API key. Check your authentication.
</ResponseField>

<ResponseField name="404" type="Not Found">
  The requested resource does not exist or you don't have access to it
</ResponseField>

<ResponseExample>
  ```json 200 - Success theme={null}
  {
    "ok": true,
    "data": []
  }
  ```

  ```json 401 - Unauthorized theme={null}
  {
    "message": "Invalid API Key"
  }
  ```
</ResponseExample>
