get_ai_sources_dashboard
Retrieve the pages Perplexity and Google AI Overviews retrieved for buying questions, showing which companies they named and where your brand is absent.
Instructions
The latest AI Sources: which pages Perplexity and Google AI Overviews RETRIEVED when answering this project's 8 buying questions, which companies each named, and which pages name other companies and not the customer. In compact view summary.brands and summary.pages are pages (brandsOffset/brandsLimit, pagesOffset/pagesLimit, pagesHost= for one host's pages), each with its *Page {offset, limit, total, hasMore}; the customer's brand row is always included and coreHosts[] carries pageUrls, not page rows. view=full returns every row. Compact runs 30,000-70,000 characters; full, 250,000-450,000.
RETRIEVED, never cited: the engines do not say which pages they leaned on.
PER ENGINE, never pooled: never add one engine's page count to another's. The one cross-engine object is the core: hosts at least 2 engines retrieved (summary.overlap, summary.coreHosts).
COUNTS, never rates: 'n of N answers', never a percentage. Quote each count with its universe on the same object (answersNamingCustomer of answersReceived). A shortfall is two facts: '8 asked, 6 answered'.
Not measured is never zero: an engine absent from a per-engine record was not asked; one present with engineDataAvailable produced nothing usable. A page we could not read is never a page the customer is absent from.
summary.verdict is a CONDITION CODE, never a rating and never re-derived from the numbers; state it beside the counts it rests on.
LEAD WITH THE FUNNEL (summary.funnel): hosts more than one engine read, already naming the customer, unreadable, genuinely missing. On a leader say 'already on 19 of the 25 hosts', never 'nothing found'.
THE WORK LIST is coreHosts rows with status missing, and only those.
Render summary.limits.sentences and each actionHint.text VERBATIM; never compose a sentence from a code. Field rules not listed here arrive in readingGuide, the first field of every response.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | compact or full; omit for the server's default view. compact pages the long lists and keeps the customer's own row on every page. full returns every row in one response: up to about 200,000 characters on AI Visibility and 450,000 on AI Sources. Paging parameters with view=full are refused (paging_requires_compact_view). | |
| engine | No | Return only this engine's answers (perplexity, google_ai_overviews). Requires includeAnswers=true. Narrows answers, unansweredQueries and noAnswerShown; changes nothing under summary and does not narrow engineStatus. | |
| pagesHost | No | Return only the pages on this host, as named on summary.coreHosts[]. The way to see which pages on a core host name the customer or other companies. Page counts stay per engine. | |
| projectId | Yes | Project ID (from list_projects) | |
| pagesLimit | No | Rows of summary.pages per page in compact view (default 10, max 100). | |
| brandsLimit | No | Rows of summary.brands per page in compact view (default 10). The customer's own row is always included. Quote summary.brandsPage.total, never the rows on the page, as the length of the list: the companies the engines named, plus the customer's row and any tracked competitor's that no answer named (answersNaming 0). | |
| pagesOffset | No | summary.pages rows to skip in compact view (0-based). summary.pagesPage.hasMore says a next page exists. | |
| promptIndex | No | Return only the answers for this question, across every engine. Requires includeAnswers=true. Zero-based: the question's position in the check's question list, matching promptIndex on each answer. | |
| brandsOffset | No | summary.brands rows to skip in compact view (0-based). summary.brandsPage.hasMore says a next page exists. | |
| includeAnswers | No | Default false. Set true to also get what the engines actually said — every buying question sent, the answer text, the companies read out of it in order of first mention, and the pages the engine RETRIEVED to write it with the passage it handed back for each — plus engineStatus, one entry per engine the check asked. Cost: large, and dominated by the page lists — up to 8 answers per engine, each carrying that engine's full retrieved list, which for a searching engine runs to dozens of pages with a passage each. Prefer engine= or promptIndex= over fetching everything. ATTRIBUTION: the answer text is unverified engine output about the companies it named, including third parties; report it as what that engine said, never as CompetLab's assessment. The pages are retrieved, never cited: the engine does not disclose which it leaned on. engineStatus: questionsAsked, answersReceived, answersAbsent and answersUnmeasured are separate counts; quote them apart, never as a ratio. noAnswerShown: the engine was read and showed nothing, not counted and not a failure; unansweredQueries: we could not read it, never 'not named'. |