> ## Documentation Index
> Fetch the complete documentation index at: https://docs.otterly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get statistics for a brand report



## OpenAPI

````yaml https://data.otterly.ai/v1/openapi.json get /v1/reports/brand/{reportId}/stats
openapi: 3.0.0
info:
  title: Otterly Public API
  version: 1.0.0
servers:
  - url: https://data.otterly.ai
security: []
tags:
  - name: Engines
  - name: Workspaces
  - name: Brand Reports
  - name: Audits
  - name: Accounts
paths:
  /v1/reports/brand/{reportId}/stats:
    get:
      tags:
        - Brand Reports
      summary: Get statistics for a brand report
      parameters:
        - schema:
            type: string
            minLength: 1
            example: 01HX7K2YV9D3M8N0G6Q5R4S3T2
            description: Brand report identifier.
          required: true
          description: Brand report identifier.
          name: reportId
          in: path
        - schema:
            type: string
            minLength: 1
            description: Start date for the stats window (inclusive).
            example: '2025-01-01'
          required: true
          description: Start date for the stats window (inclusive).
          name: startDate
          in: query
        - schema:
            type: string
            minLength: 1
            description: End date for the stats window (inclusive).
            example: '2025-01-31'
          required: true
          description: End date for the stats window (inclusive).
          name: endDate
          in: query
        - schema:
            type: string
            minLength: 1
            description: >-
              Country code to filter stats by. Lowercase ISO 3166-1 alpha-2; use
              `uk` for the United Kingdom.
            example: us
          required: true
          description: >-
            Country code to filter stats by. Lowercase ISO 3166-1 alpha-2; use
            `uk` for the United Kingdom.
          name: country
          in: query
        - schema:
            anyOf:
              - type: string
                enum:
                  - chatgpt
                  - google
                  - perplexity
                  - copilot
                  - google_ai_mode
                  - gemini
                  - claude
                description: AI engine identifier.
                example: chatgpt
              - type: array
                items:
                  type: string
                  enum:
                    - chatgpt
                    - google
                    - perplexity
                    - copilot
                    - google_ai_mode
                    - gemini
                    - claude
                  description: AI engine identifier.
                  example: chatgpt
            description: >-
              Optional. AI engine(s) to filter by. Repeat the param or pass a
              single value.
          required: false
          description: >-
            Optional. AI engine(s) to filter by. Repeat the param or pass a
            single value.
          name: engines
          in: query
        - schema:
            type: string
            description: Optional. Filter stats by tag id.
          required: false
          description: Optional. Filter stats by tag id.
          name: tagId
          in: query
      responses:
        '200':
          description: Statistics for the brand report.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiBrandReportStats'
        '400':
          description: Validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiValidationErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiErrorResponse'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiErrorResponse'
        '404':
          description: Report not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    PublicApiBrandReportStats:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        isRecalculating:
          type: boolean
        totalPrompts:
          type: integer
          minimum: 0
        brand:
          type: object
          properties:
            brand:
              type: string
            brandDomain:
              type: string
            brandDomainWildcard:
              type: boolean
          required:
            - brand
            - brandDomain
        summary:
          type: object
          properties:
            averageRank:
              type: number
              nullable: true
            averagePosition:
              type: number
              nullable: true
            totalMentions:
              type: integer
              minimum: 0
            totalSources:
              type: integer
              minimum: 0
            shareOfVoice:
              type: number
            brandCoverage:
              type: number
            domainCoverage:
              type: number
          required:
            - averageRank
            - averagePosition
            - totalMentions
            - totalSources
            - shareOfVoice
            - brandCoverage
            - domainCoverage
        detectedBrands:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              mentions:
                type: number
            required:
              - name
              - mentions
        allBrandsAnalysis:
          type: object
          properties:
            brandMentions:
              type: array
              items:
                type: object
                properties:
                  brand:
                    type: string
                  isMainBrand:
                    type: boolean
                  rank:
                    type: number
                  mentions:
                    type: number
                  shareOfVoice:
                    type: number
                  brandCoverage:
                    type: number
                required:
                  - brand
                  - isMainBrand
                  - rank
                  - mentions
                  - shareOfVoice
                  - brandCoverage
            brandRankHistory:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                  brands:
                    type: array
                    items:
                      type: object
                      properties:
                        brand:
                          type: string
                        isMainBrand:
                          type: boolean
                        rank:
                          type: number
                      required:
                        - brand
                        - isMainBrand
                        - rank
                required:
                  - date
                  - brands
            brandCoverageHistory:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                  brands:
                    type: array
                    items:
                      type: object
                      properties:
                        brand:
                          type: string
                        isMainBrand:
                          type: boolean
                        logoUrl:
                          type: string
                        coverage:
                          type: number
                      required:
                        - brand
                        - isMainBrand
                        - logoUrl
                        - coverage
                required:
                  - date
                  - brands
            brandPositionHistory:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                  brands:
                    type: array
                    items:
                      type: object
                      properties:
                        brand:
                          type: string
                        isMainBrand:
                          type: boolean
                        position:
                          type: number
                      required:
                        - brand
                        - isMainBrand
                        - position
                required:
                  - date
                  - brands
            brandVisibilityIndex:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                  brands:
                    type: array
                    items:
                      type: object
                      properties:
                        brand:
                          type: string
                        isMainBrand:
                          type: boolean
                        visibilityScore:
                          type: number
                        brandCoverage:
                          type: number
                        likelihoodToBuy:
                          type: number
                      required:
                        - brand
                        - isMainBrand
                        - visibilityScore
                        - brandCoverage
                        - likelihoodToBuy
                required:
                  - date
                  - brands
            domainCoverageHistory:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                  domains:
                    type: array
                    items:
                      type: object
                      properties:
                        domain:
                          type: string
                        isMainBrand:
                          type: boolean
                        logoUrl:
                          type: string
                        coverage:
                          type: number
                      required:
                        - domain
                        - isMainBrand
                        - logoUrl
                        - coverage
                required:
                  - date
                  - domains
          required:
            - brandMentions
            - brandRankHistory
            - brandCoverageHistory
            - brandPositionHistory
            - brandVisibilityIndex
            - domainCoverageHistory
        competitorBrandsAnalysis:
          type: object
          properties:
            brandMentions:
              type: array
              items:
                type: object
                properties:
                  brand:
                    type: string
                  domain:
                    type: string
                  logoUrl:
                    type: string
                  isMainBrand:
                    type: boolean
                  mentions:
                    type: number
                  shareOfVoice:
                    type: number
                  brandCoverage:
                    type: number
                  domainCoverage:
                    type: number
                  domainCitations:
                    type: number
                  averageRank:
                    type: number
                    nullable: true
                  averagePosition:
                    type: number
                    nullable: true
                  visibilityScore:
                    type: number
                  likelihoodToBuy:
                    type: number
                    nullable: true
                  sentiment:
                    type: object
                    nullable: true
                    properties:
                      positive:
                        type: number
                      neutral:
                        type: number
                      negative:
                        type: number
                      nss:
                        type: number
                    required:
                      - positive
                      - neutral
                      - negative
                      - nss
                required:
                  - brand
                  - domain
                  - logoUrl
                  - isMainBrand
                  - mentions
                  - shareOfVoice
                  - brandCoverage
                  - domainCoverage
                  - domainCitations
                  - averageRank
                  - averagePosition
                  - visibilityScore
                  - likelihoodToBuy
                  - sentiment
            brandCoverageHistory:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                  brands:
                    type: array
                    items:
                      type: object
                      properties:
                        brand:
                          type: string
                        isMainBrand:
                          type: boolean
                        logoUrl:
                          type: string
                        coverage:
                          type: number
                      required:
                        - brand
                        - isMainBrand
                        - logoUrl
                        - coverage
                required:
                  - date
                  - brands
            domainCoverageHistory:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                  domains:
                    type: array
                    items:
                      type: object
                      properties:
                        domain:
                          type: string
                        isMainBrand:
                          type: boolean
                        logoUrl:
                          type: string
                        coverage:
                          type: number
                      required:
                        - domain
                        - isMainBrand
                        - logoUrl
                        - coverage
                required:
                  - date
                  - domains
            brandVisibilityIndex:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                  brands:
                    type: array
                    items:
                      type: object
                      properties:
                        brand:
                          type: string
                        isMainBrand:
                          type: boolean
                        visibilityScore:
                          type: number
                        brandCoverage:
                          type: number
                        likelihoodToBuy:
                          type: number
                      required:
                        - brand
                        - isMainBrand
                        - visibilityScore
                        - brandCoverage
                        - likelihoodToBuy
                required:
                  - date
                  - brands
          required:
            - brandMentions
            - brandCoverageHistory
            - domainCoverageHistory
            - brandVisibilityIndex
      required:
        - id
        - status
        - isRecalculating
        - totalPrompts
        - brand
        - summary
        - detectedBrands
        - allBrandsAnalysis
        - competitorBrandsAnalysis
      description: >-
        Brand report stats payload: meta, the tracked brand info, summary
        metrics, detected source brands, and per-analysis aggregates (all
        detected brands vs configured competitors).
    PublicApiValidationErrorResponse:
      type: object
      properties:
        message:
          type: string
        target:
          type: string
        errors:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
              message:
                type: string
              code:
                type: string
            required:
              - path
              - message
              - code
      required:
        - message
        - target
        - errors
      example:
        message: Validation failed
        target: query
        errors:
          - path: country
            message: Required
            code: invalid_type
    PublicApiErrorResponse:
      type: object
      properties:
        message:
          type: string
      required:
        - message
      example:
        message: Report not found
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Provide your API key as a Bearer token: `Authorization: Bearer
        YOUR_API_KEY`.

````