curl "https://server.smartlead.ai/api/v1/analytics/campaign/response-stats?api_key=YOUR_KEY"
import requests
API_KEY = "YOUR_API_KEY"
response = requests.get(
"https://server.smartlead.ai/api/v1/analytics/campaign/response-stats",
params={"api_key": API_KEY}
)
result = response.json()
print(result)
const API_KEY = 'YOUR_API_KEY';
const response = await fetch(
`https://server.smartlead.ai/api/v1/analytics/campaign/response-stats?api_key=${API_KEY}`
);
const result = await response.json();
console.log(result);
{
"ok": true,
"data": {
"campaign_wise_response_stats": [
{
"campaign_id": 12345,
"campaign_name": "Q1 Outreach",
"positive_reply": 25,
"neutral_reply": 10,
"negative_reply": 5
}
]
}
}
{
"message": "Invalid API Key"
}
{
"error": "Resource not found"
}
{
"error": "Invalid parameters provided"
}
Global Analytics
Campaign Response Stats
Get detailed response analysis per campaign with sentiment breakdown
GET
/
api
/
v1
/
analytics
/
campaign
/
response-stats
curl "https://server.smartlead.ai/api/v1/analytics/campaign/response-stats?api_key=YOUR_KEY"
import requests
API_KEY = "YOUR_API_KEY"
response = requests.get(
"https://server.smartlead.ai/api/v1/analytics/campaign/response-stats",
params={"api_key": API_KEY}
)
result = response.json()
print(result)
const API_KEY = 'YOUR_API_KEY';
const response = await fetch(
`https://server.smartlead.ai/api/v1/analytics/campaign/response-stats?api_key=${API_KEY}`
);
const result = await response.json();
console.log(result);
{
"ok": true,
"data": {
"campaign_wise_response_stats": [
{
"campaign_id": 12345,
"campaign_name": "Q1 Outreach",
"positive_reply": 25,
"neutral_reply": 10,
"negative_reply": 5
}
]
}
}
{
"message": "Invalid API Key"
}
{
"error": "Resource not found"
}
{
"error": "Invalid parameters provided"
}
Query Parameters
string
required
Your SmartLead API key
string
required
Start date (YYYY-MM-DD format)
string
required
End date (YYYY-MM-DD format)
string
IANA timezone string (e.g., “America/New_York”)
string
Comma-separated client IDs
string
Comma-separated campaign IDs
string
Set to “true” to return full data set
curl "https://server.smartlead.ai/api/v1/analytics/campaign/response-stats?api_key=YOUR_KEY"
import requests
API_KEY = "YOUR_API_KEY"
response = requests.get(
"https://server.smartlead.ai/api/v1/analytics/campaign/response-stats",
params={"api_key": API_KEY}
)
result = response.json()
print(result)
const API_KEY = 'YOUR_API_KEY';
const response = await fetch(
`https://server.smartlead.ai/api/v1/analytics/campaign/response-stats?api_key=${API_KEY}`
);
const result = await response.json();
console.log(result);
Response Codes
Success
Request successful
Bad Request
Invalid request parameters or malformed request body
Unauthorized
Invalid or missing API key. Check your authentication.
Not Found
The requested resource (campaign, lead, email account, etc.) does not exist or you don’t have access to it
Validation Error
Request validation failed. Check parameter types, required fields, and value constraints.
Rate Limit Exceeded
Too many requests. Please slow down and retry after the rate limit resets.
Internal Server Error
Server error occurred. Please try again or contact support if the issue persists.
Service Unavailable
API is temporarily unavailable or under maintenance. Please try again later.
{
"ok": true,
"data": {
"campaign_wise_response_stats": [
{
"campaign_id": 12345,
"campaign_name": "Q1 Outreach",
"positive_reply": 25,
"neutral_reply": 10,
"negative_reply": 5
}
]
}
}
{
"message": "Invalid API Key"
}
{
"error": "Resource not found"
}
{
"error": "Invalid parameters provided"
}
How these metrics are calculated
Shared rules (inclusive date boundaries, how positive replies are counted) are documented once in How Analytics Metrics Are Calculated.
| Field | How it’s calculated |
|---|---|
positive_reply | Response events from leads whose category sentiment is positive. |
neutral_reply | Response events from leads whose category sentiment is neutral. |
negative_reply | Response events from leads whose category sentiment is negative. |
Unlike
positive_replied on the other endpoints, these are response-event counts, not distinct leads — a lead that replies twice is counted twice. As a result, positive_reply here can be higher than the positive_replied shown by overall-stats-v2 for the same window, which counts each lead once. Don’t expect the two to match.