Skip to main content

Citations and Mentions

AI provider responses may contain citations (URL references to web pages) and mentions (textual references to brand names). These are extracted and stored for each prompt run.

Brand citations​

Brand citations are aggregated by URL, giving you a view of which pages are most frequently cited for a brand. Each result includes the AI providers and topics that cited the URL.

Operation: query GetAiVisibilityBrandCitations( $accountId: ObjectID! $aiVisibilityProjectId: ObjectID! $aiVisibilityBrandId: ObjectID! $dateRange: AiVisibilityDateRangeInput ) { getAiVisibilityBrandCitations( accountId: $accountId aiVisibilityProjectId: $aiVisibilityProjectId aiVisibilityBrandId: $aiVisibilityBrandId dateRange: $dateRange first: 20 orderBy: [{ field: totalBrandCitations, direction: DESC }] ) { nodes { pageId canonicalUrl url title aiProviderTypes topicNames avgBrandPosition totalBrandCitations avgCitationScore } pageInfo { hasNextPage endCursor } totalCount } }Variables: { "accountId": "TjAwN0FjY291bnQxMjM0NQ", "aiVisibilityProjectId": "QWlWaXNpYmlsaXR5UHJvamVjdDE", "aiVisibilityBrandId": "QWlWaXNpYmlsaXR5QnJhbmQx", "dateRange": { "start": "2025-01-01", "end": "2025-01-31" } }
GetAiVisibilityBrandCitationsTry in Explorer
GraphQL
query GetAiVisibilityBrandCitations(
$accountId: ObjectID!
$aiVisibilityProjectId: ObjectID!
$aiVisibilityBrandId: ObjectID!
$dateRange: AiVisibilityDateRangeInput
) {
getAiVisibilityBrandCitations(
accountId: $accountId
aiVisibilityProjectId: $aiVisibilityProjectId
aiVisibilityBrandId: $aiVisibilityBrandId
dateRange: $dateRange
first: 20
orderBy: [{ field: totalBrandCitations, direction: DESC }]
) {
nodes {
pageId
canonicalUrl
url
title
aiProviderTypes
topicNames
avgBrandPosition
totalBrandCitations
avgCitationScore
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}

Fields​

FieldDescription
pageIdStable id for the cited page, shared with every other AI Visibility query
canonicalUrlCanonical form of the cited URL; the key rows are grouped by
urlA representative raw cited URL, for linking
titleSearch-result title for the page, or null if SERP discovery has never seen it
aiProviderTypesArray of AI providers that cited this URL
topicNamesArray of topic names associated with this URL's citations
avgBrandPositionAverage citation position across all appearances
totalBrandCitationsTotal number of times this URL was cited
avgCitationScoreAverage citation quality score (nullable)

Each node is one page, not one URL spelling: citations of https://example.com/p?ref=chat and https://example.com/p aggregate into a single row, and totalCount counts pages. Join a row to page scores, discovered pages and page runs on pageId — see Page Identity.

Sorting​

Citations can be sorted by: url, avgBrandPosition, totalBrandCitations, avgCitationScore. The url field sorts on canonicalUrl.

Default sort is totalBrandCitations DESC, canonicalUrl ASC.

Filtering​

All parameters that filter brand citations:

ParameterTypeDescription
aiVisibilityProjectIdObjectID!Required. Scopes to a project
aiVisibilityBrandIdObjectID!Required. The brand (including merged variants)
aiVisibilityTopicIdObjectIDOptional. Filter to a specific topic
aiVisibilityPromptIdObjectIDOptional. Filter to a specific prompt
dateRangeAiVisibilityDateRangeInputOptional. Defaults to last 30 days
aiProviderTypes[AiVisibilityAiProviderType]Optional. Filter by AI platform

Brand mentions​

Brand mentions return individual mention rows with full details including the mention text, its position in the response, and sentiment analysis.

Operation: query GetAiVisibilityBrandMentions( $accountId: ObjectID! $aiVisibilityProjectId: ObjectID! $aiVisibilityBrandId: ObjectID! $dateRange: AiVisibilityDateRangeInput ) { getAiVisibilityBrandMentions( accountId: $accountId aiVisibilityProjectId: $aiVisibilityProjectId aiVisibilityBrandId: $aiVisibilityBrandId dateRange: $dateRange first: 20 orderBy: [{ field: brandMentionQualityScore, direction: DESC }] ) { nodes { rawId text textSpan { start end } position brandName brandType sentiment sentimentJustification brandMentionQualityScore aiProviderType createdAt } pageInfo { hasNextPage endCursor } totalCount } }Variables: { "accountId": "TjAwN0FjY291bnQxMjM0NQ", "aiVisibilityProjectId": "QWlWaXNpYmlsaXR5UHJvamVjdDE", "aiVisibilityBrandId": "QWlWaXNpYmlsaXR5QnJhbmQx", "dateRange": { "start": "2025-01-01", "end": "2025-01-31" } }
GetAiVisibilityBrandMentionsTry in Explorer
GraphQL
query GetAiVisibilityBrandMentions(
$accountId: ObjectID!
$aiVisibilityProjectId: ObjectID!
$aiVisibilityBrandId: ObjectID!
$dateRange: AiVisibilityDateRangeInput
) {
getAiVisibilityBrandMentions(
accountId: $accountId
aiVisibilityProjectId: $aiVisibilityProjectId
aiVisibilityBrandId: $aiVisibilityBrandId
dateRange: $dateRange
first: 20
orderBy: [{ field: brandMentionQualityScore, direction: DESC }]
) {
nodes {
rawId
text
textSpan {
start
end
}
position
brandName
brandType
sentiment
sentimentJustification
brandMentionQualityScore
aiProviderType
createdAt
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}

Fields​

FieldDescription
rawIdUnique mention identifier
textThe mention text
textSpanCharacter offset range (start and end) within the full response
positionPosition of the mention within the answer
brandNameOriginal brand name (preserved even for merged brands)
brandTypeBrand type (own, competitor, other)
sentimentSentiment score
sentimentJustificationExplanation for the sentiment rating
brandMentionQualityScoreQuality score (0-100)
aiProviderTypeWhich AI provider generated this mention
createdAtWhen the prompt run was created

Sorting​

Mentions can be sorted by: id, position, brandMentionQualityScore, createdAt.

Default sort is brandMentionQualityScore DESC.

Filtering​

Same filtering parameters as brand citations (project, brand, topic, prompt, date range, AI provider types).

Schema reference​