Skip to main content

Visibility Scores & Analytics

Metrics​

Each data point reports Presence Rate, Quality Score, Visibility Index and Share of Voice for one time bucket. See Metric Definitions for what each one measures and how it is calculated.

Aggregated visibility scores​

Get a single time-series trend of visibility scores across all topics in a project:

Operation: query GetAiVisibilityVisibilityScores( $accountId: ObjectID! $aiVisibilityProjectId: ObjectID! $aiVisibilityBrandId: ObjectID! $timeBucket: AiVisibilityTimeBucket! $dateRange: AiVisibilityDateRangeInput ) { getAiVisibilityVisibilityScores( accountId: $accountId aiVisibilityProjectId: $aiVisibilityProjectId aiVisibilityBrandId: $aiVisibilityBrandId timeBucket: $timeBucket dateRange: $dateRange ) { date avgPresenceRate avgQualityScore avgVisibilityIndex mentionShareOfVoice citationShareOfVoice avgCitationQualityScore avgBrandMentionQualityScore totalBrandCitations totalBrandMentions } }Variables: { "accountId": "TjAwN0FjY291bnQxMjM0NQ", "aiVisibilityProjectId": "QWlWaXNpYmlsaXR5UHJvamVjdDE", "aiVisibilityBrandId": "QWlWaXNpYmlsaXR5QnJhbmQx", "timeBucket": "Day", "dateRange": { "start": "2025-01-01", "end": "2025-01-31" } }
GetAiVisibilityVisibilityScoresTry in Explorer
GraphQL
query GetAiVisibilityVisibilityScores(
$accountId: ObjectID!
$aiVisibilityProjectId: ObjectID!
$aiVisibilityBrandId: ObjectID!
$timeBucket: AiVisibilityTimeBucket!
$dateRange: AiVisibilityDateRangeInput
) {
getAiVisibilityVisibilityScores(
accountId: $accountId
aiVisibilityProjectId: $aiVisibilityProjectId
aiVisibilityBrandId: $aiVisibilityBrandId
timeBucket: $timeBucket
dateRange: $dateRange
) {
date
avgPresenceRate
avgQualityScore
avgVisibilityIndex
mentionShareOfVoice
citationShareOfVoice
avgCitationQualityScore
avgBrandMentionQualityScore
totalBrandCitations
totalBrandMentions
}
}

Time bucketing​

The timeBucket parameter controls the granularity of the time series:

ValueDescription
dayOne data point per day
weekOne data point per week
monthOne data point per month

Data points​

Each data point in the time series includes:

FieldDescription
dateStart of the time bucket (ISO 8601 date)
avgPresenceRatePercentage of runs in this bucket where the brand was mentioned or cited
avgQualityScoreQuality of the brand's appearances in this bucket
avgVisibilityIndexRanking blend of quality and appearance rate
mentionShareOfVoice / citationShareOfVoiceThe brand's share of mention / citation appearances in this bucket
avgCitationQualityScoreAverage citation quality score component
avgBrandMentionQualityScoreAverage mention quality score component
totalBrandCitationsTotal citations for the brand in this period
totalBrandMentionsTotal mentions for the brand in this period
avgVisibilityScoreDeprecated alias of avgVisibilityIndex

Optional filters​

The aggregated query supports optional aiVisibilityTopicId and aiVisibilityPromptId filters to narrow the scope to a specific topic or prompt.

Per-topic visibility scores​

Get visibility score trends broken down by topic:

Operation: query GetAiVisibilityTopicVisibilityScores( $accountId: ObjectID! $aiVisibilityProjectId: ObjectID! $aiVisibilityBrandId: ObjectID! $timeBucket: AiVisibilityTimeBucket! $dateRange: AiVisibilityDateRangeInput ) { getAiVisibilityTopicVisibilityScores( accountId: $accountId aiVisibilityProjectId: $aiVisibilityProjectId aiVisibilityBrandId: $aiVisibilityBrandId timeBucket: $timeBucket dateRange: $dateRange ) { aiVisibilityTopicId aiVisibilityTopicRawId topicName dataPoints { date avgPresenceRate avgQualityScore avgVisibilityIndex mentionShareOfVoice citationShareOfVoice avgCitationQualityScore avgBrandMentionQualityScore totalBrandCitations totalBrandMentions } } }Variables: { "accountId": "TjAwN0FjY291bnQxMjM0NQ", "aiVisibilityProjectId": "QWlWaXNpYmlsaXR5UHJvamVjdDE", "aiVisibilityBrandId": "QWlWaXNpYmlsaXR5QnJhbmQx", "timeBucket": "Week", "dateRange": { "start": "2025-01-01", "end": "2025-03-31" } }
GetAiVisibilityTopicVisibilityScoresTry in Explorer
GraphQL
query GetAiVisibilityTopicVisibilityScores(
$accountId: ObjectID!
$aiVisibilityProjectId: ObjectID!
$aiVisibilityBrandId: ObjectID!
$timeBucket: AiVisibilityTimeBucket!
$dateRange: AiVisibilityDateRangeInput
) {
getAiVisibilityTopicVisibilityScores(
accountId: $accountId
aiVisibilityProjectId: $aiVisibilityProjectId
aiVisibilityBrandId: $aiVisibilityBrandId
timeBucket: $timeBucket
dateRange: $dateRange
) {
aiVisibilityTopicId
aiVisibilityTopicRawId
topicName
dataPoints {
date
avgPresenceRate
avgQualityScore
avgVisibilityIndex
mentionShareOfVoice
citationShareOfVoice
avgCitationQualityScore
avgBrandMentionQualityScore
totalBrandCitations
totalBrandMentions
}
}
}

Each topic in the result includes its own array of dataPoints with the same fields as the aggregated query. This is useful for comparing how visibility varies across different topic areas.

AI providers​

List all providers​

Get all available AI providers and whether they are included in your subscription:

Operation: query GetAiVisibilityAiProviders($accountId: ObjectID!) { getAiVisibilityAiProviders(accountId: $accountId, first: 10) { nodes { id rawId name type } } }Variables: { "accountId": "TjAwN0FjY291bnQxMjM0NQ" }
GetAiVisibilityAiProvidersTry in Explorer
GraphQL
query GetAiVisibilityAiProviders($accountId: ObjectID!) {
getAiVisibilityAiProviders(accountId: $accountId, first: 10) {
nodes {
id
rawId
name
type
}
}
}

Available provider types:

TypeName
openai_apiChatGPT
perplexity_apiPerplexity
google_apiGemini
anthropic_apiClaude
google_ai_mode_serp_apiAI Mode
google_ai_overview_serp_apiAI Overviews

List active providers​

Get providers that had at least one finished prompt run in a project within a date range. Useful for populating filter dropdowns:

Operation: query GetAiVisibilityActiveAiProviders( $accountId: ObjectID! $aiVisibilityProjectId: ObjectID! $dateRange: AiVisibilityDateRangeInput ) { getAiVisibilityActiveAiProviders( accountId: $accountId aiVisibilityProjectId: $aiVisibilityProjectId dateRange: $dateRange ) { id rawId name type } }Variables: { "accountId": "TjAwN0FjY291bnQxMjM0NQ", "aiVisibilityProjectId": "QWlWaXNpYmlsaXR5UHJvamVjdDE", "dateRange": { "start": "2025-01-01", "end": "2025-01-31" } }
GetAiVisibilityActiveAiProvidersTry in Explorer
GraphQL
query GetAiVisibilityActiveAiProviders(
$accountId: ObjectID!
$aiVisibilityProjectId: ObjectID!
$dateRange: AiVisibilityDateRangeInput
) {
getAiVisibilityActiveAiProviders(
accountId: $accountId
aiVisibilityProjectId: $aiVisibilityProjectId
dateRange: $dateRange
) {
id
rawId
name
type
}
}

Filtering by AI provider​

All data-fetching queries accept an optional aiProviderTypes parameter. When provided, only data from prompt runs executed by the specified platforms is included:

getAiVisibilityTopics(
# ... other params
aiProviderTypes: [openai_api, perplexity_api]
) {
# Only data from ChatGPT and Perplexity runs
}

Schema reference​