Skip to main content
POST
/
api
/
analytics
/
shopping
/
merchants
All merchants with citation metrics (paginated, sortable)
curl --request POST \
  --url https://api.mentionlab.io/api/analytics/shopping/merchants \
  --header 'Content-Type: application/json' \
  --header 'x-project-id: <x-project-id>' \
  --data '
{
  "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",
  "page": 1,
  "pageSize": 50,
  "entityIds": [
    "<string>"
  ],
  "groupByEntityGroup": false,
  "sort": [
    {
      "field": "<string>",
      "direction": "ASC"
    }
  ]
}
'
{
  "totalResponses": 365,
  "totalMerchantCitations": 450,
  "totalBrandMentions": 200,
  "merchants": [
    {
      "merchantId": "550e8400-e29b-41d4-a716-446655440000",
      "merchantName": "Amazon",
      "domain": "amazon.com",
      "mentionCount": 45,
      "citationRate": 28,
      "citationShare": 15,
      "entityCitationShare": 22.5,
      "trueReach": 40
    }
  ],
  "page": {
    "totalRecords": 123,
    "limit": 123,
    "currentPage": 123,
    "totalPages": 123,
    "nextPage": 123,
    "prevPage": 123
  }
}

Headers

x-project-id
string
required

Project ID to specify the project context

Body

application/json
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
page
number
default:1

Page number (1-based).

pageSize
number
default:50

Items per page (max 200).

entityIds
string[]

Entity IDs for brand-specific metrics (defaults to primary non-blacklisted).

groupByEntityGroup
boolean
default:false

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

sort
object[]

Sort order. Allowed fields: merchantName, citationRate, citationShare, entityCitationShare, trueReach, mentionCount.

Response

200 - application/json
totalResponses
number
required

Total AI responses in filtered scope (denominator for citationRate).

Example:

365

totalMerchantCitations
number
required

Sum of mentionCount across all merchants (denominator for citationShare).

Example:

450

totalBrandMentions
number
required

Sum of brand-matched mention counts across all merchants (denominator for entityCitationShare).

Example:

200

merchants
object[]
required

Merchant list, sorted and paginated.

page
object
required

Pagination metadata.