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

> Returns a paginated list of backlinks. Use `type` to switch between competitor backlinks (default), your own backlinks, or archived ones. Combine `type=competitors` with `competitorId` to scope results to a single competitor. Filter by `domainFrom` substring to search for a specific linking domain.



## OpenAPI

````yaml https://api.rankspot.ai/docs-json get /v1/backlinks
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, content topics, 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: Articles
    description: >-
      AI-generated blog articles. Articles are created automatically when a
      topic 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 topics 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: Topics
    description: >-
      Content topic ideas that can be turned into articles. Create topics
      manually or let RankSpot generate them from your keyword clusters.
  - 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.
paths:
  /v1/backlinks:
    get:
      tags:
        - Backlinks
      summary: List backlinks
      description: >-
        Returns a paginated list of backlinks. Use `type` to switch between
        competitor backlinks (default), your own backlinks, or archived ones.
        Combine `type=competitors` with `competitorId` to scope results to a
        single competitor. Filter by `domainFrom` substring to search for a
        specific linking domain.
      operationId: BacklinksController_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: domainFrom
          required: false
          in: query
          description: Filter by domain_from substring
          schema:
            type: string
        - name: sortBy
          required: false
          in: query
          schema:
            default: domainFromRank
            type: string
            enum:
              - domainFromRank
              - firstSeen
              - backlinkSpamScore
        - name: sortOrder
          required: false
          in: query
          schema:
            default: desc
            type: string
            enum:
              - asc
              - desc
        - name: competitorId
          required: false
          in: query
          description: >-
            Filter by competitor ID (UUID). Only applies when type is
            "competitors".
          schema:
            type: string
        - name: type
          required: false
          in: query
          description: >-
            competitors: unprocessed competitor backlinks (default) | mine: own
            backlinks only | processed: processed backlinks | archived: archived
            backlinks
          schema:
            default: competitors
            type: string
            enum:
              - competitors
              - mine
              - processed
              - archived
      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/BacklinkDto'
      security:
        - bearer: []
components:
  schemas:
    BacklinkDto:
      type: object
      properties:
        id:
          type: string
          example: clx...
        domainFrom:
          type: string
          example: producthunt.com
        urlFrom:
          type: string
          example: https://www.producthunt.com/products/rankspot
        urlTo:
          type: string
          example: https://www.rankspot.ai/
        domainTo:
          type: string
          example: www.rankspot.ai
        rank:
          type: number
          example: 14
          nullable: true
        pageFromRank:
          type: number
          example: 29
          nullable: true
        domainFromRank:
          type: number
          example: 88
          nullable: true
        dofollow:
          type: boolean
          example: true
        backlinkSpamScore:
          type: number
          example: 0
          nullable: true
        anchor:
          type: string
          example: Visit website
          nullable: true
        firstSeen:
          type: string
          example: '2026-06-21T19:02:30.632Z'
          nullable: true
        attributes:
          example:
            - noopener
            - noreferrer
          type: array
          items:
            type: string
        competitorId:
          type: string
          example: clx...
          nullable: true
        status:
          type: string
          enum:
            - new
            - processed
          example: new
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - id
        - domainFrom
        - urlFrom
        - urlTo
        - domainTo
        - dofollow
        - attributes
        - status
        - createdAt
        - updatedAt
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````