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

# List cited pages

> Pages the AI platforms cited while answering your prompts, most-cited first. Defaults to the worklist: pages not yet acted on. Pass `type=processed` or `type=archived` for the others. Covers the full history unless you narrow it with `startDate` and `endDate`; filter by `domain` substring to look at one site. `citations` counts only what falls inside the requested period. Coverage is not uniform across platforms: each engine cites at its own rate.



## OpenAPI

````yaml https://api.rankspot.ai/docs-json get /v1/ai-visibility/citations
openapi: 3.0.0
info:
  title: RankSpot Public API
  description: >-
    The RankSpot Public API gives you programmatic access to your workspace data
    — keywords, backlinks, competitors, planned actions, articles, and more.


    ## Authentication


    All endpoints require a Bearer API key in the `Authorization` header:


    ```

    Authorization: Bearer <your-api-key>

    ```


    Generate API keys from **Settings → API Keys** in the RankSpot dashboard.
    Each key is scoped to a single workspace.


    ## Pagination


    List endpoints return a consistent envelope:


    ```json

    {
      "data": {
        "total": 120,
        "offset": 0,
        "limit": 20,
        "count": 20,
        "items": [...]
      }
    }

    ```


    Use `offset` and `limit` query parameters to paginate. Default limit is
    **20**, maximum is **100**.


    ## Status codes


    | Code | Meaning |

    |------|---------|

    | 200  | Success |

    | 201  | Created |

    | 204  | No content (delete / unarchive) |

    | 400  | Validation error or business rule violation |

    | 401  | Missing or invalid API key |

    | 404  | Resource not found or belongs to another workspace |
  version: '1.0'
  contact: {}
servers:
  - url: https://api.rankspot.ai
    description: Production
security: []
tags:
  - name: AI Visibility
    description: >-
      How AI answer engines see your brand. Track prompts, read the answers
      ChatGPT, Perplexity and Google gave, and work through the pages they
      cited. Prompts are run on a daily schedule by RankSpot, so answers appear
      after the next run rather than on demand.
  - name: Articles
    description: >-
      AI-generated blog articles. Articles are created automatically when a
      `write_article` action is sent to generation — they cannot be created
      directly via the API.
  - name: Backlinks
    description: >-
      Backlinks discovered for your domain and your competitors' domains.
      Backlinks are auto-synced on a background interval and cannot be created
      via the API.
  - name: Categories
    description: Categories for organising actions and articles within your workspace.
  - name: Competitors
    description: >-
      Competitor domains tracked in your workspace. Once added, keywords and
      backlinks for each competitor are fetched asynchronously on a background
      sync interval.
  - name: Forum Opportunities
    description: >-
      Forum threads and community posts surfaced as potential link-building or
      engagement opportunities.
  - name: Keywords
    description: >-
      SEO keywords tracked in your workspace, enriched with search volume,
      competition, and AI-generated relevance scores.
  - name: People Also Ask
    description: >-
      "People also ask" questions discovered from search results for your
      tracked keywords.
  - name: Actions
    description: >-
      The SEO work planned for your workspace. Each action carries a `type`
      saying what kind of work it is and which target it points at — see `POST
      /v1/actions` for the full list. Only `write_article` can be turned into an
      article; the rest are a person's job. Create actions yourself or let
      RankSpot generate them.
  - name: Research
    description: >-
      Live lookups against the open web: a Google search and a page fetch. The
      only endpoints here that spend credits per call. Neither response reports
      what it cost — the charge is real, and your remaining balance is visible
      in the RankSpot dashboard. Returns 402 when the workspace is out of
      credits.
  - name: Search Console
    description: >-
      Google Search Console performance data — clicks, impressions, CTR, and
      average position for your connected property. Requires GSC to be connected
      from the RankSpot dashboard.
  - name: Workspace
    description: >-
      Who the workspace is: brand, domain, what the business does and who it
      sells to. Read this first — the rest of the API returns opportunities that
      only mean something in the context of a particular business.
paths:
  /v1/ai-visibility/citations:
    get:
      tags:
        - AI Visibility
      summary: List cited pages
      description: >-
        Pages the AI platforms cited while answering your prompts, most-cited
        first. Defaults to the worklist: pages not yet acted on. Pass
        `type=processed` or `type=archived` for the others. Covers the full
        history unless you narrow it with `startDate` and `endDate`; filter by
        `domain` substring to look at one site. `citations` counts only what
        falls inside the requested period. Coverage is not uniform across
        platforms: each engine cites at its own rate.
      operationId: AiCitationsController_findAll
      parameters:
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            maximum: 100
            default: 20
            type: number
        - name: startDate
          required: false
          in: query
          description: >-
            Inclusive start of the period, `YYYY-MM-DD` (UTC). Omit for no lower
            bound.
          schema:
            type: string
            example: '2026-07-01'
        - name: endDate
          required: false
          in: query
          description: >-
            Inclusive end of the period, `YYYY-MM-DD` (UTC). Omit for no upper
            bound.
          schema:
            type: string
            example: '2026-07-28'
        - name: domain
          required: false
          in: query
          description: >-
            Filter by domain substring, case-insensitive. `rankspot` matches
            `www.rankspot.ai` and `rankspot.co.uk`.
          schema:
            example: rankspot
            type: string
        - name: type
          required: false
          in: query
          description: >-
            new: the worklist, pages not yet acted on (default) | processed:
            pages marked as handled | archived: pages hidden from the worklist
          schema:
            default: new
            type: string
            enum:
              - new
              - processed
              - archived
        - name: sortBy
          required: false
          in: query
          schema:
            default: citations
            type: string
            enum:
              - citations
              - lastSeenAt
              - firstSeenAt
              - domain
        - name: sortOrder
          required: false
          in: query
          schema:
            default: desc
            type: string
            enum:
              - asc
              - desc
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: object
                    properties:
                      total:
                        type: number
                        example: 100
                      offset:
                        type: number
                        example: 0
                      limit:
                        type: number
                        example: 100
                      count:
                        type: number
                        example: 10
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/AiCitationDto'
      security:
        - bearer: []
components:
  schemas:
    AiCitationDto:
      type: object
      properties:
        id:
          type: string
          example: 3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20
        url:
          type: string
          example: https://rankspot.ai/blog/ai-seo-tools/
        domain:
          type: string
          example: rankspot.ai
        title:
          type: string
          nullable: true
          example: The 12 best AI SEO tools
          description: Title as the citing platform reported it.
        isOwnDomain:
          type: boolean
          example: true
          description: The page is on your own domain.
        status:
          allOf:
            - $ref: '#/components/schemas/ProcessedStatus'
        firstSeenAt:
          format: date-time
          type: string
          description: >-
            When this page was first and last cited, ever. Not clipped to the
            requested period.
        lastSeenAt:
          format: date-time
          type: string
        citations:
          type: number
          example: 14
          description: >-
            Responses in the period that cited this page. One response can cite
            a page at most once, so this is both the citation count and the
            number of answers behind it.
        platforms:
          type: array
          description: Platforms that cited this page in the period.
          items:
            $ref: '#/components/schemas/AiPlatform'
      required:
        - id
        - url
        - domain
        - title
        - isOwnDomain
        - status
        - firstSeenAt
        - lastSeenAt
        - citations
        - platforms
    ProcessedStatus:
      type: string
      enum:
        - new
        - processed
    AiPlatform:
      type: string
      enum:
        - chatgpt
        - perplexity
        - google_ai_overview
        - google_ai_mode
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````