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

# Run Ahrefs' free SEO tools (DR, backlinks, traffic, keywords, KD, SERP)

> Ahrefs' free SEO tools as JSON, without an Ahrefs account. `tool=authority&target=<domain>`: `domainRating`, `backlinks`, `referringDomains`, `dofollowBacklinksPercent`, `dofollowReferringDomainsPercent`. `tool=backlinks`: the same plus `topBacklinks` (`urlFrom`, `urlTo`, `title`, `anchor`, `textBefore`/`textAfter`, `domainRating`). `tool=traffic`: `organicTraffic`, `trafficValueUsd`, `trafficHistory`, `topPages`, `topCountries`, `topKeywords` (`country` narrows it to one market). `tool=broken-links`: `inbound` broken backlinks and `outbound` broken links on the site's pages. `tool=keyword-difficulty&keyword=<phrase>`: `difficulty` (0-100), `referringDomainsToRank` and the SERP `results`. `tool=keywords`: `ideas` and `questionIdeas` with `difficulty` and `volume` buckets, plus totals (Google). `tool=serp`: the top Google `results` (organic with `metrics` - DR, UR, backlinks, referring domains, traffic, value, keywords - plus AI overview, questions, shopping, local and news blocks). Domain tools take `mode` (subdomains, domain, prefix, exact). One call, one unit.



## OpenAPI

````yaml /api-reference/openapi.json post /seo/ahrefs
openapi: 3.1.0
info:
  title: ScrapeUnblocker API
  description: >-
    Public API for the ScrapeUnblocker proxy/anti-bot service. Authenticate
    every request with the `x-scrapeunblocker-key` header. Documented here:
    page-source extraction, Google SERP scraping, image fetch, and the dedicated
    plugin endpoints (search engines, marketplaces, reviews, travel, social and
    more). All other paths exist for internal operations and are intentionally
    hidden from this spec.
  version: 3.0.0
servers:
  - url: https://api.scrapeunblocker.com
    description: Production
security: []
paths:
  /seo/ahrefs:
    post:
      tags:
        - Plugins
      summary: Run Ahrefs' free SEO tools (DR, backlinks, traffic, keywords, KD, SERP)
      description: >-
        Ahrefs' free SEO tools as JSON, without an Ahrefs account.
        `tool=authority&target=<domain>`: `domainRating`, `backlinks`,
        `referringDomains`, `dofollowBacklinksPercent`,
        `dofollowReferringDomainsPercent`. `tool=backlinks`: the same plus
        `topBacklinks` (`urlFrom`, `urlTo`, `title`, `anchor`,
        `textBefore`/`textAfter`, `domainRating`). `tool=traffic`:
        `organicTraffic`, `trafficValueUsd`, `trafficHistory`, `topPages`,
        `topCountries`, `topKeywords` (`country` narrows it to one market).
        `tool=broken-links`: `inbound` broken backlinks and `outbound` broken
        links on the site's pages. `tool=keyword-difficulty&keyword=<phrase>`:
        `difficulty` (0-100), `referringDomainsToRank` and the SERP `results`.
        `tool=keywords`: `ideas` and `questionIdeas` with `difficulty` and
        `volume` buckets, plus totals (Google). `tool=serp`: the top Google
        `results` (organic with `metrics` - DR, UR, backlinks, referring
        domains, traffic, value, keywords - plus AI overview, questions,
        shopping, local and news blocks). Domain tools take `mode` (subdomains,
        domain, prefix, exact). One call, one unit.
      operationId: ahrefs_tools_seo_ahrefs_post
      parameters:
        - name: tool
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Which Ahrefs free tool to run: 'authority' (Domain Rating),
              'backlinks', 'traffic', 'broken-links' (these take `target`),
              'keyword-difficulty', 'keywords' (keyword ideas), 'serp' (these
              take `keyword`).
            title: Tool
          description: >-
            Which Ahrefs free tool to run: 'authority' (Domain Rating),
            'backlinks', 'traffic', 'broken-links' (these take `target`),
            'keyword-difficulty', 'keywords' (keyword ideas), 'serp' (these take
            `keyword`).
        - name: target
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Domain or URL for the domain tools, e.g. 'github.com' or
              'https://github.com/features'.
            title: Target
          description: >-
            Domain or URL for the domain tools, e.g. 'github.com' or
            'https://github.com/features'.
        - name: keyword
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Search phrase for the keyword tools, e.g. 'running shoes'.
            title: Keyword
          description: Search phrase for the keyword tools, e.g. 'running shoes'.
        - name: country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Two-letter market code. Keyword tools: the search market (default
              'us'). traffic: limits the estimate to that country (default:
              worldwide). Not used by the other domain tools.
            title: Country
          description: >-
            Two-letter market code. Keyword tools: the search market (default
            'us'). traffic: limits the estimate to that country (default:
            worldwide). Not used by the other domain tools.
        - name: mode
          in: query
          required: false
          schema:
            type: string
            description: >-
              Target scope for the domain tools: 'subdomains' (the domain with
              all its subdomains), 'domain' (without subdomains), 'prefix'
              (everything under the URL) or 'exact' (that URL only).
            default: subdomains
            title: Mode
          description: >-
            Target scope for the domain tools: 'subdomains' (the domain with all
            its subdomains), 'domain' (without subdomains), 'prefix' (everything
            under the URL) or 'exact' (that URL only).
        - name: protocol
          in: query
          required: false
          schema:
            type: string
            description: 'traffic only: ''both'', ''http'' or ''https''.'
            default: both
            title: Protocol
          description: 'traffic only: ''both'', ''http'' or ''https''.'
        - name: questions
          in: query
          required: false
          schema:
            type: boolean
            description: 'keywords only: also return question ideas.'
            default: true
            title: Questions
          description: 'keywords only: also return question ideas.'
      responses:
        '200':
          description: >-
            JSON with `tool`, `query`, `found` and the tool's fields (`found:
            false`, with empty fields, when Ahrefs has no data for the target or
            keyword).
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid parameters, or Ahrefs rejected the target/keyword.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: >-
            Ahrefs refused every exit, its anti-bot check could not be passed,
            or it did not answer in time - retry.
      security:
        - ScrapeUnblockerKey: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ScrapeUnblockerKey:
      type: apiKey
      in: header
      name: x-scrapeunblocker-key
      description: Your ScrapeUnblocker API key. Apply on every request.

````

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