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

# Domains and pages the AI answers cite

> A source is a page the assistant retrieved (in its source list) or cited inline; a page only linked in the answer text is not a source. `appearances` counts each page once per answer. `answers` counts answers with the domain or page among their sources. `retrieved` counts answers that read it (divide by `answerTotal`); `cited` counts answers that cite it inline (divide by `citableTotal`: Gemini shows no inline citations). Citation position = `citationRankSum / citationRankCount`, 1 being cited first.

Pass `brandId` to list only that brand’s own pages (your pages or a competitor’s).



## OpenAPI

````yaml https://api.seomator.com/openapi.json post /v1/projects/{id}/reports/sources
openapi: 3.1.0
info:
  title: SEOmator API
  version: 0.1.0
servers:
  - url: https://api.seomator.com
security: []
paths:
  /v1/projects/{id}/reports/sources:
    post:
      tags:
        - ai visibility
      summary: Domains and pages the AI answers cite
      description: >-
        A source is a page the assistant retrieved (in its source list) or cited
        inline; a page only linked in the answer text is not a source.
        `appearances` counts each page once per answer. `answers` counts answers
        with the domain or page among their sources. `retrieved` counts answers
        that read it (divide by `answerTotal`); `cited` counts answers that cite
        it inline (divide by `citableTotal`: Gemini shows no inline citations).
        Citation position = `citationRankSum / citationRankCount`, 1 being cited
        first.


        Pass `brandId` to list only that brand’s own pages (your pages or a
        competitor’s).
      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
                groupBy:
                  type: string
                  enum:
                    - domain
                    - url
                    - domainType
                    - pageType
                  default: domain
                  description: >-
                    `domain` or `url` rows, or one row per type: `domainType`
                    (own, competitor, corporate, editorial, institutional, ugc,
                    reference, other, unclassified) or `pageType` (homepage,
                    category, product, listicle, comparison, profile,
                    alternative, discussion, how_to, article, review, other,
                    unclassified). Types are labelled automatically when a
                    source is first seen; own and competitor come from the
                    tracked brands’ domains
                domainTypes:
                  type: array
                  items:
                    type: string
                    enum:
                      - own
                      - competitor
                      - corporate
                      - editorial
                      - institutional
                      - ugc
                      - reference
                      - other
                      - unclassified
                  description: Only sources whose domain has one of these types
                pageTypes:
                  type: array
                  items:
                    type: string
                    enum:
                      - homepage
                      - category
                      - product
                      - listicle
                      - comparison
                      - profile
                      - alternative
                      - discussion
                      - how_to
                      - article
                      - review
                      - other
                      - unclassified
                  description: Only pages with one of these types
                role:
                  type: string
                  enum:
                    - sources
                    - links
                  description: >-
                    `sources` (default): pages in the source list, retrieved or
                    cited. `links`: pages linked in the answer text
                brandId:
                  type: string
                  maxLength: 64
                domains:
                  type: array
                  items:
                    type: string
                    maxLength: 2048
                  maxItems: 10
                  description: >-
                    Only pages of these domains (example.com). The answer totals
                    keep counting every answer in scope
                urls:
                  type: array
                  items:
                    type: string
                    maxLength: 2048
                  maxItems: 10
                  description: Only these pages
                dimension:
                  type: string
                  enum:
                    - date
                    - week
                    - assistant
                    - topic
                    - prompt
                  description: >-
                    Break each row down by date, week, assistant, topic or
                    prompt. Needs `domains` or `urls`; every row is returned,
                    without paging
                compare:
                  type: boolean
                  description: >-
                    Add each row’s counts in the previous period of the same
                    length (`previous`)
                order:
                  type: string
                  enum:
                    - top
                    - new
                    - trending
                    - losing
                  description: >-
                    `top` (default): most answers first, paged with `cursor`.
                    `new`: absent from the previous period. `trending` /
                    `losing`: largest rise / fall of the share of answers
                    against the previous period. Orders other than `top` return
                    one page and include `previous`
                limit:
                  type: integer
                  minimum: 1
                  maximum: 100
                  default: 25
                cursor:
                  type: string
                  description: nextCursor from the previous page, to read the next sources
      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: {}
                  previousPeriod:
                    type:
                      - object
                      - 'null'
                    properties:
                      start:
                        type: string
                      end:
                        type: string
                    required:
                      - start
                      - end
                    additionalProperties: {}
                  answerTotal:
                    type: number
                  citableTotal:
                    type: number
                    description: >-
                      Answers from assistants that show inline citations
                      (ChatGPT, Google AI Mode): the denominator of cited
                  previousAnswerTotal:
                    type:
                      - number
                      - 'null'
                  previousCitableTotal:
                    type:
                      - number
                      - 'null'
                  rowTotal:
                    type: number
                  nextCursor:
                    type:
                      - string
                      - 'null'
                  rows:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        domain:
                          type: string
                        title:
                          type:
                            - string
                            - 'null'
                          description: 'Page title (`groupBy: url`)'
                        publishedAt:
                          type:
                            - string
                            - 'null'
                          description: >-
                            When the page was published, as reported (`groupBy:
                            url`)
                        appearances:
                          type: number
                        answers:
                          type: number
                          description: >-
                            Answers whose sources include it (retrieved or
                            cited); with role `links`, answers that link it
                        retrieved:
                          type: number
                        cited:
                          type: number
                        linked:
                          type: number
                          description: Answers that link it in their text
                        citationRankSum:
                          type: number
                        citationRankCount:
                          type: number
                        ownerBrandId:
                          type:
                            - string
                            - 'null'
                        ownerRole:
                          type:
                            - string
                            - 'null'
                          enum:
                            - own
                            - competitor
                            - null
                        domainType:
                          type:
                            - string
                            - 'null'
                          enum:
                            - own
                            - competitor
                            - corporate
                            - editorial
                            - institutional
                            - ugc
                            - reference
                            - other
                            - unclassified
                            - null
                          description: 'Type of the domain (`groupBy: domain` or `url`)'
                        pageType:
                          type:
                            - string
                            - 'null'
                          enum:
                            - homepage
                            - category
                            - product
                            - listicle
                            - comparison
                            - profile
                            - alternative
                            - discussion
                            - how_to
                            - article
                            - review
                            - other
                            - unclassified
                            - null
                          description: 'Type of the page (`groupBy: url`)'
                        date:
                          type:
                            - string
                            - 'null'
                        week:
                          type:
                            - string
                            - 'null'
                        assistant:
                          type:
                            - string
                            - 'null'
                        topicId:
                          type:
                            - string
                            - 'null'
                        promptId:
                          type:
                            - string
                            - 'null'
                        previous:
                          type:
                            - object
                            - 'null'
                          properties:
                            answers:
                              type: number
                              description: >-
                                Answers whose sources include it (retrieved or
                                cited); with role `links`, answers that link it
                            retrieved:
                              type: number
                            cited:
                              type: number
                            linked:
                              type: number
                              description: Answers that link it in their text
                          required:
                            - answers
                            - retrieved
                            - cited
                            - linked
                          additionalProperties: {}
                          description: >-
                            The same counts in the previous period, with
                            `compare` or an order other than `top`
                        mentionedBrands:
                          type: array
                          items:
                            type: object
                            properties:
                              brandId:
                                type: string
                              answers:
                                type: number
                            required:
                              - brandId
                              - answers
                            additionalProperties: {}
                          description: >-
                            Tracked brands named in the answers that use this
                            source, most answers first (rows without
                            `dimension`)
                      required:
                        - key
                        - domain
                        - title
                        - publishedAt
                        - appearances
                        - answers
                        - retrieved
                        - cited
                        - linked
                        - citationRankSum
                        - citationRankCount
                        - ownerBrandId
                        - ownerRole
                        - domainType
                        - pageType
                        - date
                        - week
                        - assistant
                        - topicId
                        - promptId
                        - previous
                        - mentionedBrands
                      additionalProperties: {}
                required:
                  - period
                  - previousPeriod
                  - answerTotal
                  - citableTotal
                  - previousAnswerTotal
                  - previousCitableTotal
                  - rowTotal
                  - nextCursor
                  - rows
                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: the sites AI assistants read and cite](https://docs.seomator.com/reports/domains.md)
- [URLs: the pages AI assistants read and cite](https://docs.seomator.com/reports/urls.md)
- [Metrics: visibility, share of voice and citations](https://docs.seomator.com/reports/metrics.md)


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