Get tech & trust run history
Changed onGet paginated history of tech & trust monitoring runs for a project. Each entry includes run timing and summary statistics. Fields we could not measure are null, with a sibling availability object giving the reason; never read a null as zero, false or absent, and note that a measured 0 / false / empty list is reported as itself and is a real finding. The two gap figures are null when there was no comparison to make — either side unmeasured, or no competitor to compare against — so a null gap is not a tie.
Request
- Base URL: https://api.competlab.com
- URL: https://api.competlab.com/v1/projects/{projectId}/tech-trust/history
- Auth: API key in header CL-API-Key
Path parameters
Project ID
Query parameters
Page number (1-indexed)
Number of items per page
Response
Example response
{
"items": [
{
"runId": "507f1f77bcf86cd799439011",
"completedAt": "2026-03-15T10:00:00.000Z",
"summary": {
"competitorsChecked": 6,
"competitorsSuccessful": 5,
"customer": {
"domain": "yoursite.com",
"securityScore": 72,
"securitySignalsAvailable": {
"reason": "site_uses_behavioral_protection"
},
"trustSignalCount": 8,
"techStackCount": 14,
"techTrustAnalysisAvailable": {
"reason": "tech_trust_fetch_failed"
}
},
"topSecurityCompetitor": {
"domain": "rival.com",
"securityScore": 95
},
"topTrustCompetitor": {
"domain": "other.com",
"trustSignalCount": 15
},
"securityScoreGap": -23,
"trustSignalGap": -7,
"comparableCompetitors": 4
}
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 47,
"totalPages": 3,
"hasMore": true
}
}Changes
- breaking
removed the required property
////////////from the response with the status - breaking
removed the required property
////////////from the response with the status
- breaking
- info
added the optional property
///////to the response with the status - info
added the optional property
///////to the response with the status
- info