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

# Get competitor

> One competitor's mention and citation rates, prompt coverage, citations by platform and top 5 cited pages. Requires `visibility:read`.



## OpenAPI

````yaml /openapi.yaml get /visibility/competitors/{competitor}
openapi: 3.1.0
info:
  title: AeoNut API
  version: '1.0'
  description: >
    Read your workspace's AI visibility, content map and content data. Every
    response is wrapped in

    `{code, messages, data}`. Rates are fractions between 0 and 1 unless a field
    says otherwise.
servers:
  - url: https://services.deepsmith.ai/core/api/external/v1
security:
  - bearerAuth: []
  - apiKeyHeader: []
tags:
  - name: Me
  - name: Workspace
  - name: AI visibility
  - name: Content map
  - name: Content
  - name: IQ
paths:
  /visibility/competitors/{competitor}:
    get:
      tags:
        - AI visibility
      summary: Get competitor
      description: >-
        One competitor's mention and citation rates, prompt coverage, citations
        by platform and top 5 cited pages. Requires `visibility:read`.
      parameters:
        - $ref: '#/components/parameters/CompetitorId'
        - $ref: '#/components/parameters/Range'
      responses:
        '200':
          description: Competitor overview
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Envelope'
                  - properties:
                      data:
                        type: object
                        properties:
                          range:
                            $ref: '#/components/schemas/RangeValue'
                          competitor:
                            $ref: '#/components/schemas/CompetitorBrief'
                          mention_rate:
                            $ref: '#/components/schemas/RateBlock'
                          citation_rate:
                            $ref: '#/components/schemas/RateBlock'
                          prompt_coverage:
                            type: object
                            description: >-
                              Prompts where the competitor appears, out of
                              `total` tracked prompts.
                            properties:
                              current:
                                type: integer
                              previous:
                                type: integer
                              total:
                                type: integer
                              delta:
                                type: integer
                          citation_rate_trend:
                            $ref: '#/components/schemas/Trend'
                          citations_by_platform:
                            type: array
                            items:
                              type: object
                              properties:
                                platform:
                                  $ref: '#/components/schemas/Platform'
                                snapshots:
                                  type: integer
                                citation_rate:
                                  type: number
                          top_cited_pages:
                            type: array
                            maxItems: 5
                            items:
                              allOf:
                                - $ref: '#/components/schemas/CitedPage'
                                - properties:
                                    competitor_name:
                                      type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    CompetitorId:
      name: competitor
      in: path
      required: true
      description: A competitor ID from `GET /visibility/setup`.
      schema:
        type: string
        format: uuid
    Range:
      name: range
      in: query
      description: >-
        The period to report on. The previous period of the same length is
        returned for comparison.
      schema:
        $ref: '#/components/schemas/RangeValue'
  schemas:
    Envelope:
      type: object
      properties:
        code:
          type: integer
          description: AeoNut status code
        messages:
          type: string
        data: {}
    RangeValue:
      type: string
      enum:
        - 7d
        - 30d
        - 90d
      default: 30d
    CompetitorBrief:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        domain:
          type: string
    RateBlock:
      type: object
      description: >-
        A rate for this period and the previous one, as fractions. A side is
        `null` when there is no data.
      properties:
        current:
          type:
            - number
            - 'null'
        previous:
          type:
            - number
            - 'null'
        delta:
          type:
            - number
            - 'null'
    Trend:
      type: array
      description: Daily values. Days without data are left out.
      items:
        type: object
        properties:
          date:
            type: string
            format: date
          value:
            type: number
    Platform:
      type: string
      enum:
        - chatgpt
        - google_ai_overview
        - perplexity
        - gemini
        - grok
        - claude
    CitedPage:
      type: object
      properties:
        url:
          type: string
          description: Normalized URL
        citations:
          type: integer
        citations_delta:
          type: integer
        citation_rate:
          type: number
        citation_rate_delta:
          type: number
        unique_prompts:
          type: integer
        unique_prompts_delta:
          type: integer
    Scope:
      type: string
      enum:
        - workspace:read
        - visibility:read
        - contentmap:read
        - content:read
        - iq:read
  responses:
    Unauthorized:
      description: Missing (`code` 4021), invalid, revoked or expired (`code` 4022) API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Envelope'
          example:
            code: 4022
            messages: Invalid, revoked or expired API key.
            data: null
    Forbidden:
      description: The key lacks a required scope
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Envelope'
              - properties:
                  data:
                    type: object
                    properties:
                      required:
                        type: array
                        items:
                          $ref: '#/components/schemas/Scope'
                      missing:
                        type: array
                        items:
                          $ref: '#/components/schemas/Scope'
          example:
            code: 4023
            messages: This API key does not have the scope required for this request.
            data:
              required:
                - visibility:read
              missing:
                - visibility:read
    NotFound:
      description: The resource doesn't exist in this workspace
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key: `Authorization: Bearer API Key Value`'
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-API-KEY

````

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