Get AI sources check history
Get paginated history of AI Sources checks for a project. Each row carries, per engine, the four measured figures for that check — answers received, answers naming the customer, pages read, and independent pages naming the customer — and the funnel from core hosts to hosts the customer is genuinely missing from. Nothing is summed across engines; an engine absent from a row was not asked on that check or produced nothing usable on it, and absent means not measured, never zero. Counts are counts, never rates: report figures as n of N answers and never as a percentage or a share — the question set is small by design, and a share computed from it is false precision. Only published checks are listed: a check abandoned because no engine produced a usable answer never publishes and does not appear here. Uses checkId, not runId — the unit of this dimension is a check, one cycle of every question against every engine. The full summary for a row is on the check-detail route. This page is subject to a response size cap: when truncated is true, whole entries were dropped from the end of items and pagination.hasMore does NOT account for them — lower limit to see the rest rather than paging forward, which would skip them.
Request
- Base URL: https://api.competlab.com
- URL: https://api.competlab.com/v1/projects/{projectId}/ai-sources/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": [
{
"checkId": "507f1f77bcf86cd799439012",
"completedAt": "2026-09-04T10:00:00.000Z",
"perEngine": {
"perplexity": {
"answersReceived": 7,
"answersNamingCustomer": 3,
"pagesRead": 118,
"independentPagesNamingCustomer": {
"floor": 4,
"ceiling": 6
}
},
"google_ai_overviews": {
"answersReceived": 7,
"answersNamingCustomer": 3,
"pagesRead": 118,
"independentPagesNamingCustomer": {
"floor": 4,
"ceiling": 6
}
}
},
"funnel": {
"coreHosts": 25,
"alreadyNamingCustomer": 19,
"unreadable": 2,
"missing": 4,
"missingPublishers": 3,
"missingCompetitorOwned": 1
}
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 47,
"totalPages": 3,
"hasMore": true
}
}Changes
No recorded changes to this operation across all 1 revision of this API.