Get Campaign Status
/api/v1/jobs/spiderMaps/campaigns/{campaign_id}/statusOverview
Retrieve comprehensive status information for a campaign, including progress statistics, job counts by status, and configuration details.
v2.15.0: For orchestrated campaigns, this endpoint includes workflow_progress showing SpiderSite and SpiderVerify job statistics.
Path Parameters
campaign_idstringrequiredThe campaign ID
Response
campaign_idstringThe campaign identifier
statusstringCampaign status: active, paused, completed, stopped
querystringThe search query used
country_codestringThe country code
filter_configobjectThe filter configuration used to select locations
progressobjectLocation progress statistics
jobsobjectJob status counts
results_countintegerTotal businesses found across all completed jobs
has_workflowbooleanv2.15.0: Whether workflow orchestration is enabled
workflow_configobjectv2.15.0: Workflow configuration (only present if has_workflow is true)
workflow_progressobjectv2.15.0: Workflow chain progress statistics (only present if has_workflow is true)
created_atstringCampaign creation timestamp
updated_atstringLast update timestamp
Example
- cURL
- Python
curl https://spideriq.ai/api/v1/jobs/spiderMaps/campaigns/camp_lu_restaurants_abc123/status \
-H "Authorization: Bearer <your_token>"
import requests
campaign_id = "camp_lu_restaurants_abc123"
response = requests.get(
f"https://spideriq.ai/api/v1/jobs/spiderMaps/campaigns/{campaign_id}/status",
headers={"Authorization": "Bearer <your_token>"}
)
status = response.json()
print(f"Status: {status['status']}")
print(f"Progress: {status['progress']['percentage']:.1f}%")
print(f"Completed: {status['progress']['completed']}/{status['progress']['total']}")
print(f"Businesses found: {status['results_count']}")
Response:
{
"campaign_id": "camp_lu_restaurants_abc123",
"status": "active",
"query": "restaurants",
"country_code": "LU",
"filter_config": {
"mode": "all"
},
"progress": {
"total": 12,
"pending": 4,
"submitted": 3,
"completed": 5,
"failed": 0,
"percentage": 41.67
},
"jobs": {
"queued": 2,
"processing": 1,
"completed": 5,
"failed": 0
},
"results_count": 523,
"created_at": "2025-12-22T17:13:02Z",
"updated_at": "2025-12-22T17:25:18Z"
}
Orchestrated Campaign Response (v2.15.0)
For campaigns with workflow orchestration enabled:
{
"campaign_id": "camp_fr_restaurants_20251223_a1b2c3d4",
"status": "active",
"query": "restaurants",
"country_code": "FR",
"filter_config": {
"mode": "population",
"min_population": 100000
},
"progress": {
"total": 42,
"pending": 10,
"submitted": 5,
"completed": 27,
"failed": 0,
"percentage": 64.29
},
"jobs": {
"queued": 3,
"processing": 2,
"completed": 27,
"failed": 0
},
"results_count": 540,
"has_workflow": true,
"workflow_config": {
"spidersite": {
"enabled": true,
"max_pages": 10
},
"spiderverify": {
"enabled": true,
"max_emails_per_business": 5
}
},
"workflow_progress": {
"businesses_total": 320,
"sites_queued": 15,
"sites_completed": 280,
"sites_failed": 5,
"verifies_queued": 20,
"verifies_completed": 240,
"verifies_failed": 2,
"emails_found": 680,
"emails_verified": 580
},
"created_at": "2025-12-23T10:30:00Z",
"updated_at": "2025-12-23T12:15:00Z"
}
Use the /workflow-results endpoint to get aggregated data from all three services once the campaign is complete.
Status Values
| Status | Description |
|---|---|
active | Campaign is running, /next will submit jobs |
paused | Temporarily paused (use /continue to resume) |
stopped | Manually stopped (use /continue to resume) |
completed | All locations processed |