> ## 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.

# List brand reports



## OpenAPI

````yaml https://data.otterly.ai/v1/openapi.json get /v1/reports/brand
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:
    get:
      tags:
        - Brand Reports
      summary: List brand reports
      parameters:
        - schema:
            type: string
            minLength: 1
            description: >-
              Optional. Pagination cursor — pass back the `nextCursor` value
              from a previous response. Omit to fetch the first page.
          required: false
          description: >-
            Optional. Pagination cursor — pass back the `nextCursor` value from
            a previous response. Omit to fetch the first page.
          name: cursor
          in: query
        - schema:
            type: string
            minLength: 1
            example: 01HX7K2YV9D3M8N0G6Q5R4S3T2
            description: >-
              Optional. Filter results to a specific workspace the API key has
              access to. If omitted, results span every workspace the API key
              can read.
          required: false
          description: >-
            Optional. Filter results to a specific workspace the API key has
            access to. If omitted, results span every workspace the API key can
            read.
          name: workspaceId
          in: query
      responses:
        '200':
          description: A list of brand reports.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiBrandReportsList'
        '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'
      security:
        - BearerAuth: []
components:
  schemas:
    PublicApiBrandReportsList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PublicApiBrandReportListItem'
        paging:
          $ref: '#/components/schemas/PublicApiCursorPageInfo'
      required:
        - items
        - paging
      example:
        items:
          - id: 01HXBR1DGM5XY8Z2N3KQ7VAW4P
            workspaceId: 01HX7K2YV9D3M8N0G6Q5R4S3T2
            brand: Adidas
            brandVariations:
              - adidas
              - Adidas AG
            brandDomain: adidas.com
            brandDomainVariations:
              - adidas.de
              - adidas.co.uk
            brandDomainWildcard: false
            countries:
              - us
              - de
              - uk
            competitors:
              - brand: Nike
                brandVariations:
                  - nike
                  - Nike Inc.
                brandDomain: nike.com
                brandDomainVariations:
                  - nike.de
                  - nike.co.uk
                brandDomainWildcard: false
            reportTitle: Adidas Visibility Report
            createdDate: '2024-11-01T12:00:00.000Z'
            updatedDate: '2025-05-01T08:30:00.000Z'
        paging:
          nextCursor: null
          hasMore: false
    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
    PublicApiBrandReportListItem:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          example: 01HX7K2YV9D3M8N0G6Q5R4S3T2
        workspaceId:
          type: string
        brand:
          type: string
        brandVariations:
          type: array
          items:
            type: string
        brandDomain:
          type: string
        brandDomainVariations:
          type: array
          items:
            type: string
        brandDomainWildcard:
          type: boolean
        countries:
          type: array
          items:
            type: string
          description: >-
            Lowercase ISO 3166-1 alpha-2 country codes the report tracks (e.g.
            `us`, `de`), with `uk` used in place of `gb`.
        competitors:
          type: array
          items:
            $ref: '#/components/schemas/PublicApiBrandCompetitor'
        reportTitle:
          type: string
        createdDate:
          type: string
        updatedDate:
          type: string
      required:
        - id
        - workspaceId
        - brand
        - brandDomain
        - countries
        - createdDate
        - updatedDate
      example:
        id: 01HXBR1DGM5XY8Z2N3KQ7VAW4P
        workspaceId: 01HX7K2YV9D3M8N0G6Q5R4S3T2
        brand: Adidas
        brandVariations:
          - adidas
          - Adidas AG
        brandDomain: adidas.com
        brandDomainVariations:
          - adidas.de
          - adidas.co.uk
        brandDomainWildcard: false
        countries:
          - us
          - de
          - uk
        competitors:
          - brand: Nike
            brandVariations:
              - nike
              - Nike Inc.
            brandDomain: nike.com
            brandDomainVariations:
              - nike.de
              - nike.co.uk
            brandDomainWildcard: false
        reportTitle: Adidas Visibility Report
        createdDate: '2024-11-01T12:00:00.000Z'
        updatedDate: '2025-05-01T08:30:00.000Z'
    PublicApiCursorPageInfo:
      type: object
      properties:
        nextCursor:
          type: string
          nullable: true
        hasMore:
          type: boolean
      required:
        - nextCursor
        - hasMore
      example:
        nextCursor: null
        hasMore: false
    PublicApiBrandCompetitor:
      type: object
      properties:
        brand:
          type: string
          description: Competitor brand name.
        brandVariations:
          type: array
          items:
            type: string
        brandDomain:
          type: string
        brandDomainVariations:
          type: array
          items:
            type: string
        brandDomainWildcard:
          type: boolean
      required:
        - brand
        - brandVariations
        - brandDomain
        - brandDomainVariations
        - brandDomainWildcard
      example:
        brand: Nike
        brandVariations:
          - nike
          - Nike Inc.
        brandDomain: nike.com
        brandDomainVariations:
          - nike.de
          - nike.co.uk
        brandDomainWildcard: false
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Provide your API key as a Bearer token: `Authorization: Bearer
        YOUR_API_KEY`.

````