get_page_presence
Get on-page presence: which pages of the brand’s website are cited by AI, with citation counts, unique questions, and optimization status.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
limit | number | No | Max pages to return (default: 50) |
status | string | No | Filter: WORKING, NEEDS_ATTENTION, NOT_CITED, DISCOVERED |
Page Status
| Status | Meaning |
|---|
WORKING | In sitemap + 3 or more citations |
NEEDS_ATTENTION | In sitemap + 1-2 citations |
NOT_CITED | In sitemap + 0 citations |
DISCOVERED | Not in sitemap but cited by AI |
Returns
| Field | Description |
|---|
stats | Total pages, cited count, not cited count, discovered count |
pages[] | Pages with path, URL, status, citation count, unique questions, avg position, providers |
OAuth Scope
Requires: read:sources
get_source_profile
Get a deep-dive on a source domain: citation statistics, top cited URLs, co-cited competitors, and backlink availability.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
sourceDomainId | string | Yes | The source domain ID (from get_source_domains) |
period | number | No | Number of days to analyze (default: 30) |
limit | number | No | Max URLs to return (default: 10) |
Returns
| Field | Description |
|---|
source | Domain, name, type, relationship (SELF/DIRECT/third-party) |
stats | Total mentions, unique questions/answers, avg position, providers |
topUrls[] | Most cited URLs with mention counts |
coCitedCompetitors[] | Competitors appearing in same answers as this source |
backlink | Availability, best price, number of platforms |
OAuth Scope
Requires: read:sources
get_competitor_position
Get a deep-dive on a competitor: market coverage, share of voice, average position/sentiment, top citing sources, and shopping/local overlap.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
competitorId | string | Yes | Competitor ID, domain (e.g. “adidas.com”), or name (e.g. “Adidas”) |
period | number | No | Number of days to analyze (default: 30) |
Returns
| Field | Description |
|---|
stats.coveragePercentage | % of monitored questions where this competitor appears |
stats.shareOfVoice | Competitor’s share of all SELF+DIRECT mentions |
stats.avgPosition | Average position in AI responses |
stats.avgSentiment | Average sentiment score |
stats.providers[] | AI providers mentioning this competitor |
topSources[] | Domains most frequently citing this competitor |
shoppingOverlap | Number of shopping products linked to this competitor |
localOverlap | Number of local businesses linked to this competitor |
OAuth Scope
Requires: read:competitors
get_matrix
Get the GEO visibility matrix: rows (topics, prompts, or funnel stages) crossed with columns (AI providers), showing visibility rates, sentiment, and top competitors per cell.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
granularity | string | No | Group by: topics (default), prompts, or funnel |
period | number | No | Number of days to analyze (default: 30) |
limit | number | No | Max rows to return (default: 20) |
Granularity Options
| Value | Groups rows by |
|---|
topics | Keywords/topics (default) |
prompts | Individual monitored questions |
funnel | Funnel stages (TOFU/MOFU/BOFU) |
Returns
| Field | Description |
|---|
providers[] | List of AI providers (columns) |
rows[] | Matrix rows, each with cells per provider |
rows[].cells[] | Per-cell: totalAnswers, selfMentions, visibilityRate, avgSentiment, topCompetitor |
rows[].overallVisibility | Overall visibility % across all providers |
The matrix is powerful for identifying which topics underperform on which providers. Look for cells with 0% visibility where competitors have high mention rates.
OAuth Scope
Requires: read:visibility