Skip to main content
POST
/
api
/
analytics
/
tags
/
summary
Get per-tag visibility summary
curl --request POST \
  --url https://api.mentionlab.io/api/analytics/tags/summary \
  --header 'Content-Type: application/json' \
  --header 'x-project-id: <x-project-id>' \
  --data '
{
  "tagType": "query",
  "startDate": "2025-01-01",
  "endDate": "2025-02-01",
  "country": "<string>",
  "language": "<string>",
  "models": [
    "<string>"
  ],
  "hasSources": true,
  "hasShopping": true,
  "queryTagIds": [
    "<string>"
  ],
  "execTagIds": [
    "<string>"
  ],
  "queryTagMode": "or",
  "execTagMode": "or",
  "entityIds": [
    "<string>"
  ],
  "groupByEntityGroup": false
}
'
[
  {
    "tagId": "550e8400-e29b-41d4-a716-446655440000",
    "tagName": "Pricing",
    "tagColor": "#FF5733",
    "totalResponses": 200,
    "presentIn": 80,
    "visibilityPct": 40,
    "avgPositionRank": 2.5
  }
]

Headers

x-project-id
string
required

Project ID to specify the project context

Body

application/json
tagType
enum<string>
required

Which tag system to group by

Available options:
query,
execution
Example:

"query"

startDate
string

Start date (inclusive)

Example:

"2025-01-01"

endDate
string

End date (exclusive)

Example:

"2025-02-01"

country
string

Filter by country code

language
string

Filter by language code

models
string[]

Filter by AI models

hasSources
boolean

Filter by responses that have sources

hasShopping
boolean

Filter by responses that have shopping products

queryTagIds
string[]

Filter by query tag IDs

execTagIds
string[]

Filter by execution tag IDs

queryTagMode
enum<string>
default:or

Query tag matching mode: "or" matches ANY tag (default), "and" matches ALL tags.

Available options:
and,
or
execTagMode
enum<string>
default:or

Execution tag matching mode: "or" matches ANY tag (default), "and" matches ALL tags.

Available options:
and,
or
entityIds
string[]

Entity IDs to compute visibility for (defaults to primary non-blacklisted)

groupByEntityGroup
boolean
default:false

When true, expand selected entities to include all members of their entity groups.

Response

200 - application/json
tagId
string
required

Tag ID (UUID).

Example:

"550e8400-e29b-41d4-a716-446655440000"

tagName
string
required

Tag display name.

Example:

"Pricing"

tagColor
string
required

Tag color as a hex string.

Example:

"#FF5733"

totalResponses
number
required

Total number of AI responses tagged with this tag (denominator for visibilityPct). Scoped by the request filters (project, date range, models, platforms).

Example:

200

presentIn
number
required

Number of AI responses (for this tag) where the selected entities are mentioned (numerator for visibilityPct). Distinct by ai_response_id to avoid double-counting.

Example:

80

visibilityPct
number
required

Visibility percentage — how often the selected entities appear in responses tagged with this tag. Formula: (presentIn / totalResponses) × 100.

Example:

40

avgPositionRank
number
required

Average position rank for the selected entities within responses tagged with this tag. Lower values mean the entity tends to appear higher/earlier in responses.

Example:

2.5