Ahrefs Management API

Project management.

Operations 22

GET /management/projects Projects #
POST /management/projects Projects #
DELETE /management/projects Projects #
PATCH /management/update-project Update Project #
GET /management/project-keywords Keywords #
PUT /management/project-keywords Keywords #
PUT /management/project-keywords-delete Delete Keywords #
PUT /management/project-keywords-tags Add Keywords Tags #
PUT /management/project-keywords-tags-delete Delete Keywords Tags #
GET /management/keyword-list-keywords Keywords list #
PUT /management/keyword-list-keywords Keywords list #
PUT /management/keyword-list-keywords-delete Keywords list #
GET /management/project-competitors Competitors #
POST /management/project-competitors Competitors #
POST /management/project-competitors-delete Delete competitors #
GET /management/locations Locations and languages #
GET /management/brand-radar-prompts Brand Radar prompts #
POST /management/brand-radar-prompts Brand Radar prompts #
PUT /management/brand-radar-prompts-delete Delete Brand Radar prompts #
GET /management/brand-radar-reports Brand Radar Reports #
POST /management/brand-radar-reports Brand Radar Reports #
PATCH /management/brand-radar-reports Brand Radar Reports #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ahrefs-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ahrefs-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ahrefs Management API
  description: Ahrefs API v3 gives programmatic access to Ahrefs' SEO, marketing, and AI-search data — backlinks, organic and paid traffic, keywords, SERPs, rank tracking, site audits, brand/AI-search visibility, web and social analytics, and account management. This is the full spec for every tool; each tool also has its own spec under /reference/.
  termsOfService: https://ahrefs.com/terms
  contact:
    name: Ahrefs
    url: https://ahrefs.com/
    email: support@ahrefs.com
  version: 3.0.0
servers:
- url: https://api.ahrefs.com/v3
  description: Ahrefs API v3
security:
- http:
  - read
tags:
- name: Management
  description: Project management.
paths:
  /management/projects:
    get:
      tags:
      - Management
      summary: Projects
      description: '>Requests to this endpoint are free and do not consume any API units.'
      operationId: management.projects
      parameters:
      - description: The access type of the project.
        required: false
        explode: false
        schema:
          type: string
          enum:
          - private
          - shared
        name: access
        in: query
      - description: The email of the project owner
        required: false
        explode: false
        schema:
          type: string
        name: owned_by
        in: query
      - description: 'The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`'
        required: false
        explode: false
        schema:
          type: integer
        name: project_id
        in: query
      - description: Has Rank Tracker keywords.
        required: false
        explode: false
        schema:
          type: boolean
        name: has_keywords
        in: query
      - $ref: '#/components/parameters/management.output'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/management.projects'
            application/xml:
              schema:
                $ref: '#/components/schemas/management.projects'
        '400':
          $ref: '#/components/responses/management.error_400'
        '401':
          $ref: '#/components/responses/management.error_401'
        '403':
          $ref: '#/components/responses/management.error_403'
        '429':
          $ref: '#/components/responses/management.error_429'
        '500':
          $ref: '#/components/responses/management.error_500'
    post:
      tags:
      - Management
      summary: Projects
      description: '>Requests to this endpoint are free and do not consume any API units.'
      operationId: management.projects.post
      parameters:
      - $ref: '#/components/parameters/management.output'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                access:
                  type: string
                  enum:
                  - private
                  - shared
                  description: The access type of the project.
                  default: private
                owned_by:
                  type: string
                  description: The email of the project owner. If not provided, the project is assigned to the Workspace owner.
                project_name:
                  type: string
                  description: The name of the project.
                mode:
                  type: string
                  enum:
                  - exact
                  - prefix
                  - domain
                  - subdomains
                  description: The scope of the target.
                url:
                  type: string
                  format: url
                  description: The URL of your target.
                protocol:
                  type: string
                  enum:
                  - both
                  - http
                  - https
                  description: The protocol of your target.
                folder_id:
                  type: integer
                  description: The folder id to assign to the project. You can find the id of a folder in `https://app.ahrefs.com/dashboard/folders/#folder_id#`.
              type: object
              required:
              - project_name
              - mode
              - url
              - protocol
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/management.projects'
            application/xml:
              schema:
                $ref: '#/components/schemas/management.projects'
        '400':
          $ref: '#/components/responses/management.error_400'
        '401':
          $ref: '#/components/responses/management.error_401'
        '403':
          $ref: '#/components/responses/management.error_403'
        '429':
          $ref: '#/components/responses/management.error_429'
        '500':
          $ref: '#/components/responses/management.error_500'
    delete:
      tags:
      - Management
      summary: Projects
      description: '>Requests to this endpoint are free and do not consume any API units.'
      operationId: management.projects.delete
      parameters:
      - description: A comma-separated list of the IDs of the projects you want to delete.
        required: true
        explode: false
        schema:
          type: string
        name: project_ids
        in: query
      - $ref: '#/components/parameters/management.output'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/management.projects'
            application/xml:
              schema:
                $ref: '#/components/schemas/management.projects'
        '400':
          $ref: '#/components/responses/management.error_400'
        '401':
          $ref: '#/components/responses/management.error_401'
        '403':
          $ref: '#/components/responses/management.error_403'
        '429':
          $ref: '#/components/responses/management.error_429'
        '500':
          $ref: '#/components/responses/management.error_500'
  /management/update-project:
    patch:
      tags:
      - Management
      summary: Update Project
      description: '>Requests to this endpoint are free and do not consume any API units.


        At least one of `access` or `folder` must be set.

        '
      operationId: management.update-project
      parameters:
      - $ref: '#/components/parameters/management.output'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                project_id:
                  type: integer
                  description: 'The ID of the project whose access setting you want to update. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`'
                folder:
                  oneOf:
                  - properties:
                      operation:
                        type: string
                        enum:
                        - remove
                    type: object
                    required:
                    - operation
                    title: remove
                    description: Remove project from its folder tree entirely.
                  - properties:
                      operation:
                        type: string
                        enum:
                        - move
                      folder_id:
                        type: integer
                        description: The folder id to move the project to. You can find the id of a folder in `https://app.ahrefs.com/dashboard/folders/#folder_id#`.
                    type: object
                    required:
                    - operation
                    - folder_id
                    title: move
                    description: Move a project to a folder.
                  description: 'A folder operation, applied before the access change.

                    Keep in mind that moving a project to another folder may make it visible to members of the destination folder.'
                  discriminator:
                    propertyName: operation
                access:
                  type: string
                  enum:
                  - private
                  - shared
                  description: The new access setting for the project.
              type: object
              required:
              - project_id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/management.update-project'
            application/xml:
              schema:
                $ref: '#/components/schemas/management.update-project'
        '400':
          $ref: '#/components/responses/management.error_400'
        '401':
          $ref: '#/components/responses/management.error_401'
        '403':
          $ref: '#/components/responses/management.error_403'
        '429':
          $ref: '#/components/responses/management.error_429'
        '500':
          $ref: '#/components/responses/management.error_500'
  /management/project-keywords:
    get:
      tags:
      - Management
      summary: Keywords
      description: '>Requests to this endpoint are free and do not consume any API units.'
      operationId: management.project-keywords
      parameters:
      - description: 'The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`'
        required: true
        explode: false
        schema:
          type: integer
        name: project_id
        in: query
      - $ref: '#/components/parameters/management.output_json_php_xml'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/management.project-keywords'
            application/xml:
              schema:
                $ref: '#/components/schemas/management.project-keywords'
        '400':
          $ref: '#/components/responses/management.error_400'
        '401':
          $ref: '#/components/responses/management.error_401'
        '403':
          $ref: '#/components/responses/management.error_403'
        '429':
          $ref: '#/components/responses/management.error_429'
        '500':
          $ref: '#/components/responses/management.error_500'
    put:
      tags:
      - Management
      summary: Keywords
      description: '>Requests to this endpoint are free and do not consume any API units.'
      operationId: management.project-keywords.put
      parameters:
      - description: 'The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`'
        required: true
        explode: false
        schema:
          type: integer
        name: project_id
        in: query
      - $ref: '#/components/parameters/management.output_json_php_xml'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                keywords:
                  items:
                    properties:
                      keyword:
                        type: string
                        description: The keyword to add.
                      tags:
                        items:
                          type: string
                        type: array
                        description: A list of tags to assign to a given keyword.
                    type: object
                    required:
                    - keyword
                  type: array
                  minItems: 1
                  description: A list of keywords to add.
                locations:
                  items:
                    properties:
                      country:
                        type: string
                        enum:
                        - ad
                        - ae
                        - af
                        - ag
                        - ai
                        - al
                        - am
                        - ao
                        - ar
                        - as
                        - at
                        - au
                        - aw
                        - az
                        - ba
                        - bb
                        - bd
                        - be
                        - bf
                        - bg
                        - bh
                        - bi
                        - bj
                        - bn
                        - bo
                        - br
                        - bs
                        - bt
                        - bw
                        - by
                        - bz
                        - ca
                        - cd
                        - cf
                        - cg
                        - ch
                        - ci
                        - ck
                        - cl
                        - cm
                        - cn
                        - co
                        - cr
                        - cu
                        - cv
                        - cy
                        - cz
                        - de
                        - dj
                        - dk
                        - dm
                        - do
                        - dz
                        - ec
                        - ee
                        - eg
                        - es
                        - et
                        - fi
                        - fj
                        - fm
                        - fo
                        - fr
                        - ga
                        - gb
                        - gd
                        - ge
                        - gf
                        - gg
                        - gh
                        - gi
                        - gl
                        - gm
                        - gn
                        - gp
                        - gq
                        - gr
                        - gt
                        - gu
                        - gy
                        - hk
                        - hn
                        - hr
                        - ht
                        - hu
                        - id
                        - ie
                        - il
                        - im
                        - in
                        - iq
                        - is
                        - it
                        - je
                        - jm
                        - jo
                        - jp
                        - ke
                        - kg
                        - kh
                        - ki
                        - kn
                        - kr
                        - kw
                        - ky
                        - kz
                        - la
                        - lb
                        - lc
                        - li
                        - lk
                        - ls
                        - lt
                        - lu
                        - lv
                        - ly
                        - ma
                        - mc
                        - md
                        - me
                        - mg
                        - mk
                        - ml
                        - mm
                        - mn
                        - mq
                        - mr
                        - ms
                        - mt
                        - mu
                        - mv
                        - mw
                        - mx
                        - my
                        - mz
                        - na
                        - nc
                        - ne
                        - ng
                        - ni
                        - nl
                        - 'no'
                        - np
                        - nr
                        - nu
                        - nz
                        - om
                        - pa
                        - pe
                        - pf
                        - pg
                        - ph
                        - pk
                        - pl
                        - pn
                        - pr
                        - ps
                        - pt
                        - py
                        - qa
                        - re
                        - ro
                        - rs
                        - ru
                        - rw
                        - sa
                        - sb
                        - sc
                        - se
                        - sg
                        - sh
                        - si
                        - sk
                        - sl
                        - sm
                        - sn
                        - so
                        - sr
                        - st
                        - sv
                        - td
                        - tg
                        - th
                        - tj
                        - tk
                        - tl
                        - tm
                        - tn
                        - to
                        - tr
                        - tt
                        - tw
                        - tz
                        - ua
                        - ug
                        - us
                        - uy
                        - uz
                        - vc
                        - ve
                        - vg
                        - vi
                        - vn
                        - vu
                        - ws
                        - ye
                        - yt
                        - za
                        - zm
                        - zw
                        description: A two-letter country code (ISO 3166-1 alpha-2).
                      location_id:
                        type: integer
                        description: The location ID.
                      language:
                        type: string
                        description: The location code.
                    type: object
                    required:
                    - country
                  type: array
                  minItems: 1
                  description: A list of locations to assign to given keywords. You can use the 'Locations and languages' endpoint to get country codes, language codes and location IDs.
              type: object
              required:
              - keywords
              - locations
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/management.project-keywords'
            application/xml:
              schema:
                $ref: '#/components/schemas/management.project-keywords'
        '400':
          $ref: '#/components/responses/management.error_400'
        '401':
          $ref: '#/components/responses/management.error_401'
        '403':
          $ref: '#/components/responses/management.error_403'
        '429':
          $ref: '#/components/responses/management.error_429'
        '500':
          $ref: '#/components/responses/management.error_500'
  /management/project-keywords-delete:
    put:
      tags:
      - Management
      summary: Delete Keywords
      description: '>Requests to this endpoint are free and do not consume any API units.'
      operationId: management.project-keywords-delete
      parameters:
      - description: 'The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`'
        required: true
        explode: false
        schema:
          type: integer
        name: project_id
        in: query
      - $ref: '#/components/parameters/management.output_json_php_xml'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                keywords:
                  items:
                    properties:
                      keyword:
                        type: string
                        description: The keyword to delete.
                      country:
                        type: string
                        enum:
                        - ad
                        - ae
                        - af
                        - ag
                        - ai
                        - al
                        - am
                        - ao
                        - ar
                        - as
                        - at
                        - au
                        - aw
                        - az
                        - ba
                        - bb
                        - bd
                        - be
                        - bf
                        - bg
                        - bh
                        - bi
                        - bj
                        - bn
                        - bo
                        - br
                        - bs
                        - bt
                        - bw
                        - by
                        - bz
                        - ca
                        - cd
                        - cf
                        - cg
                        - ch
                        - ci
                        - ck
                        - cl
                        - cm
                        - cn
                        - co
                        - cr
                        - cu
                        - cv
                        - cy
                        - cz
                        - de
                        - dj
                        - dk
                        - dm
                        - do
                        - dz
                        - ec
                        - ee
                        - eg
                        - es
                        - et
                        - fi
                        - fj
                        - fm
                        - fo
                        - fr
                        - ga
                        - gb
                        - gd
                        - ge
                        - gf
                        - gg
                        - gh
                        - gi
                        - gl
                        - gm
                        - gn
                        - gp
                        - gq
                        - gr
                        - gt
                        - gu
                        - gy
                        - hk
                        - hn
                        - hr
                        - ht
                        - hu
                        - id
                        - ie
                        - il
                        - im
                        - in
                        - iq
                        - is
                        - it
                        - je
                        - jm
                        - jo
                        - jp
                        - ke
                        - kg
                        - kh
                        - ki
                        - kn
                        - kr
                        - kw
                        - ky
                        - kz
                        - la
                        - lb
                        - lc
                        - li
                        - lk
                        - ls
                        - lt
                        - lu
                        - lv
                        - ly
                        - ma
                        - mc
                        - md
                        - me
                        - mg
                        - mk
                        - ml
                        - mm
                        - mn
                        - mq
                        - mr
                        - ms
                        - mt
                        - mu
                        - mv
                        - mw
                        - mx
                        - my
                        - mz
                        - na
                        - nc
                        - ne
                        - ng
                        - ni
                        - nl
                        - 'no'
                        - np
                        - nr
                        - nu
                        - nz
                        - om
                        - pa
                        - pe
                        - pf
                        - pg
                        - ph
                        - pk
                        - pl
                        - pn
                        - pr
                        - ps
                        - pt
                        - py
                        - qa
                        - re
                        - ro
                        - rs
                        - ru
                        - rw
                        - sa
                        - sb
                        - sc
                        - se
                        - sg
                        - sh
                        - si
                        - sk
                        - sl
                        - sm
                        - sn
                        - so
                        - sr
                        - st
                        - sv
                        - td
                        - tg
                        - th
                        - tj
                        - tk
                        - tl
                        - tm
                        - tn
                        - to
                        - tr
                        - tt
                        - tw
                        - tz
                        - ua
                        - ug
                        - us
                        - uy
                        - uz
                        - vc
                        - ve
                        - vg
                        - vi
                        - vn
                        - vu
                        - ws
                        - ye
                        - yt
                        - za
                        - zm
                        - zw
                        description: A two-letter country code (ISO 3166-1 alpha-2).
                      location_id:
                        type: integer
                        description: The location ID.
                      language:
                        type: string
                        description: The location code.
                    type: object
                    required:
                    - keyword
                  type: array
                  minItems: 1
                  description: A list of keywords to delete. You can use the 'Locations and languages' endpoint to get country codes, language codes and location IDs.
              type: object
              required:
              - keywords
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/management.project-keywords-delete'
            application/xml:
              schema:
                $ref: '#/components/schemas/management.project-keywords-delete'
        '400':
          $ref: '#/components/responses/management.error_400'
        '401':
          $ref: '#/components/responses/management.error_401'
        '403':
          $ref: '#/components/responses/management.error_403'
        '429':
          $ref: '#/components/responses/management.error_429'
        '500':
          $ref: '#/components/responses/management.error_500'
  /management/project-keywords-tags:
    put:
      tags:
      - Management
      summary: Add Keywords Tags
      description: '>Requests to this endpoint are free and do not consume any API units.'
      operationId: management.project-keywords-tags
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              properties:
                project_id:
                  type: integer
                  description: 'The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`'
                keywords:
                  items:
                    properties:
                      keyword:
                        type: string
                        description: The keyword to add.
                      country:
                        type: string
                        enum:
                        - ad
                        - ae
                        - af
                        - ag
                        - ai
                        - al
                        - am
                        - ao
                        - ar
                        - as
                        - at
                        - au
                        - aw
                        - az
                        - ba
                        - bb
                        - bd
                        - be
                        - bf
                        - bg
                        - bh
                        - bi
                        - bj
                        - bn
                        - bo
                        - br
                        - bs
                        - bt
                        - bw
                        - by
                        - bz
                        - ca
                        - cd
                        - cf
                        - cg
                        - ch
                        - ci
                        - ck
                        - cl
                        - cm
                        - cn
                        - co
                        - cr
                        - cu
                        - cv
                        - cy
                        - cz
                        - de
                        - dj
                        - dk
                        - dm
                        - do
                        - dz
                        - ec
                        - ee
                        - eg
                        - es
                        - et
                        - fi
                        - fj
                        - fm
                        - fo
                        - fr
                        - ga
                        - gb
                        - gd
                        - ge
                        - gf
                        - gg
                        - gh
                        - gi
                        - gl
                        - gm
                        - gn
                        - gp
                        - gq
                        - gr
                        - gt
                        - gu
                        - gy
                        - hk
                        - hn
                        - hr
                        - ht
                        - hu
                        - id
                        - ie
                        - il
                        - im
                        - in
                        - iq
                        - is
                        - it
                        - je
                        - jm
                        - jo
                        - jp
                        - ke
                        - kg
                        - kh
                        - ki
                        - kn
                        - kr
                        - kw
                        - ky
                        - kz
                        - la
                        - lb
                        - lc
                        - li
                        - lk
   

# --- truncated at 32 KB (104 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ahrefs/refs/heads/main/openapi/ahrefs-management-api-openapi.yml