Skip to main content
POST
/
api
/
analytics
/
tags
/
entities
Get all entities detected for one or more tags (batch)
curl --request POST \
  --url https://api.mentionlab.io/api/analytics/tags/entities \
  --header 'Content-Type: application/json' \
  --header 'x-project-id: <x-project-id>' \
  --data '
{
  "tagType": "query",
  "tagIds": [
    "42",
    "43"
  ],
  "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",
  "groupByEntityGroup": false,
  "entityTypes": [
    "owned",
    "primary",
    "competitor"
  ],
  "limit": 15,
  "sort": [
    {
      "field": "<string>",
      "direction": "ASC"
    }
  ]
}
'
{
  "tags": [
    {
      "tagId": "550e8400-e29b-41d4-a716-446655440000",
      "resultCount": 340,
      "entities": [
        {
          "displayKey": "550e8400-e29b-41d4-a716-446655440000",
          "displayName": "Acme Corp",
          "isOwned": true,
          "isPrimary": false,
          "isCompetitor": true,
          "mentionCount": 265,
          "visibility": 77.9,
          "shareOfVoice": 32.1,
          "avgRanking": 1.8,
          "sentimentScore": 74.2,
          "sentiment": {
            "positive": 165,
            "neutral": 72,
            "negative": 28
          }
        }
      ]
    }
  ]
}

Headers

x-project-id
string
required

Project ID to specify the project context

Body

application/json
tagType
enum<string>
required

Which tag system the tagIds belong to

Available options:
query,
execution
Example:

"query"

tagIds
string[]
required

Tag IDs to get entities for (batch)

Example:
["42", "43"]
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
groupByEntityGroup
boolean
default:false

When true, entities belonging to the same entity_group are collapsed into a single row. Uses COUNT(DISTINCT ai_response_id) so that two group members present in the same response count as one (visibility cannot exceed 100%).

entityTypes
enum<string>[]

Filter which entity types to include in results. Accepted values: "owned", "primary", "competitor". Defaults to all types when omitted.

Available options:
owned,
primary,
competitor
Example:
["owned", "primary", "competitor"]
limit
number

Max number of entities to return (top N by mention count)

Example:

15

sort
object[]

Response

200 - application/json
tags
object[]
required

Per-tag entity results.