Competitors
REST endpoints for Competitors. Base URL https://api.competlab.com; every request needs a CL-API-Key header (see Authentication). Responses wrap in { item } or { items }; errors in { error }.
List project competitors
/v1/projects/{projectId}/competitorsList all competitors monitored within a project. Includes the project’s own domain (marked with isOwn: true) and all added competitor domains.
Path parameters
| Name | Type | Description |
|---|---|---|
projectId | string | Project ID |
Request
curl "https://api.competlab.com/v1/projects/507f1f77bcf86cd799439011/competitors" \
-H "CL-API-Key: YOUR_COMPETLAB_API_KEY"Response 200 OK
Example
{
"items": [
{
"id": "507f1f77bcf86cd799439011",
"domain": "competitor.com",
"isOwn": false,
"preparationStatus": "complete",
"createdAt": "2026-01-15T12:00:00.000Z"
}
]
}Errors
| Status | Code | Meaning |
|---|---|---|
| 401 | api_key_missing · api_key_invalid · api_key_revoked · api_key_expired · insufficient_scope | The CL-API-Key is missing, malformed, revoked, expired, or lacks the required scope. |
Every error uses the shared { error: { code, message, status } } envelope; code is one of the values listed above.
{
"error": {
"code": "api_key_invalid",
"message": "Invalid API key",
"status": 401
}
}Get competitor details
/v1/projects/{projectId}/competitors/{competitorId}Get detailed information about a specific competitor within a project, including monitored page URLs (homepage and pricing).
Path parameters
| Name | Type | Description |
|---|---|---|
competitorId | string | Competitor ID |
projectId | string | Project ID |
Request
curl "https://api.competlab.com/v1/projects/507f1f77bcf86cd799439011/competitors/507f1f77bcf86cd799439012" \
-H "CL-API-Key: YOUR_COMPETLAB_API_KEY"Response 200 OK
Example
{
"item": {
"id": "507f1f77bcf86cd799439011",
"domain": "competitor.com",
"isOwn": false,
"preparationStatus": "complete",
"createdAt": "2026-01-15T12:00:00.000Z",
"monitoredPages": {
"homepage": "https://competitor.com/",
"pricing": "https://competitor.com/pricing"
}
}
}Errors
| Status | Code | Meaning |
|---|---|---|
| 401 | api_key_missing · api_key_invalid · api_key_revoked · api_key_expired · insufficient_scope | The CL-API-Key is missing, malformed, revoked, expired, or lacks the required scope. |
| 404 | competitor_not_found | No competitor matches the id in the path. |
Every error uses the shared { error: { code, message, status } } envelope; code is one of the values listed above.
{
"error": {
"code": "api_key_invalid",
"message": "Invalid API key",
"status": 401
}
}