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

# Brand visibility in AI answers, with counts and the previous period

> Every row returns numerators and their denominator (`answers`), so you can re-aggregate.

Visibility = named / answers. Named first = first / answers. Average position = positionSum / positionCount. Retrieved = retrieved / answers. Cited = cited / citable. Linked = linked / answers. Share of voice = mentions / the sum of mentions of every tracked brand in the same group (same period and dimensions); `mentions` counts every time the brand is named.

`answers` is per brand: an answer whose mention of that brand is `pending` (an ambiguous name waiting for verification) or `unverified` (verification failed) is not counted for that brand, in `answers` or `named`, so brands can have different denominators. `recounting` counts answers not yet re-scanned after a brand change; they are not in `answers` either.

Retrieved: one of the brand’s pages is in the assistant’s source list (it read the page). Cited: the answer cites one of the brand’s pages inline. Linked: the answer text links to one of the brand’s pages. One answer can count in all three.

Gemini shows no inline citations, so `cited` never counts a Gemini answer and its denominator is `citable`: the answers from assistants that show inline citations (ChatGPT, Google AI Mode).

Dates are UTC days, inclusive. The default is the last 7 complete UTC days, ending yesterday; pass `endDate` for today, which is still being collected (see `coverage`). Non-branded prompts only, unless `filters.branded` says otherwise.

`comparison` compares only prompt × assistant pairs answered in both periods. Show a change only when its status is `comparable`.

Breaking down by `prompt` together with `date` or `week` needs `filters.promptIds` with 1 to 20 prompts.



## OpenAPI

````yaml https://api.seomator.com/openapi.json post /v1/projects/{id}/reports/brands
openapi: 3.1.0
info:
  title: SEOmator API
  version: 0.1.0
servers:
  - url: https://api.seomator.com
security: []
paths:
  /v1/projects/{id}/reports/brands:
    post:
      tags:
        - ai visibility
      summary: Brand visibility in AI answers, with counts and the previous period
      description: >-
        Every row returns numerators and their denominator (`answers`), so you
        can re-aggregate.


        Visibility = named / answers. Named first = first / answers. Average
        position = positionSum / positionCount. Retrieved = retrieved / answers.
        Cited = cited / citable. Linked = linked / answers. Share of voice =
        mentions / the sum of mentions of every tracked brand in the same group
        (same period and dimensions); `mentions` counts every time the brand is
        named.


        `answers` is per brand: an answer whose mention of that brand is
        `pending` (an ambiguous name waiting for verification) or `unverified`
        (verification failed) is not counted for that brand, in `answers` or
        `named`, so brands can have different denominators. `recounting` counts
        answers not yet re-scanned after a brand change; they are not in
        `answers` either.


        Retrieved: one of the brand’s pages is in the assistant’s source list
        (it read the page). Cited: the answer cites one of the brand’s pages
        inline. Linked: the answer text links to one of the brand’s pages. One
        answer can count in all three.


        Gemini shows no inline citations, so `cited` never counts a Gemini
        answer and its denominator is `citable`: the answers from assistants
        that show inline citations (ChatGPT, Google AI Mode).


        Dates are UTC days, inclusive. The default is the last 7 complete UTC
        days, ending yesterday; pass `endDate` for today, which is still being
        collected (see `coverage`). Non-branded prompts only, unless
        `filters.branded` says otherwise.


        `comparison` compares only prompt × assistant pairs answered in both
        periods. Show a change only when its status is `comparable`.


        Breaking down by `prompt` together with `date` or `week` needs
        `filters.promptIds` with 1 to 20 prompts.
      parameters:
        - schema:
            type: string
            description: Project id (proj_…) or slug (the domain with dots as dashes).
          required: true
          description: Project id (proj_…) or slug (the domain with dots as dashes).
          name: id
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                startDate:
                  type: string
                  format: date
                endDate:
                  type: string
                  format: date
                filters:
                  type: object
                  properties:
                    assistants:
                      type: array
                      items:
                        type: string
                        enum:
                          - chatgpt
                          - ai_mode
                          - gemini
                    topicIds:
                      type: array
                      items:
                        type: string
                        maxLength: 64
                      maxItems: 50
                    promptIds:
                      type: array
                      items:
                        type: string
                        maxLength: 64
                      maxItems: 200
                    intents:
                      type: array
                      items:
                        type: string
                        enum:
                          - informational
                          - commercial
                          - transactional
                    branded:
                      type: string
                      enum:
                        - non_branded
                        - branded
                        - all
                      default: non_branded
                  default:
                    branded: non_branded
                dimensions:
                  type: array
                  items:
                    type: string
                    enum:
                      - date
                      - week
                      - assistant
                      - topic
                      - prompt
                  maxItems: 3
                  default: []
                compare:
                  type: boolean
                  default: true
      responses:
        '200':
          description: Report
          content:
            application/json:
              schema:
                type: object
                properties:
                  period:
                    type: object
                    properties:
                      start:
                        type: string
                      end:
                        type: string
                    required:
                      - start
                      - end
                    additionalProperties: {}
                  previous:
                    type:
                      - object
                      - 'null'
                    properties:
                      start:
                        type: string
                      end:
                        type: string
                    required:
                      - start
                      - end
                    additionalProperties: {}
                  coverage:
                    type: object
                    properties:
                      current:
                        type: object
                        properties:
                          planned:
                            type:
                              - number
                              - 'null'
                          collected:
                            type:
                              - number
                              - 'null'
                          analyzed:
                            type:
                              - number
                              - 'null'
                        required:
                          - planned
                          - collected
                          - analyzed
                        additionalProperties: {}
                      previous:
                        type:
                          - object
                          - 'null'
                        properties:
                          planned:
                            type:
                              - number
                              - 'null'
                          collected:
                            type:
                              - number
                              - 'null'
                          analyzed:
                            type:
                              - number
                              - 'null'
                        required:
                          - planned
                          - collected
                          - analyzed
                        additionalProperties: {}
                    required:
                      - current
                      - previous
                    additionalProperties: {}
                  rows:
                    type: array
                    items:
                      type: object
                      properties:
                        answers:
                          type:
                            - number
                            - 'null'
                        named:
                          type:
                            - number
                            - 'null'
                        first:
                          type:
                            - number
                            - 'null'
                        mentions:
                          type:
                            - number
                            - 'null'
                        positionSum:
                          type:
                            - number
                            - 'null'
                        positionCount:
                          type:
                            - number
                            - 'null'
                        retrieved:
                          type:
                            - number
                            - 'null'
                        cited:
                          type:
                            - number
                            - 'null'
                        linked:
                          type:
                            - number
                            - 'null'
                        citable:
                          type:
                            - number
                            - 'null'
                        pending:
                          type:
                            - number
                            - 'null'
                        unverified:
                          type:
                            - number
                            - 'null'
                        recounting:
                          type:
                            - number
                            - 'null'
                        period:
                          type: string
                          enum:
                            - current
                            - previous
                        brandId:
                          type: string
                        brandName:
                          type: string
                        brandRole:
                          type: string
                          enum:
                            - own
                            - competitor
                        date:
                          type:
                            - string
                            - 'null'
                        week:
                          type:
                            - string
                            - 'null'
                        assistant:
                          type:
                            - string
                            - 'null'
                        topicId:
                          type:
                            - string
                            - 'null'
                        promptId:
                          type:
                            - string
                            - 'null'
                      required:
                        - answers
                        - named
                        - first
                        - mentions
                        - positionSum
                        - positionCount
                        - retrieved
                        - cited
                        - linked
                        - citable
                        - pending
                        - unverified
                        - recounting
                        - period
                        - brandId
                        - brandName
                        - brandRole
                        - date
                        - week
                        - assistant
                        - topicId
                        - promptId
                      additionalProperties: {}
                  comparison:
                    type:
                      - object
                      - 'null'
                    properties:
                      status:
                        type: string
                        enum:
                          - comparable
                          - incomplete
                          - scope_changed
                          - no_previous
                          - no_data
                      matchedPairs:
                        type: number
                      excludedAssistants:
                        type: array
                        items:
                          type: string
                        description: >-
                          Assistants left out of the comparison because under
                          90% of their planned answers were analyzed in one of
                          the periods
                      brands:
                        type: array
                        items:
                          type: object
                          properties:
                            brandId:
                              type: string
                            current:
                              type: object
                              properties:
                                answers:
                                  type:
                                    - number
                                    - 'null'
                                named:
                                  type:
                                    - number
                                    - 'null'
                                first:
                                  type:
                                    - number
                                    - 'null'
                                mentions:
                                  type:
                                    - number
                                    - 'null'
                                positionSum:
                                  type:
                                    - number
                                    - 'null'
                                positionCount:
                                  type:
                                    - number
                                    - 'null'
                                retrieved:
                                  type:
                                    - number
                                    - 'null'
                                cited:
                                  type:
                                    - number
                                    - 'null'
                                linked:
                                  type:
                                    - number
                                    - 'null'
                                citable:
                                  type:
                                    - number
                                    - 'null'
                                pending:
                                  type:
                                    - number
                                    - 'null'
                                unverified:
                                  type:
                                    - number
                                    - 'null'
                                recounting:
                                  type:
                                    - number
                                    - 'null'
                              required:
                                - answers
                                - named
                                - first
                                - mentions
                                - positionSum
                                - positionCount
                                - retrieved
                                - cited
                                - linked
                                - citable
                                - pending
                                - unverified
                                - recounting
                              additionalProperties: {}
                            previous:
                              type: object
                              properties:
                                answers:
                                  type:
                                    - number
                                    - 'null'
                                named:
                                  type:
                                    - number
                                    - 'null'
                                first:
                                  type:
                                    - number
                                    - 'null'
                                mentions:
                                  type:
                                    - number
                                    - 'null'
                                positionSum:
                                  type:
                                    - number
                                    - 'null'
                                positionCount:
                                  type:
                                    - number
                                    - 'null'
                                retrieved:
                                  type:
                                    - number
                                    - 'null'
                                cited:
                                  type:
                                    - number
                                    - 'null'
                                linked:
                                  type:
                                    - number
                                    - 'null'
                                citable:
                                  type:
                                    - number
                                    - 'null'
                                pending:
                                  type:
                                    - number
                                    - 'null'
                                unverified:
                                  type:
                                    - number
                                    - 'null'
                                recounting:
                                  type:
                                    - number
                                    - 'null'
                              required:
                                - answers
                                - named
                                - first
                                - mentions
                                - positionSum
                                - positionCount
                                - retrieved
                                - cited
                                - linked
                                - citable
                                - pending
                                - unverified
                                - recounting
                              additionalProperties: {}
                          required:
                            - brandId
                            - current
                            - previous
                          additionalProperties: {}
                    required:
                      - status
                      - matchedPairs
                      - excludedAssistants
                      - brands
                    additionalProperties: {}
                required:
                  - period
                  - previous
                  - coverage
                  - rows
                  - comparison
                additionalProperties: {}
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - bad_request
                - unauthorized
                - insufficient_credits
                - plan_limit
                - forbidden
                - not_found
                - conflict
                - rate_limit_exceeded
                - internal_server_error
                - service_unavailable
            message:
              type: string
            requestId:
              type: string
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````

## Related topics

- [Domains and pages the AI answers cite](https://docs.seomator.com/api-reference/ai-visibility/domains-and-pages-the-ai-answers-cite.md)
- [Insights: how often AI names your brand](https://docs.seomator.com/reports/insights.md)
- [How SEOmator measures AI visibility](https://docs.seomator.com/getting-started/how-it-works.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.