---
title: "Get statistics for a brand report"
method: GET
path: "/v1/reports/brand/{reportId}/stats"
tags: ["Brand Reports"]
---

# Get statistics for a brand report

`GET /v1/reports/brand/{reportId}/stats`

## Path parameters

- `reportId` string, required — Brand report identifier.

## Query parameters

- `startDate` string, required — Start date for the stats window (inclusive).
- `endDate` string, required — End date for the stats window (inclusive).
- `country` string, required — Country code to filter stats by. Lowercase ISO 3166-1 alpha-2; use `uk` for the United Kingdom.
- `engines` union — Optional. AI engine(s) to filter by. Repeat the param or pass a single value.
  - 'chatgpt' | 'google' | 'perplexity' | 'copilot' | 'google_ai_mode' | 'gemini' | 'claude' — AI engine identifier.
  - string[]
- `tagId` string — Optional. Filter stats by tag id.

## Response `200`

Statistics for the brand report.

- PublicApiBrandReportStats — Brand report stats payload: meta, the tracked brand info, summary metrics, detected source brands, and per-analysis aggregates (all detected brands vs configured competitors).
  - `id` string, required
  - `status` string, required
  - `isRecalculating` boolean, required
  - `totalPrompts` integer, required
  - `brand` object, required
    - `brand` string, required
    - `brandDomain` string, required
    - `brandDomainWildcard` boolean
  - `summary` object, required
    - `averageRank` number, nullable, required
    - `averagePosition` number, nullable, required
    - `totalMentions` integer, required
    - `totalSources` integer, required
    - `shareOfVoice` number, required
    - `brandCoverage` number, required
    - `domainCoverage` number, required
  - `detectedBrands` object[], required
    - `name` string, required
    - `mentions` number, required
  - `allBrandsAnalysis` object, required
    - `brandMentions` object[], required
      - `brand` string, required
      - `isMainBrand` boolean, required
      - `rank` number, required
      - `mentions` number, required
      - `shareOfVoice` number, required
      - `brandCoverage` number, required
    - `brandRankHistory` object[], required
      - `date` string, required
      - `brands` object[], required
        - `brand` string, required
        - `isMainBrand` boolean, required
        - `rank` number, required
    - `brandCoverageHistory` object[], required
      - `date` string, required
      - `brands` object[], required
        - `brand` string, required
        - `isMainBrand` boolean, required
        - `logoUrl` string, required
        - `coverage` number, required
    - `brandPositionHistory` object[], required
      - `date` string, required
      - `brands` object[], required
        - `brand` string, required
        - `isMainBrand` boolean, required
        - `position` number, required
    - `brandVisibilityIndex` object[], required
      - `date` string, required
      - `brands` object[], required
        - `brand` string, required
        - `isMainBrand` boolean, required
        - `visibilityScore` number, required
        - `brandCoverage` number, required
        - `likelihoodToBuy` number, required
    - `domainCoverageHistory` object[], required
      - `date` string, required
      - `domains` object[], required
        - `domain` string, required
        - `isMainBrand` boolean, required
        - `logoUrl` string, required
        - `coverage` number, required
  - `competitorBrandsAnalysis` object, required
    - `brandMentions` object[], required
      - `brand` string, required
      - `domain` string, required
      - `logoUrl` string, required
      - `isMainBrand` boolean, required
      - `mentions` number, required
      - `shareOfVoice` number, required
      - `brandCoverage` number, required
      - `domainCoverage` number, required
      - `domainCitations` number, required
      - `averageRank` number, nullable, required
      - `averagePosition` number, nullable, required
      - `visibilityScore` number, required
      - `likelihoodToBuy` number, nullable, required
      - `sentiment` object, nullable, required
        - `positive` number, required
        - `neutral` number, required
        - `negative` number, required
        - `nss` number, required
    - `brandCoverageHistory` object[], required
      - `date` string, required
      - `brands` object[], required
        - `brand` string, required
        - `isMainBrand` boolean, required
        - `logoUrl` string, required
        - `coverage` number, required
    - `domainCoverageHistory` object[], required
      - `date` string, required
      - `domains` object[], required
        - `domain` string, required
        - `isMainBrand` boolean, required
        - `logoUrl` string, required
        - `coverage` number, required
    - `brandVisibilityIndex` object[], required
      - `date` string, required
      - `brands` object[], required
        - `brand` string, required
        - `isMainBrand` boolean, required
        - `visibilityScore` number, required
        - `brandCoverage` number, required
        - `likelihoodToBuy` number, required

## Other responses

- `400` — Validation failed.
- `401` — Unauthorized.
- `403` — Forbidden.
- `404` — Report not found.

---

[API](https://skmtc.net/otterly/apis/otterly-public-api.md) · [All operations](https://skmtc.net/otterly/apis/otterly-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/otterly/otterly-public-api/revisions/49f12c5f26c7/schema)
