Ahrefs AI visibility API

The AI visibility API from Ahrefs — 3 operation(s) for ai visibility.

Operations 6

GET /ai-responses AI Responses #
POST /ai-responses AI Responses #
GET /cited-pages Cited Pages #
POST /cited-pages Cited Pages #
GET /cited-domains Cited Domains #
POST /cited-domains Cited Domains #

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-ai-visibility-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-ai-visibility-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Brand Radar AI visibility API
  description: Brand radar.
  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/brand-radar
  description: Ahrefs Brand Radar
security:
- http:
  - read
tags:
- name: AI visibility
paths:
  /ai-responses:
    get:
      tags:
      - AI visibility
      summary: AI Responses
      description: '>Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing.'
      operationId: ai-responses
      parameters:
      - description: 'A comma-separated list of fields to return.


          - `country`

          - `data_source`

          - `last_updated`

          - `links` (10 units)

          - `question`

          - `response`

          - `search_queries`

          - `tags`

          - `volume` (10 units)'
        required: true
        explode: false
        schema:
          type: string
        name: select
        in: query
      - description: "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**cited_domain**: The domain of a page that was used to generate the response.  \ntype: domain\n\n**cited_domain_subdomains**: The domain of a page that was used to generate the response. Any subdomain of the given domain will also match.  \ntype: string\n\n**cited_url_exact**: The URL of a page that was used to generate the response.  \ntype: string\n\n**cited_url_prefix**: The URL of a page that was used to generate the response. Any URL that starts with this prefix will match.  \ntype: string\n\n**question**: The question asked by the user. Note: the `substring` and `isubstring` operators are not supported on this field; use `phrase_match` or `iphrase_match` instead.  \ntype: string\n\n**response** (10 units): The response from the model. Note: the `substring` and `isubstring` operators are not supported on this field; use `phrase_match` or `iphrase_match` instead.  \ntype: string\n\n**search_queries**: The search query used by the chatbot to find information for the response. Note: if `data_source` does not include `chatgpt` or `perplexity`, this field will always be empty.  \ntype: string\n\n**topic**: The topic of the query.  \ntype: string"
        required: false
        explode: false
        schema:
          type: string
        name: where
        in: query
      - description: The number of results to return.
        required: false
        explode: false
        schema:
          type: integer
          default: 1000
        name: limit
        in: query
      - description: The date to search for in YYYY-MM-DD format.
        required: false
        explode: false
        schema:
          type: string
          format: date
        name: date
        in: query
      - description: 'AI visibility reports are switching to AI adjusted volume. It better estimates demand for AI responses across chatbots and AI search surfaces. It is calculated by adjusting Google search volume for each AI platform’s estimated usage compared with Google. This param will be deprecated on August 31, 2026; all requests will use new AI adjusted volume.


          `ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.


          `keyword_volume` - Previous calculation. Uses Google search volume without AI platform adjustment. Available until August 31, 2026.'
        required: false
        explode: false
        schema:
          type: string
          enum:
          - ask_volume
          - keyword_volume
          default: ask_volume
        name: search_volume_type
        in: query
      - description: A comma-separated list of two-letter country codes (ISO 3166-1 alpha-2).
        required: false
        explode: false
        schema:
          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
          default: ''
        name: country
        in: query
      - description: A column to order the results by.
        required: false
        explode: false
        schema:
          type: string
          enum:
          - relevance
          - volume
          default: relevance
        name: order_by
        in: query
      - description: 'The ID of the report to use. If one is given, other parameters are taken from the report (brand, competitors, market, country, filters). If country or filters are provided, they override the ones in the report. You can find it in the URL of your Brand Radar report in Ahrefs: `https://app.ahrefs.com/brand-radar/reports/#report_id#/...`'
        required: false
        explode: false
        schema:
          type: string
        name: report_id
        in: query
      - description: The type of prompts to use. If not specified, both will be used. Custom prompts require a report_id to be provided.
        required: false
        explode: false
        schema:
          type: string
          enum:
          - ahrefs
          - custom
        name: prompts
        in: query
      - description: 'A comma-separated list of chatbot models. All models can be combined with each other. `claude` module supports only custom prompts.

          The `google_ai_overviews_keywords` and `google_ai_mode_keywords` models report AI Overviews / AI Mode visibility derived from Google search queries (keywords) rather than prompts.'
        required: true
        explode: false
        schema:
          type: string
          enum:
          - chatgpt
          - google_ai_overviews
          - google_ai_mode
          - gemini
          - perplexity
          - copilot
          - claude
          - grok
          - google_ai_overviews_keywords
          - google_ai_mode_keywords
          examples:
          - chatgpt,perplexity
        name: data_source
        in: query
      - description: A comma-separated list of the niche markets of your brands. Deprecated on 2026-05-18, this parameter will have no effect shortly after this date.
        required: false
        explode: false
        schema:
          type: string
          default: ''
        name: market
        in: query
      - description: A comma-separated list of competitors of your brands.
        required: false
        explode: false
        schema:
          type: string
          default: ''
        name: competitors
        in: query
      - description: A comma-separated list of brands to search for. At least one of brand, competitors, market or where should not be empty.
        required: false
        explode: false
        schema:
          type: string
          default: ''
        name: brand
        in: query
      - $ref: '#/components/parameters/output_json_php'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ai-responses'
            application/xml:
              schema:
                $ref: '#/components/schemas/ai-responses'
        '400':
          $ref: '#/components/responses/error_400'
        '401':
          $ref: '#/components/responses/error_401'
        '403':
          $ref: '#/components/responses/error_403'
        '429':
          $ref: '#/components/responses/error_429'
        '500':
          $ref: '#/components/responses/error_500'
    post:
      tags:
      - AI visibility
      summary: AI Responses
      description: '>Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing.'
      operationId: ai-responses
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              properties:
                brand_filter:
                  type: object
                  description: "A filter expression for your brand's visibility, mirroring the \"Your brand\" filter. `brand_name` matches whether a response mentions your brand: `\"mentioned\"` or `\"not_mentioned\"`. `page_status` matches how the AI used your pages: `\"cited\"` (the AI retrieved pages from your site and referenced them in the answer), `\"found_but_not_cited\"` (the AI retrieved pages from your site as potential sources but did not reference them in the final answer), or `\"not_found\"` (the AI did not retrieve any pages from your site). \nUses [filter syntax](https://docs.ahrefs.com/api/docs/filter-syntax) with the following restrictions: the only valid operator is `\"eq\"`; each field is one section: give a single value, or combine several values of the same field with `or`; join the `brand_name` and `page_status` sections with a top-level `and`/`or`. Selecting every value of a field is rejected, since it matches everything (omit the field instead)."
                  examples:
                  - and:
                    - field: brand_name
                      is:
                      - eq
                      - mentioned
                    - or:
                      - field: page_status
                        is:
                        - eq
                        - cited
                      - field: page_status
                        is:
                        - eq
                        - found_but_not_cited
                volume_range:
                  properties:
                    from:
                      type: integer
                    to:
                      type: integer
                  type: object
                  description: The volume range to filter by.
                select:
                  items:
                    type: string
                  type: array
                  description: 'A list of fields to return.


                    - `country`

                    - `data_source`

                    - `last_updated`

                    - `links` (10 units)

                    - `question`

                    - `response`

                    - `search_queries`

                    - `tags`

                    - `volume` (10 units)'
                  examples:
                  - - field_a
                    - field_b
                where:
                  type: object
                  description: "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**cited_domain**: The domain of a page that was used to generate the response.  \ntype: domain\n\n**cited_domain_subdomains**: The domain of a page that was used to generate the response. Any subdomain of the given domain will also match.  \ntype: string\n\n**cited_url_exact**: The URL of a page that was used to generate the response.  \ntype: string\n\n**cited_url_prefix**: The URL of a page that was used to generate the response. Any URL that starts with this prefix will match.  \ntype: string\n\n**question**: The question asked by the user. Note: the `substring` and `isubstring` operators are not supported on this field; use `phrase_match` or `iphrase_match` instead.  \ntype: string\n\n**response** (10 units): The response from the model. Note: the `substring` and `isubstring` operators are not supported on this field; use `phrase_match` or `iphrase_match` instead.  \ntype: string\n\n**search_queries**: The search query used by the chatbot to find information for the response. Note: if `data_source` does not include `chatgpt` or `perplexity`, this field will always be empty.  \ntype: string\n\n**topic**: The topic of the query.  \ntype: string"
                tags_filter:
                  type: object
                  description: 'A filter expression for prompt tags. Requires `report_id`. Uses [filter syntax](https://docs.ahrefs.com/api/docs/filter-syntax) with the following restrictions: the only valid field name is `"tag"`; the only valid operator are: `"eq"`, `"neq"`, `"substring"`, `"isubstring"`, `"phrase_match"`, `"iphrase_match"`, `"prefix"`, `"suffix"`, `"empty"`; maximum nesting depth of `and`, `or` is 2.'
                  examples:
                  - or:
                    - field: tag
                      is:
                      - eq
                      - branded
                    - field: tag
                      is:
                      - eq
                      - competitor
                limit:
                  type: integer
                  description: The number of results to return.
                  default: 1000
                date:
                  type: string
                  format: date
                  description: The date to search for in YYYY-MM-DD format.
                search_volume_type:
                  type: string
                  enum:
                  - ask_volume
                  - keyword_volume
                  description: 'AI visibility reports are switching to AI adjusted volume. It better estimates demand for AI responses across chatbots and AI search surfaces. It is calculated by adjusting Google search volume for each AI platform’s estimated usage compared with Google. This param will be deprecated on August 31, 2026; all requests will use new AI adjusted volume.


                    `ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.


                    `keyword_volume` - Previous calculation. Uses Google search volume without AI platform adjustment. Available until August 31, 2026.'
                  default: ask_volume
                country:
                  items:
                    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
                  type: array
                  description: A list of two-letter country codes (ISO 3166-1 alpha-2).
                  default: []
                order_by:
                  type: string
                  enum:
                  - relevance
                  - volume
                  description: A column to order the results by.
                  default: relevance
                report_id:
                  type: string
                  description: 'The ID of the report to use. If one is given, other parameters are taken from the report (brand, competitors, market, country, filters). If country or filters are provided, they override the ones in the report. You can find it in the URL of your Brand Radar report in Ahrefs: `https://app.ahrefs.com/brand-radar/reports/#report_id#/...`'
                prompts:
                  type: string
                  enum:
                  - ahrefs
                  - custom
                  description: The type of prompts to use. If not specified, both will be used. Custom prompts require a report_id to be provided.
                data_source:
                  items:
                    type: string
                    enum:
                    - chatgpt
                    - google_ai_overviews
                    - google_ai_mode
                    - gemini
                    - perplexity
                    - copilot
                    - claude
                    - grok
                    - google_ai_overviews_keywords
                    - google_ai_mode_keywords
                  type: array
                  description: 'A list of chatbot models. All models can be combined with each other. `claude` module supports only custom prompts.

                    The `google_ai_overviews_keywords` and `google_ai_mode_keywords` models report AI Overviews / AI Mode visibility derived from Google search queries (keywords) rather than prompts.'
                market:
                  items:
                    type: string
                    title: markets
                  type: array
                  minItems: 1
                  description: A list of the niche markets of your brands. Deprecated on 2026-05-18, this parameter will have no effect shortly after this date.
                competitors:
                  items:
                    $ref: '#/components/schemas/entity'
                  type: array
                  description: A list of competitor names and websites to search for.
                  default: []
                brands:
                  items:
                    $ref: '#/components/schemas/entity'
                  type: array
                  description: A list of brand names and websites to search for.
                  default: []
                output:
                  type: string
                  enum:
                  - json
                  - php
                  description: The output format.
              type: object
              required:
              - select
              - data_source
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ai-responses'
            application/xml:
              schema:
                $ref: '#/components/schemas/ai-responses'
        '400':
          $ref: '#/components/responses/error_400'
        '401':
          $ref: '#/components/responses/error_401'
        '403':
          $ref: '#/components/responses/error_403'
        '429':
          $ref: '#/components/responses/error_429'
        '500':
          $ref: '#/components/responses/error_500'
  /cited-pages:
    get:
      tags:
      - AI visibility
      summary: Cited Pages
      description: '>Requests to this endpoint consume API units based on the `prompts` parameter: requests returning only custom prompt data are free, while requests including Ahrefs prompt data follow standard API unit pricing.'
      operationId: cited-pages
      parameters:
      - description: 'A comma-separated list of fields to return.


          - `responses`

          - `url`'
        required: true
        explode: false
        schema:
          type: string
        name: select
        in: query
      - description: "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**cited_domain**: The domain of a page that was used to generate the response.  \ntype: domain\n\n**cited_domain_subdomains**: The domain of a page that was used to generate the response. Any subdomain of the given domain will also match.  \ntype: string\n\n**cited_url_exact**: The URL of a page that was used to generate the response.  \ntype: string\n\n**cited_url_prefix**: The URL of a page that was used to generate the response. Any URL that starts with this prefix will match.  \ntype: string\n\n**question**: The question asked by the user. Note: the `substring` and `isubstring` operators are not supported on this field; use `phrase_match` or `iphrase_match` instead.  \ntype: string\n\n**response** (10 units): The response from the model. Note: the `substring` and `isubstring` operators are not supported on this field; use `phrase_match` or `iphrase_match` instead.  \ntype: string\n\n**search_queries**: The search query used by the chatbot to find information for the response. Note: if `data_source` does not include `chatgpt` or `perplexity`, this field will always be empty.  \ntype: string\n\n**topic**: The topic of the query.  \ntype: string"
        required: false
        explode: false
        schema:
          type: string
        name: where
        in: query
      - description: The number of results to return.
        required: false
        explode: false
        schema:
          type: integer
          default: 1000
        name: limit
        in: query
      - description: The date to search for in YYYY-MM-DD format.
        required: false
        explode: false
        schema:
          type: string
          format: date
        name: date
        in: query
      - description: 'AI visibility reports are switching to AI adjusted volume. It better estimates demand for AI responses across chatbots and AI search surfaces. It is calculated by adjusting Google search volume for each AI platform’s estimated usage compared with Google. This param will be deprecated on August 31, 2026; all requests will use new AI adjusted volume.


          `ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.


          `keyword_volume` - Previous calculation. Uses Google search volume without AI platform adjustment. Available until August 31, 2026.'
        required: false
        explode: false
        schema:
          type: string
          enum:
          - ask_volume
          - keyword_volume
          default: ask_volume
        name: search_volume_type
        in: query
      - description: A comma-separated list of two-letter country codes (ISO 3166-1 alpha-2).
        required: false
        explode: false
        schema:
          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
       

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